https://blog.csdn.net/tpoem/article/details/98372896
原文有一点错误
这个芯片是NXP公司出的很经典的一款Cortex-M3芯片了
虽然已经过了很多年了,但是依然还有很多地方在用着
这个芯片有一个很不方便的地方
它的64K内存不是连续的! USB和片上以太网MAC各用了16KB SRAM作为缓冲区
假如不使用USB或者不希望用这个宝贵的SRAM做MAC的缓冲区,这个32KB内存默认情况下都是没办法用的
网上大多都是KEIL环境下的修改教程
我司用的是IAR环境,所以我自己摸索出了一个办法可以使用那32K SRAM做普通的内存
首先,IAR工程设置选Cortex-M3
然后链接器这里修改成这样
然后勾上Override default,Edit...
然后进去看到这样的页面,接下来的重点就是利用这个模板修改出64K RAM的LPC1768
模板的路径:
堆栈就看项目情况设置
然后应该会要你保存这份新的链接文件
然后回到这里把它改回LPC1768
然后编译链接调试都可以正常执行,可以用满所有内存
定义后:
int val_addr @0x2007C000;
编译查看map文件
val_addr 0x2007'c000 0x4 Data Gb main.o [1]
成功了!