我用的LPC2365+MDK3.20,片内flash256K,想把5~7扇区(0x5000~0x10000)作为非易失存储空间。<br />用MDK自己生成的sct:<br />LR_IROM1 0x00000000 0x00020000 ; load region size_region<br />{ <br /> ER_IROM1 0x00000000 0x00020000 <br /> { <br /> *.o (RESET, +First)<br /> *(InRoot$$Sections)<br /> .ANY (+RO)<br /> }<br /><br /> RW_IRAM1 0x40000000 0x00008000 ; RW data<br /> { <br /> .ANY (+RW +ZI)<br /> }<br />}<br />程序能跑,也不会飞的。<br />可是改做如下,很快就飞<br />LR_IROM1 0x00000000 0x00020000 ; load region size_region<br />{ <br /> ER_IROM1 0x00000000 0x00005000 <br /> { <br /> *.o (RESET, +First)<br /> *(InRoot$$Sections)<br /> }<br /><br /> ER_IROM2 0x00010000 0x00018000<br /> {<br /> .ANY (+RO)<br /> }<br /><br /> RW_IRAM1 0x40000000 0x00008000 ; RW data<br /> { <br /> .ANY (+RW +ZI)<br /> }<br />}<br />这么改后,编译时未提示空间不足,能完成编译并烧写的,带硬件仿真时也能进入main()。Option fot target里的IROM1 设置成Start 0x0,Size 0x20000,并勾上前面的勾,与IROM1,IROM2前都勾上,IROM1设置成Start 0x0,Size 0x5000,<br />IROM1设置成Start 0x10000,Size 0x18000。这2种设置都试了之后,分别编译并烧写,仿真时都是快速飞掉。为了实现我的想法,这个sct文件该怎么写? |
|