Eclipse搭建stm32+jlink开发环境全攻略
进阶篇(二)
我们设计程序往往会遇到这样的一个需求,那就是我们的程序起始位置需要重新定位,并不是默认的0x08000000,这种情况往往出现在有使用bootloader的情况中,0x08000000处往往存放我们的bootloader程序,然后0x08000000+N出存放我们的应用程序(APP)。那在MDK下这种情况很好解决,无非就是修改几个地址和大小变量。在eclipse中也同样简单。
比如现在,我使用的芯片为stm32f103rc,flash=256K,ram=48K,我需要把我的程序下载到0x08004000处,并且能够通过已经编译好的bootloader启动这个程序,根据前面的相关章节,我们可以知道:
1\首先我们编译的时候,需要将输出文件的起始地址定位为0x08004000
2\然后我们在下载的时候,我要将二进制文件烧写到flash中的0x08004000处
3\调试程序的时候我们也能够正确的将调试器定位到0x08004000处来正确的启动调试
我们一步一步来解决上面的三个地方。
1、修改编译地址:
这个地址应该叫做链接地址,在链接文件中
如图所示,我将FLASH的ORIGIN修改为0x08004000,因为我的bin文件需要链接到这个地址,那么flash的剩余空间也要跟着调整,0x4