刚从eBay拿起这些ARM Cortex-M3 LPC1768 mini boards中的一个 . 它基本上是一个突破板 .
但是,根据它附带的小文档,我应该注意 .
这两个文档(应用说明和电路板文档)都表明用户程序的构建应该是他们的 starting address is 0x2000 . 因为USB引导加载程序已经是0x0并占用8K .
这两个文档还显示了如何在Keil uVision中执行此操作的屏幕截图(请参阅应用说明的第14页),但我计划使用GNU工具链(Yagarto Eclipse OpenOCD) .
如何在使用GNU工具链进行编译时指定 starting address of 0x2000 ,以便它能够与USB引导程序一起正常工作?
1 回答
我有很多基于arm的例子:
https://github.com/dwelch67
查找或创建自己的链接描述文件 . 它可能已经说ORIGIN = 0x00000000为rom改为0x2000,例如:
你可能想要/需要一个.data
或类似的东西 . 取决于您的程序和启动代码以及所有这些 .
如果您已经有一个为0x00000000构建的工作系统,那么找到正在使用的linkerscript并复制它并将其更改为0x2000并指定该链接描述文件 .