繁体   English   中英

使用Keil Uvision 4模拟汇编代码(arm cortex m3)

[英]simulate assembly code (arm cortex m3) with keil uvision 4

我使用了本指南《 模拟ARM代码》 ,该指南展示了如何模拟汇编代码(arm 7 little endian),并且效果很好。 我只是将设备从arm 7 little endian更改为arm cortex m3,这些是错误:

Build target 'Target 1' 
assembling test.s...
linking...
sa.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
sa.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
Target not created

我相信问题是我的项目没有启动文件。如果是这种情况,我该如何解决?

Cortex-M系列使用与“经典ARM” 不同的异常模型 ,因此需要不同的启动。 我不确定Keil是如何工作的,但是也许尝试在代码的开头添加一个Reset_Handler标签。 您可能还需要添加带有矢量定义的启动文件。 使用他们应该提供的一些示例或使用新的项目向导(如果有)可能会更容易。

显然,main()函数的入口点以前已定义为'Reset_Handler'函数,现在您的项目中没有该函数,因此链接器会抱怨。 这可能只是您问题的开始。

如果要将现有示例从ARM7架构移植到Cortex M3,则使用汇编器可能不是一个好主意,因为它们是非常不同的架构。

如果绝对必须这样做,那么至少要找到新架构的一些可行示例(不必做您需要做的事),然后从那里开始,以便拥有一个正常运行的启动文件,工具集项目文件。 ),并且总体而言已知良好的工作环境。 然后一步一步开始移植旧东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM