更改程序起始地址

时间:2017-05-20 11:33:43

标签: arm embedded mbed

我已经为keil uvision 5导出了mbed_blinky项目,我想为另一个板开发一个程序,所以我需要更改程序的起始地址。我在目标窗口的选项中更改IROM1中的开始但它不起作用。它必须在某个地方定义,但我无法找到它。有人可以帮忙吗?

我的目标是LPC1768

2 个答案:

答案 0 :(得分:1)

在uVision中,链接器脚本(或Keil引用它的分散文件)是从您尝试更改的目标设置生成的,或者可以在链接器选项卡上使用“分散文件”覆盖分散文件“; mbed导出可能不会生成uVision 目标选项卡兼容的分散文件,或者需要uVision基本目标对话框中不可用的设置,因此使用自定义分散文件。

linker tab上,检查是否选中“从目标对话框使用内存布局”。如果要使用“目标”选项卡设置,则必须选中它,否则将使用链接器选项卡上“分散文件”设置中的文件,您将需要编辑它,并检查链接器选项卡上的所有其他设置是否适合您的目标..

enter image description here

答案 1 :(得分:-1)

我在Eclipse / GCC中使用过mbed而对Keil不太熟悉。如果要更改目标板/微型计算机,最好从在线编译器或选择新目标的mbed-cli工具执行新的导出。起始地址只是必须为新目标更改的许多内容之一。编译新目标所需的文件都在mbed-os文件夹内的光盘上,但是当您导出原始项目时,它们有助于从项目项中排除不必要的文件。文件在光盘上,而不是Keil项目设置的一部分。您还必须在选项选项卡上编辑设备,并且C / C ++包含路径和编译器标志,因为它们与特定目标相关。然后,您需要为新目标找到正确的链接器文件和启动文件。同样,为新目标导出新项目更容易。