如何使用armcc为ARM Cortex M3创建没有硬件异常处理程序的映像

时间:2016-11-04 18:11:44

标签: build arm cortex-m3

基本上,我需要创建一个用户应用程序,可以称之为ARM Cortex M3的简单内核。 内核和用户应用程序现在是不同的uVision项目。 内核处理所有硬件异常(SVC,PendSV,Hardfault等)

用户应用程序位于使用startup.s文件的特定地址中,内核能够在其静态地址内启动此用户应用程序。

另一方面,用户应用程序的startup.s文件也包含硬件异常处理程序定义,但用户应用程序从不处理或不应处理hw异常。它应该在内核责任下。

是否可以禁用/忽略/避免项目或构建的HW异常处理? (构建用户应用程序时,只能知道代码,堆栈和数据部分地址。)

1 个答案:

答案 0 :(得分:0)

感谢您的回复。是的,正如您所建议的那样,当我从startup.s中删除向量表时,似乎工作正常。

另外,我还替换了主函数而不是Reset_Handler,我可以将main函数作为起点。 (内核已初始化整个系统) 第一个单词显示SP,第二个单词显示代码起始点(主要)

我的简单startup.s文件现在是

; Vector Table Mapped to Address 0 at Reset

                AREA    RESET, DATA, READONLY
                EXPORT  __Vectors
                IMPORT  __main

__Vectors       DCD     __initial_sp            ; Top of Stack
                DCD     __main                  ; Start Point

感谢。