SPRAD51A December   2023  – April 2024 F29H850TU , F29H859TU-Q1 , TMS320F2800157 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28P659DK-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Programming Fundamentals
  6. 3ROM Bootloader and Hex Utility Usage
  7. 4DCAN Flash Kernel
    1. 4.1 Implementation
      1. 4.1.1 Custom Flash Bank and Sector Erase
      2. 4.1.2 Application Load
  8. 5MCAN Flash Kernel
    1. 5.1 Implementation
      1. 5.1.1 Custom Flash Bank and Sector Erase
      2. 5.1.2 Application Load
  9. 6Example Implementation
    1. 6.1 Device Setup
      1. 6.1.1 Flash Kernels
      2. 6.1.2 Hardware
    2. 6.2 Host Application: dcan_flash_programmer
      1. 6.2.1 Overview
      2. 6.2.2 Building and Running dcan_flash_programmer Using Visual Studio
      3. 6.2.3 Running dcan_flash_programmer for F28003x
      4. 6.2.4 Using the Project With DCAN Bootloader
      5. 6.2.5 Using the Project With CCS
    3. 6.3 Host Application: can_flash_programmer [MCAN]
      1. 6.3.1 Overview
      2. 6.3.2 Building and Running can_flash_programmer Using Visual Studio
      3. 6.3.3 Running can_flash_programmer for F28003x
      4. 6.3.4 Using the Project With MCAN Bootloader
      5. 6.3.5 Using the Project With CCS
    4. 6.4 Application Load: CPU2 Image
      1. 6.4.1 Combining Two Images (.txt)
  10. 7Troubleshooting
    1. 7.1 General
    2. 7.2 DCAN Boot
    3. 7.3 MCAN Boot
  11. 8References
  12. 9Revision History

DCAN Boot

Question: I am receiving DCAN Bus Errors after downloading the DCAN Kernel. What steps can be taken to resolve this?

Answer: Make sure that the DCAN Kernel file being transmitted has correct values for the DCAN bit timing settings. Bytes 3 and 4 of the text file must be replaced with the hex value calculated from the final result of the bit timing register value (CAN_CALC_BTRREG) in order of least significant byte followed by the most significant byte.

Question: For the F28P65x or F280015x device, I cannot download the application image following the download of the DCAN Flash kernel to RAM in DCAN boot mode, what should I do?

Answer: Make sure that the clock used in generation of the DCAN Flash kernel project is using the internal crystal oscillator known as INTOSC2 (device.h). At power-up, the device boot ROM is clocked from an on-chip 10MHz oscillator (INTOSC2). This value needs to be set as the primary internal clock source and is the default clock at reset.

Question: For the F28P65x device, I am able to download the application image following download of the DCAN Flash kernel to RAM in DCAN boot mode, but CPU2 is not able to execute its application. How can I resolve this?

Answer: CPU1's application image will have to set CPU2's selected banks, GSxRAM and give GPIO control to CPU2. CPU1 must then execute its application image before CPU2 executes its application image, otherwise, it can enter the illegal ISR section of memory. For more details on these items, consult the device-specific TRM [7].

Question: Example projects exist for F28003x, F28P65x, and F280015x, how can I adapt these to F20013x?

Answer: To implement your own version of an F280013x DCAN flash kernel is fairly straightforward. The changes required to adapt the existing F280015x DCAN flash kernel for the F280013x device are minimal. Listed below are the major changes required to port the project:

  • Copy the existing .projectspec file within C2000Ware (C2000Ware_x_xx_xx_xx > driverlib > f280015x > examples > flash>CCS>f280015x_flash_eex5_dcan_flash_kernel.projectspec
  • Change the name of the project
  • Change the filepaths that are specific to F280015x to the F280013x equivalent
    • Example: <file action="copy" path="../../../../../libraries/flash_api/f280015x/lib/FAPI_F280015x_EABI_v2.00.10.lib" targetDirectory="" /> should now become <file action="copy" path="../../../../../libraries/flash_api/f280013x/lib/FAPI_F280013x_EABI_v2.00.10.lib" targetDirectory="" />
  • Import the new .projectspec to CCS
  • Change any references to F280015x header files to the F280013x equivalent
    • Example: FlashTech_F280015x_C28x.h > FlashTech_F280013x_C28x.h
  • Verify that the proper GPIOs and boot modes are configured by the kernel