回复第 2 楼 wyskp于2009-02-01 03:19:48发表: 已解决。 KEIL 工程师给的方案: 利用输入段使用OVERLAY,而不是NOINIT. 指定单个变量不初始化: int print_time __attribute__ ((section ("ER_RSV"))); 指定文件内所以变量不被初始化: #pragma arm section code ="ER_RSV", rwdata = "ER_RSV" int abc; int systick; int sys_var1; #pragma arm section code, rwdata ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08000000 0x00020000 { ; load region size_region ER_IROM1 0x08000000 0x00020000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00004000 { ; RW data .ANY (+RW +ZI) } OVERLAY_RAM1 0x20004000 OVERLAY { *.o (ER_RSV) ;所有模块的指定段为"ER_RSV"的变量放这里 } } 我也遇到了跟楼主一样的问题,希望的到解决。 .\obj\V_OV7660_STM32.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. LR_IROM1 0x08000000 0x00010000 { ; load region size_region ER_IROM1 0x08000000 0x00010000 { ; load address = execution address *.o (Init, +First) //是这行错误,原来是(reset,+FIRST),现在这样也不行。要怎么解决。我的工程也是从IAR转来的。原来是IAR的工程。用的《STM32 IAR工程->Keil MDK转换详解》这篇文章里的那位仁兄的启动文件,现在只剩下这个错误。 *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00010000 { ; RW data .ANY (+RW +ZI) } } LR_IROM2 0x08010000 0x00010000 { ER_IROM2 0x08010000 0x00010000 { ; load address = execution address .ANY (+RO) } }
所在话题
参与活动
-
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
网络 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16 -
滴滴押注社区团购,明确“投入不设上限,要做市场第一”
线下 2020-10-16