c - MSP432 内存地址 0x40004c04
问题描述
我正在使用 MSP432 创建一个 RTOS 内核。这可能是一个加载的问题,但我的 PendSV 处理程序没有被调用。我使用内存地址 0xE000ED04 并且第一次围绕 0xE000ED04 的值是“E000 1000”,这会正确调用 PendSV 处理程序。第二次围绕内存地址 0xE000ED04 具有值“E80E 1000”。我读到这是不正确的,但我不知道如何解决这个问题。
if(OS_next != OS_curr){
// Pend a PendSV exception using by writing 1 to PENDSVSET at bit 28
*(uint32_t volatile *) 0xE000ED04 |= (0x1U << 28); //0x10000000; //
//asm("isb");
这是我用来触发 PendSV 的代码。我已经解决这个问题一个星期左右了。如果需要,我会提供额外的代码我只是不想让问题变得混乱。我也在使用优先级为 0U 的 Systick 计时器,并使用 NVIC_SetPriority(PendSV_IRQn, 0xFF) 设置 PendSV 优先级;。
另一个问题是,当我单步执行代码时,我得到这个“在地址“0x40004c04”处中断,没有可用的调试信息,或者在程序代码之外。”
现在地址“0x40004c04”是 P1_P1DIR、PA_PADIR 的地址,其值为 FF41。我试图搜索这个,但我找不到它,我不确定这是否是一个问题。我不认为这可能是一个问题,因为关于输出引脚。
我被困住了,我需要帮助,这应该是我的高级项目,我无法弄清楚。谢谢你们。我可以提供额外的代码。
解决方案
推荐阅读
- python - Pandas Dataframe:有没有办法在组内的循环中填充缺失值?
- python - DC-GAN:鉴别器损失上升,而生成器损失下降
- javascript - 在它应该停止之前
- r - 如何在我的数据框中选择具有逻辑运算符“<”(小于)的值,将它们除以二,然后将所有值转换为 as.numeric
- node.js - 在 Windows 上从 bash 运行我的 NodeJS 程序会写入大量空格并且光标会消失
- android - Android导航视图顶部有一排不会走
- reactjs - React 中的 Openlayers 弹出窗口 | 如何?
- jms - createQueueConnection 上的 ActiveMQ Artemis 块
- mongodb - 检查 MongoDB 突变是否会成功而不实际执行它
- html - 如何在 CSS 中定义输出长度并为按钮添加 2 个背景