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.
工具/软件:TI-RTOS
您好!
在某些情况下、我想使用 SysCtlReset 重置我的器件、但器件使用引导程序通过复位矢量进行以太网更新:
/*========================= Hwi 配置=================== // var halHwi = xdc.useModule('ti.sysbios.hal.Hwi'); var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi'); m3Hwi.resetVectorAddress = 0x00004000;
我的问题是 SysCtlReset 似乎不起作用。 我正在使用 XDS100v2调试器、但在未设置复位矢量的其他项目中、函数调用效果良好。
感谢你的帮助。
您好、
感谢你的答复。
我要调用 SysCtlReset 的第一种情况是我的器件丢失了其 IP 地址。 在多交换网络中,可以删除 DHCP 服务器。 当我在挂钩函数中丢失 IP 时、我可以检测到该事件。
void netIPAddressHook (IPN ipaddr、uint IfIdx、uint fAdd){ IPN IPTmp; 如果(fADD){ xdc_runtime_System_printf ("CustomHook:网络已添加:"); } 否则{ xdc_runtime_System_printf ("CustomHook Network Removed:"); System_printf ("复位设备\n");System_flush (); HWREG (NVIC_APINT)= NVIC_APINT_VECTKEY | NVIC_APINT_SYSRESETREQ; } //打印消息 IPTmp = ntohl (ipaddr); xdc_runtime_System_printf ("如果-%d:%d.%d.%d.%d\n"、IfIdx、 (uint8)(IPTmp>>24)&0xFF、(uint8)(IPTmp>16)&0xFF、 (uint8)(iptmp>>8)&0xFF、(uint8) iptmp&0xFF); system_flush(); }
如上所示。
关于引导加载程序、我将使用矢量表地址为0x4000的 dk-tm4c129器件示例代码中的标准 boot_emac_flash。
此行:
HWREG (NVIC_APINT)= NVIC_APINT_VECTKEY | NVIC_APINT_SYSRESETREQ;
来自 BOOT_EMAC_FLASH 示例代码。 正如我看到的、这一行将重置器件并启动自定义固件。 此行已替换为
SysCtlReset();