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.

TMS320F280039C: C2000Ware questions

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

Dear Experts, 

could you please help to clarify below questions related to C2000Ware:

  1. Error Handling mechanism absent in stack.
    1. is ASSERT (Error handling) usable for production code.
  2. Is the stack tested for production? Any modifications required?
  3. Memory management: Some functions have input parameters that take 0 or 1 as input but the parameter type is U32. Is there a reason behind same? (Refer code snippet below)
  4. Most of the stack is implemented as static inline. What is the purpose? Is there a way to not use it in that way?
  5. Compiler specific Macros, EALLOW, ESTOP, Pragma packing (if any)

Thanks and best regards,

Gregor

  • Hi Gregor,

    1. ASSERT is primarily used for validating the parameter values, during the development time. The check is performed only if you have the predefined symbol "DEBUG" in the CCS project. This is added by default in most of the C2000Ware examples. You can turn off the check by removing the DEBUG symbol. 

    2. Can you provide some details on what kind of modifications?

    3. Yes, it could have been uint16_t instead (since C28x is 16 bit addressible core, uint8_t is not supported). I am not sure if there is a specific reason on why uint32_t was used instead of uint16_t. Same applies for variable pin as well. That too should be well within the range of uint16_t.  Are you facing any issues with uint32_t usage?

    4. This is for optimization. Most of the dirverlib functions are quite small, mostly includes setting 1 register. For better optimization, it is recommended to inline such functions to avoid the latency due to branching. For larger functions, this latency may not be significant. 

    By default, all examples are provided with optimization disabled (opt_level=off). To enable function inlining, opt_level should at least be set to 0. opt_level=off can be used for debugging, but we highly recommend you to enable optimization for the final application. 

    If you want to explicitly disable inlining, you can do that Advanced Optimization settings

    5. You can find details about all pragmas and intrinsics in this document - https://www.ti.com/lit/spru514

    Regards,

    Veena

  • Hi Veena, 

    thank you for your quick reply.

    On 2) I think the customer would like to understand, which quality level the C200Ware SW/drivers provide and whether it can be used as is in their products ?

    Thanks and best regards,

    Gregor

  • Yes, C2000Ware driverlib source is of production quality. We do provide other support files like Device_init, examples, linker command files which are mainly for reference and is expected to be updated as per the application need.

    Regards,

    Veena

  • Hi Veena, 

    thank you. Sorry for additional question, but since this is for an automotive customer (HEV/EV applications), I wanted to understand, if we are developing the C2000Ware driverlib source according to any specific standard e.g. ISO9001? 

    At TI I understand we have Baseline Quality, Automotive Quality and Functional Safety Quality. Under which category would the C2000Ware driverlib fall ?

    Thanks and best regards,

    Gregor

  • Gregor,

    C2000Ware driverlib falls in Baseline Quality. 

    Best Regards

    Siddharth