This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LC4357: How to build for TMS570LC4357 on Linux?

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN, , RM48L952

I create the HAL with a HALCoGen project for a TMS570LC4357 device. This creates include dependencies from HALCoGen Flash API (C:\ti\Hercules\F021 Flash API\02.01.01).

HALCoGen and its includes and libraries are not available on Linux.

  • How do I remove that dependency on the Flash API, to be able to built on Linux.
  • Why is this dependency on the Flash API generated in first place? I can not remember to actively enable such a thing in HALCoGen.
  • Hello,

    If the FEE is enabled, the FEE (EEPROM) drivers are generated. The FEE driver uses F021 flash APIs for EEPROM erase/program etc operations. If you don't use FEE, please don't enable the "Enable FEE Driver" in HalCoGen "Driver Enable" window.

  • Ok, thanks for your fast response.

    However, we would also like to use FEE features when building with Linux. Is there an option to do so? The "F021 Flash API" only comes with Hercules or is there an option to get it on Linux? 

  • Hello,

    I don't know how to import F021 flash library to Linux. 

  • This creates include dependencies from HALCoGen Flash API (C:\ti\Hercules\F021 Flash API\02.01.01).

    HALCoGen and its includes and libraries are not available on Linux.

    I'm not aware of an installer for the Flash API for Linux.

    However, as the libraries are for ARM, rather than the native PC, you can just copy the C:\ti\Hercules\F021 Flash API directory on a Windows PC to the ~/ti/Hercules/F021 Flash API directory on a Linux PC.

    To set a CCS project which can be used under Windows and Linux performed the following steps in the project configuration:

    1. Under Resource -> Linked Resources add a path variable F021_ROOT with the value ${TI_PRODUCTS_DIR}/Hercules/F021 Flash API/02.01.01 :

    Where the ${TI_PRODUCTS_DIR} directory is C:\ti under Windows and ~/ti under Linux.

    2. Under the include paths add ${F021_ROOT}/include :

    3. Under libraries add the flash library file relative to ${F021_ROOT} :

    The above example was using a RM48L952 and so the ${F021_ROOT}/F021_API_CortexR4_LE_V3D16.lib library.

    For a TMS570LC4357 would use ${F021_ROOT}/F021_API_CortexR4_BE_L2FMC_v3D16.lib

    4. To create a CCS project which can used under Windows and Linux general rules:

    a. Use forward slash (/) as the path separator in the CCS project properties.

    b. Use the correct case in paths (since Linux is case sensitive but Windows isn't).

  • Hi, thanks for the suggestion. Is this covered by the license of CCS?

  • Since the flash API would have been obtained by installing HALCoGen it is the license of that tool (vs CCS) that is relevant.  Unfortunately, I am on a mac so I can't read the license out of the Windows installer.  I suspect that this is fine but someone from the TMS570/RM team would need to answer.

    John