各位专家:
《安全手册》将诊断 IOM3列为“始终启用”。 这意味着,在用户模式下写入数据对未实现位置的数据将导致 ESM 137。
令人困惑的是 ERR_ENABLE _REG (错误信号启用寄存器)的存在。 从描述来看,这不是指错误本身,而是指错误发生时调用的中断。 问题是,如果我想使用中断,我可以使用发出 ESM1.37信号时调用的 ESM 中断(如果启用)。
(Q1)此寄存器的用途是什么?我是否需要将错误信号转换为 ESM?
谢谢,致以诚挚的问候!
最大
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位专家:
《安全手册》将诊断 IOM3列为“始终启用”。 这意味着,在用户模式下写入数据对未实现位置的数据将导致 ESM 137。
令人困惑的是 ERR_ENABLE _REG (错误信号启用寄存器)的存在。 从描述来看,这不是指错误本身,而是指错误发生时调用的中断。 问题是,如果我想使用中断,我可以使用发出 ESM1.37信号时调用的 ESM 中断(如果启用)。
(Q1)此寄存器的用途是什么?我是否需要将错误信号转换为 ESM?
谢谢,致以诚挚的问候!
最大
您好,Max,
在用户模式下向 PINMMR 寄存器写入数据将生成 ESM 1.37错误,这是正确的。 但要生成 ESM 1.37, 应首先启用 ERR_ENABLE _REG。
示例代码:
//进入用户模式
ASM(" CPS #16");
ASM("莫夫 LR,r0");
ASM(" MRR R1,CPSR");
ASM(" MSR spsr_cxsf,R1");
/*启用插针式拳击*/
KickerRe-> KICKER0 = 0x83E70B13U;
KickerRe-> KICKER1 = 0x95A4F1E0U;
//启用地址和保护错误信号
iomm 勘误注册->ERR_ENABLE _REG = 0x3;
//在用户模式下将数据写入 pinmmr
PINMUxRe->PINMMMR7 = 0U;
/*禁用插针式拳击*/
KickerRe->KICKER0 = 0x0;
KickerRe->KICKER1 = 0x0;
将设置 ESM 1.37:故障地址为0x12C (pinmmr7寄存器偏移)
