Hi Charles, Yes, I am using the DCAN example and utility provided by TI in C2000Ware_5_04_00_00 . I am also using a PEAK CAN interface, but it is not the PEAK CAN PRO. After several iterations, I would like to update you on my findings: The first frame sent by the host application is the first word of the program file, but only when I connect the USB for the first time . After that, it never sends "0xAA, 0x08" again. Furthermore, the frame sent is always the same. I suspect the host application is waiting for an ACK before continuing with additional bytes. I compiled the dcan_flash_programmer with the #define kernel line commented out , allowing me to upload the kernel into RAM via CCS in a debug session . At this point, I observed that when the flash kernel sends test frames , the baud rate is exactly 1.25 times the value defined in #define CAN_CALC_BITRATE 1000000UL . To investigate further, I switched to Linux and created a Python script using SocketCAN to send messages at 125K , while setting CAN_CALC_BITRATE to 100K , and tested the setup again. However, the application failed after arround 10 CAN frames . I can see that a unique value is being written to memory at address 0x80000 . Previously, I tested a simple CAN application using the SysConfig tool , and it worked quickly . Now, I am considering creating an empty project and integrating the code from flash_kernel_ex5_can_flash_kernel . However, before proceeding, I need to fully understand how the output file is generated and why it might be failing. Any suggestions would be greatly appreciated. Thanks, Luciano.
↧