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.

TMS570 Safety Demo Software

Other Parts Discussed in Thread: HALCOGEN

I installed the CD that came along with the TMS570 MCU development kit. However I do not see the Safety demo software as mentioned in your Quick start guide.

i.e. Start-> All Programs -> Texas Instruments -> TMS570 Safety MCU Demos. How can I get them ??

 

-Raj

  • The TMS570 Safety MCU Demo software should be automatically installed when performing a 'Full Install' of the software that is provided on the DVD that comes with either the TMS570 USB Stick Kit or the TMS570 MDK. 

    You may also download and install the TMS570 Safety MCU Demos from the TMS570 web site:

    http://focus.ti.com/docs/toolsw/folders/print/tms570_safety_mcu_demos.html 

  • This link no longer works

  • Thank you for pointing out the broken link.  We have released a new version of the demo software for the Hercules Safety MCUs that can be downloaded here:

    http://www.ti.com/tool/hercules_safety_mcu_demos

  • Hello Anthony,

    At the moment I am trying to get started with TMDX570LS20SUSB. I have just repeated step by step the following example HERCULES-LED where you demonstrate project flow in HalCoGen and CCS. The only difference is so that I am using TMDX570LS20SUSB with TMS570LS20216SPGE microcontroller. I wish only to set NHET1. Problems appears during compilation after Run/Debug is executed. Screenshot of the CCS window is shown below:

      

    What could be the problem?

    The second problem is so that I can not find simple complete projects to download to the microcontroller without any modification. It would be easier for me to modify them later.

    Regards,

    Vitalij

  • I am not 100% sure why you are getting those error messages.  To try an resolve the errors, I would try to perform a 'clean' and then try to rebuild the CCS project.  To do this:

    1) In the CCS 'Edit Perspective' go to the 'Project' pull down menu and select 'Clean...'

    2) Then in the 'Project' pull down menu select 'Build All'

    Hopefully this resolves the errors you are getting.

    Regarding simple projects/examples for Hercules Safety MCUs, we have included some as part of the TI Resource Explorer in CCSv5.3.  There is a new 'Hercules Tools' area that has been added to the Resource Explorer that includes 3 simple example projects for the TMS570LS20x MCU that you are using.  To access the Resource Explorer

    1) In the CCS 'Edit Perspective' go to the 'View' pull down menu and select 'TI Resource Explorer'

    2) You will then see the TI Resource Explorer (similar to the image below).

    3) In the Resource Explorer select 'Examples'

    4) Navigate to the Hercules Tools area and select one of the examples for the 'TMS570LS20x/10x'

    5) The following prompts will walk you through the process of loading the examples into CCS.

  • No, the problem does not disappear after 'clean' is performed. The window Problems provides description of this problem. It is as follows: #20 identifier "hetPORT1" is undefined. In my opinion, this variable is not defined simply. Where and how can I do it?

    My CCS version is 5.2.100018. There are no examples for Hercules microcontrollers in the TI Resource Explorer. I see only examples for MSP430 microcontrollers.

    I have also general questions about HalCoGen. Does it perform initialization of the selected peripheral modules? If so, why this generetad initialization code is not visible in the sys_main.c file? It is also possible to initialize modules (for example, GIOA port pins) using direct register access in CCS without HalCoGen. Yes?

  • You are correct, there are no Hercules examples included in CCSv5.2.x.  This is something new in CCS5.3.  You can download the latest version of CCS from this web site:

    http://processors.wiki.ti.com/index.php/Download_CCS

    Once installed, if you are using the on board XDS100v2 JTAG emulator that is integrated into the TMS570 USB Stick or HDK, then select the 'XDS100 Free License' when you are prompted for a license type.  Then you will be able to access the examples. 

    I do see a problem with the 'hetPORT1' definition in your existing code.  You will need to replace 'hetPORT1' in your code with 'hetPORT'.  SInce the TMS570LS20x/10x only has a single N2HET module, so there was not a need to differentiate between 'PORT1' and 'PORT2' in the HALCoGen driver. 

    You will probably also need to call the 'gioInit()' function in your sys_main.c file.  I would put this in the 'USER CODE BEGIN (2)' section.  This will initialize the GIO peripheral module.

    You always do have the capability to setup the MCU using the configuration without using the HALCoGen drivers; however this will be a more difficult approach.

  • Thank you for information. I will install the latest version of CCS to access the examples.

    The working example project is attached. It runs normally now. But without notifications. If I add the notifications, errors appear again. The message says that these functions are already declared. They are declared in the file notification.c indeed.

    Is it necessary to handle interrupts in notifications? At the moment I am trying to establish UART communication (SCI2) with TX and RX interrupts. TMS570 interrupt handling is not completely clear. I expect some kind of IRQ routines for each interrupt source.

    6204.GIO.zip 

  • Hello Anthony,

    TX interrupt for SCI2 still does not work in my example project. The problem is described in the post SCI2 TX interrupt handling. I suppose that polling mode is used instead of interrupt mode for data transmission because function sciSend returns after last byte is placed to the TD register. The program does not enter the sciNotification function. NHET [0] LED should be turned ON from notification, but it remains OFF after all bytes are sent. What does this mean? Isn't TX_INT enabled?

    Does  _enable_IRQ (); enable all IRQs? Is it some kind of global interrupt enable bit for IRQs?

    I do not understand VIM channel designation too. You enable channel 13 for SCI2 RX interrupt in the HERCULES-SCIUART example. But HalCoGen and datasheet show that VIM channel 13 corresponds to LIN1 high but VIM channel 49 corresponds to LIN2 high. Which one is correct? My example does not function properly with neither of them.

    Best regards,

    Vitalij