尊敬的兰先生
我仍然对.cinit 段感到困惑
.cinit 定义:显式初始化全局变量和静态变量的表。
 .cinit    0   000065d0   0000004c      
                 000065d0   00000018    UART_AUTO_Baud.obj (.cinit) 
                 000065e8   00000018    fault_handler.obj (.cinit) 
                 00006600   00000018    standard_interrupt.obj (.cinit) 
                 00006618   00000004    -孔-[填充= 0] 
 .bss      0   0001901c   000006cc    未初始化 
                 0001901c   0000020b    main.obj (.bss) 
                 00019227   00000001    UART.obj (.bss) 
                 00019228   00000100    main.obj (.bss:_xn_bins) 
                 00019328   00000080    main.obj (.bss:_program_area) 
                 000193a8   00000058    main.obj (.bss:_PMBus_DCDC_CONFIG) 
                 00019400   00000058    main.obj (.bss:_PMBus_DCDC_CONFIG_translated) 
                 00019458   0000004c    main.obj (.bss:_filter0_CP_PMBus_regs) 
                 000194a4   0000004c    main.obj (.bss:_filter0_PMBus_regs) 
                 000194f0   0000004c    main.obj (.bss:_filter0_start_up_PMBus_regs) 
                 0001953c   0000004c    main.obj (.bss:_filter1_PMBus_regs) 
                 00019588   00000034    main.obj (.bss:_adc_values) 
                 000195bc   00000034    main.obj (.bss:_adc_values_avg) 
                 000195f0   00000034    main.obj (.bss:_fiq_data) 
                 00019624   00000034    main.obj (.bss:_PMBus_buffer) 
                 00019658   00000030    main.obj (.bss:_PMBus_DCDC_CONFIG_NONPGED) 
                 00019688   00000030    main.obj (.bss:_PMBus_DCDC_CONFIG_Nonpged_translated) 
                 000196b8   00000020    UART_AUTO_Baud.obj (.bss) 
                 000196d8   00000008    FAULT_handler.obj (.bss) 
                 000196e0   00000008    standard_interrupt.obj (.bss) 
cinit 段中的自动初始化变量是 UART_AUTO_Baud.obj 、FAULT_handler.obj 和 standard_interrupt.obj 中的变量。
许多.C 文件中有许多全局变量和静态变量、 为什么 从上述三个 C 文件中选择自动初始化变量? 它们是否有任何特殊用途?
我们是否必须将此 自动初始化变量复制 到 load.asm 中的 RAM? 为什么?
祝你一切顺利
Lei
 
				 
		 
					