Tool/software:
Hi,
I am currently working on trying to get the CAN flash kernel working for remote firmware updates using the P65x. I have successfully followed all of the steps in the CAN Flash Programming for C2000 Microcontrollers but unfortunately am unable to get the flash kernel working. I had a couple of points that I was unsure about during the process I want to clarify.
1. I used the sample dcan_flash_kernel_c28x_dual_ex5 project and modified the following line to my configuration inside of the flash kernel main
return DCAN_Boot(CAN_BOOT_ALT3, 0, 1, 25, 5, Application_Flash_Banks,
WE_Protection_A_Masks, WE_Protection_B_Masks, WE_Protection_OTP_Masks);
CAN_BOOT_ALT3 moves the CAN pins on the kernel to GPIO36 + GPIO37 which is what I use on my custom board. Please note I also have a 25MHz XTAL
In this Kernel setup, do the OTP regs need to be programmed on the device to also have this running? Inside of the P65x TRM, table 4-49 mentioned that a value of 0x62 should be programmed into the BOOT_DEF memory at Z1-OPT-BOOTDEF-LOW + Z2-OPT-BOOTDEF-HIGH. I did not program these as I want to verify that the kernel is running. Do I need to program these alongside building the kernel?
2. I remained on the default BOOT pins (GPIO84 + GPIO72) for getting this working. I currently have a toggle switch i am manually switching to get to and from FLASH + CAN Boot modes. Just confirming this is valid. I will eventually be changing to a setup similar found in SPRACN1 " C2000 Software Controlled Firmware Update" so this will be automatic.
3. I have confirmed my CAN line is good, I am not using the PEAK PCAN-USB Pro FD CAN bus Analyzer but am using the regular PCAN-USB. I assumed the API's are universal on PCAN so the kernel should still work? Not sure if this is valid or not.
I am able to program following the instruction in the CAN Flash Programming Guide where it tells me in verbose mode that the Kernel is loaded + Application is loaded for some sample blinky projects I made. However after resetting the device and moving back to flash boot my old program still remains in flash, meaning the kernel never gets loaded into RAM to clear FLASH banks 1-5.
Any information surrounding any of these questions would be appreciated!