Other Parts Discussed in Thread: HALCOGEN
我看到HalCoGen自动生成的代码中,初始化函数_c_int00执行了一些自检程序,有些地方会通过selftestFailNotification等回调汇报故障,因此希望能记录这些故障并向外报警。
我尝试在selftestFailNotification中把故障记录到全局变量中,等初始化完成再通信出来,但发现即使模拟触发了故障,回调被执行,main()开始时故障变量仍然会变为无故障的0值。
经过一番调试,发现pbistRun(0x00300020U, PBIST_March13N_SP)、memoryInit(0x1U)、__TI_auto_init()这三处都会修改全局变量区域的内存,导致之前自检记录的故障被清除。也就是main()开始前故障信息无法保存到内存中。
由于_c_int00中也没有执行SCI、CAN等外设的初始化和FEE库的初始化,所以好像也无法在main()之前把数据通信到外部或者记录到Flash。
想请问在设计上,selftestFailNotification等函数汇报的故障是否是可以记录的?应该怎么记录,从而可以在main()函数中对外通信报告这些自检故障?