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.

[参考译文] TMS570LC4357:将 SYSESR 读取为 UART 和 GPREG1 功能

Guru**** 2696755 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1599397/tms570lc4357-reading-sysesr-to-uart-and-gpreg1-functionality

器件型号: TMS570LC4357

尊敬的专家:

我想将 SYSESR 寄存器读取到 main 中的 UART。  
但是、如果代码首次上传、我尝试过的所有其他复位传感器(下电上电 — POR、NRST 按钮 — EXRST) 会将寄存器设置为全 0、则 SYSESR 仅在 main 中显示调试器标志。

我认为_memInit_();重置 RAM 中的任何寄存器、因此 SYSESR 可能会在 case 语句中的 hl_sys_startup.c 中被覆盖。 而 将寄存器复制到变量不起作用、因为它会被覆盖为 0。

我已经尝试在“rstSrc = getResetSource ();“调用之前复制 SYSESR 寄存器,并将其作为全局变量传递给 main。 将 SYSESR 复制到 RAM 中会被覆盖。  


我还尝试使用 GPREG1、它是一个通用寄存器、它有效、不会覆盖写入并输出到 main。 不过、如参考手册中所述、这似乎是用于其他目的的寄存器。 是否允许使用该寄存器存储 SYSESR 值?

此致、

Abdullah