Other Parts Discussed in Thread: UNIFLASH
Hi support:
按照论坛中的zeros boot设置成功以后,以前在开发板中的正常的ethercat从站应用,现在与主站twincat3通信时,在ccs处于debug模式下能正常进入op模式,但是当退出debug模式,也就是重新对开发板上电,twincat3会出现 0x001b'- sync manager watchdog的报错,进而 进入error safe op状态。
然后我又进行了如下实验:
对三块开发板中的两块设置了zero boot 模式,另一块不做设置(还是通过 GPIO84、72上拉启动),自己开发的两块板中的一块设置了zero boot 模式,另一块不做设置。所有设置zero boot 模式的板子均出现上述的通讯错误的现象。
我对英文论坛中的解释进行实验,没有起到作用。如下[FAQ] Flash - How to modify an application from RAM configuration to Flash configuration? - C2000 microcontrollers forum - C2000︎ microcontrollers - TI E2E support forums
3. If you still have issues running from flash in standalone mode (and if it works fine when debugger is connected):
(a) Please make sure that ECC is programmed correctly for the flash image (Make sure that AutoEccGeneration in CCS Flash Plugin GUI or UniFlash GUI is left enabled - this is the default option).
(b) Disable watchdog in the f28x_codestartbranch.asm (WD_DISABLE .set 0; should be replaced with WD_DISABLE .set 1; in this asm file). This helps to avoid watchdog reset before reaching main(). If there are lot of global variables in the application, the cinit routine may take more time to initialize all of them before reaching main. During this time, watchdog may expire and hence suggested to disable it. You can enable it again in the main() as needed by your application.
(c) Please make sure that f28x_codestartbranch.asm file is included in your application and that the codestart is mapped to the flash entry point location (generally defined as BEGIN in TI provided linker CMD files) in the linker cmd file.
(d) Please make sure that code_start (--entry_point=code_start) is added as the entry point in the project's linker options.
Project build settings -> Build -> C2000 Linker -> Advanced options -> Symbol Management -> --entry_point: code_start
Best regards,