LPC1768更改IROM地址,用KEIL生成不了正常的.bin文件,而是生成奇怪的.bin文件夹

最近做的一个远程升级项目,用的是LPC1768,为了实现升级的功能并将升级的固件文件下载到指定的Flash,需要更改IROM的开始地址和大小,在keil中的Option for Target中的Target选项卡中便可以对IROM的地址和大小做设置,设置之后编译生产的代码必须要下载到指定的Flash起始地址并满足设置的Flash大小才能让代码正常运行。

LPC1768更改IROM地址,用KEIL生成不了正常的.bin文件,而是生成奇怪的.bin文件夹_第1张图片

如图,IROM地址做了如上更改。

接下来我想用keil的fromel.exef工具生产bin文件,但生产的确实.bin的文件夹,而不是.bin文件,文件里面也是奇怪的文件,之所以这样是因为更改了IROM的地址的原因,每更改不会出现这种情况。

LPC1768更改IROM地址,用KEIL生成不了正常的.bin文件,而是生成奇怪的.bin文件夹_第2张图片

这样的.bin文件夹是使用不了的,度娘了很久,也找不到解决办法,LPC1768的内核是cotex-m3,跟LPC系列内核相同的STM32确不会出现这样的问题。

最近是在国外网站的论坛解决了这个问题:

在keil中的Option for Target中的Asm里的Define填上:NO_CRP便解决了。本人英文阅读不好,国外论坛说的原因也没太看明白,我猜的原因是加了NO_CRP这个宏应该是不要加密的意思,对于LPC系列芯片,由于更改了IROM的地址才会导致这样的现象。


很简单的一个问题,但由于我度娘了很久没发现类似的问题解决,因此记录下来。

你可能感兴趣的:(cotex-m3)