查看: 989|回复: 2

[求助] RFDM-K64F

[复制链接]

该用户从未签到

3

主题

6

帖子

0

注册会员

Rank: 2

积分
122
最后登录
2024-3-1
发表于 2020-8-19 15:51:51 | 显示全部楼层 |阅读模式
#VECTORNUM        (*(volatile uint8_t*)(0xE000ED04))
地址为什么是 0xE000ED04。
vPortStartFirstTask
        /* Use the NVIC offset register to locate the stack. */
        ldr r0, =0xE000ED08
这两个地址有什么联系?

最佳答案

0xE000E000 开始都是跟NVIC有关。 0xE000ED04 中断控制寄存器 0xE000ED08 #define SCS_BASE            (0xE000E000UL)           &n ...
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
19944
最后登录
2024-4-19
发表于 2020-8-19 18:08:42 | 显示全部楼层
0xE000E000 开始都是跟NVIC有关。
0xE000ED04 中断控制寄存器
0xE000ED08
#define SCS_BASE            (0xE000E000UL)                            /*!< System Control Space Base Address */
#define SCB_BASE            (SCS_BASE +  0x0D00UL)   
  __IOM uint32_t ICSR;                   /*!< Offset: 0x004 (R/W)  Interrupt Control and State Register */
  __IOM uint32_t VTOR;                   /*!< Offset: 0x008 (R/W)  Vector Table Offset Register */

从上面的代码可以看出 04是中断控制状态寄存器,08是中断向量表偏移地址寄存器。

详细的NVIC信息可以在core_cm4.h中找到。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

6

帖子

0

注册会员

Rank: 2

积分
122
最后登录
2024-3-1
 楼主| 发表于 2020-8-20 11:01:04 | 显示全部楼层
小恩GG 发表于 2020-8-19 18:08
0xE000E000 开始都是跟NVIC有关。
0xE000ED04 中断控制寄存器
0xE000ED08

好的,谢谢。你知道,k64移植FreeRTOS之后,会进入Hard fault exception 中断()一直)。重新上电后按下复位引脚会进入 A supervisor call exception中断(一次)。这是为什么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-20 07:38 , Processed in 0.145415 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表