【问题标题】:simulate assembly code (arm cortex m3) with keil uvision 4用keil uvision 4模拟汇编代码(arm cortex m3)
【发布时间】:2013-03-17 22:50:39
【问题描述】:

我使用了本指南Simulating ARM code,它显示 如何模拟汇编代码(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

我认为问题在于我的项目没有一些启动文件。如果是这种情况,我该如何解决?

【问题讨论】:

    标签: assembly arm keil


    【解决方案1】:

    Cortex-M 系列使用来自“经典 ARM”的different exception model,因此需要不同的启动方式。我不确定 Keil 如何使用它,但可以尝试在代码开头添加 Reset_Handler 标签。您可能还需要添加带有矢量定义的启动文件。使用他们应该提供的一些示例或新项目向导(如果有的话)可能会更容易。

    【讨论】:

      【解决方案2】:

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

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

      如果您绝对必须这样做,那么至少为新架构找到一些工作示例(不必做您需要的事情),然后从那里开始以获得一个工作启动文件,工具集项目文件,以及通常已知的良好工作环境。然后一步一步开始移植旧的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-06
        • 2014-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-17
        • 2022-01-10
        相关资源
        最近更新 更多