请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS1224 主题中讨论的其他器件:HALCOGEN、
工具/软件:TI C/C++编译器
尊敬的 TI 专家:
我决定在这个论坛上发帖、因为我找不到发布 HALCoGen 问题的合适论坛。
HALCoGen 版本:04.07.01
我一直在分析为 TMS570LS1224生成的 HALCoGen 代码、尤其是 SYS_STARTUP 文件。
在检查上电复位条件时、最后一条"else"语句应涵盖 CPU 复位是由软件引起的情况。 人们会在这里看到一个"用户代码开始"块、但没有。 它仅在关闭"其他"后位于方括号后面。
以下是 我所指的代码部分:
/* CPU 自检完成导致的 CPU 复位*/ 否则、如果((stcREG->STCGSTAT & 0x1U)== 0x1U) { /*设置自检失败标志*/ if ((stcREG->STCGSTAT & 0x2U)== 0x2U) { /*调用 CPU 自检故障处理程序*/ cpuSelfTestFae(); } /*成功完成 CPU 自检*/ 其他 { /*清除 STC 全局状态标志*/ stcREG->STCGSTAT = 0x1U; /*在 CPU STC 完成后继续启动序列*/ fterSTC(); } } /*软件写入 CPU 复位位引起的 CPU 复位*/ 其他 { /*在此处添加自定义例程以处理软件导致 CPU 复位的情况*/ } /*用户代码开始(21)*/* 用户代码结束*/ } /*SAFETYMCUSW 139 S MR:13.7 "硬件状态位读取检查"*/ 否则((SYS_EXception & SW_RESET)!= 0U) { /*由于软件复位导致的复位。 添加用户代码以处理软件复位。 *
我的假定是"/*用户代码 begin (21)*/应该位于其上面的"else"语句中,否则在从 HALCoGen 生成代码时,任何用户编写的代码都将被删除。
感谢您花时间了解这一点!
此致、
米哈伊尔