Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
您好!
我在函数 GPIOModuleEnable()的第一个"LDR"上得到了一个可靠的异常抛出、该函数从 ti\drv\gpio\src\v1gpio_v1.c.调用 当我的主应用程序初始化代码调用 GPIO_init()并且只有一个线程正在运行时,就会发生这种情况。 有关屏幕截图、请参阅随附的 word doc。 一旦我在所示的"Disassembly"视图中点击"Assembly step over"按钮、就会发生异常。
我在 SBL 代码中设置了以下启用项、在运行应用程序之前、该启用项始终从内部 RAM 中运行:
1. 通过调用 PRCMModuleEnable()启用每个 GPIO 模块;
2. 将 GPIO 时钟控制寄存器(例如 CM_WKUP_GPIO0_CLKCTRL)的第18位置位即可启用"可选功能时钟";
3. 从时钟分频器选择32kHz 作为 GPIO0去抖时钟(在 CM_DPLL_CLKSEL_GPIO0_DBCLK 中)。
LDR 指令的地址 看起来是合法 的--它只是尝试读取 GPIO0的 GPIO_CTRL 寄存器。 各种 GPIO 配置结构似乎正常。
与此同时,GPIOx 寄存器在调试器寄存器视图中读回刚刚好--这只是增加了混乱。
有人能告诉我这里发生了什么?
e2e.ti.com/.../GPIOModuleEnable_5F00_exception_5F00_170320.docx
谢谢、
Gerry
