查看: 3480|回复: 2

[求助] RFDM-K64F

[复制链接]

该用户从未签到

3

主题

6

帖子

0

注册会员

Rank: 2

积分
124
最后登录
2024-8-8
发表于 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 ...
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25481
最后登录
2025-9-9
发表于 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

积分
124
最后登录
2024-8-8
 楼主| 发表于 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中断(一次)。这是为什么?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-10 02:21 , Processed in 0.091303 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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