TI Hercules RM42 Launchpad

Hot! Just arrived!

The Hercules RM42 Launchpad features a 100MHZ 32bit Dual ARM Cortex – R4 cores MCU designed for safety-critical applications.

The debugging part is a FT2322 + XC2C32A based XDS100V2 which provides a free CCS license.

Some ShortList Features:

  • 384kB Flash with ECC, 32kB RAM with ECC, 16kB flash with ECC for EEPROM emulation
  • 16ch 12-bit multi-buffered ADC
  • 19 pin programmable High-End Timer (N2HET)
  • Multi-buffered SPI,  LIN/SCI (UART),  eQEP – Enhanced Quadrature Encoder Pulse Module,  GIO pins

 

One great tool is the HALCoGen,  the driver generation tool for TI’s Hercules Microcontroller Family.

Here is an excerpt of  a example file from HALCoGen RM42x using 1 ADC on GP and 1 UART for display:

[code language=”cpp”]

/** @example example_adcDisplay.c
*   This is an example which describes the steps to create an example application which
*   configures ADC to start conversion ona GIO trigger and display it over an uart .
*   The digital value can be viewed on a pc terminal with the uart configures @ 9600
*   no parity ,2 stop bits.
*
*
*   @b Step @b 1:
*
*   Create a new project.
*
*   Navigate: -> File -> New -> Project
*
*   @image html example_createProject.JPG "Figure: Create a new Project"
*
*   @b Step @b 2:
*
*   Configure driver code generation:
*   – Enable GIO driver
*   – Enable SCI driver
*   – Enable ADC driver
*   – Disable others
*
*   Navigate: -> TMS570LSxx /RM4 -> Enable Drivers
*
*   @image html adcDisplay_enabledriver.JPG "Figure: SCI Enable Driver"
*
*
*   @b Step @b 3:
*
*   Navigate: -> TMS570LSxx /RM4 -> ADC
*
*   Configure ADC General :
*
*   @image html adcDisplay1.JPG "Figure: ADC General Configuration"
*
*
*   @b Step @b 4:
*
*   Configure ADC Group1 :
*
*   – Configure ADC Group 1 with "Hardware trigger" source as "GIOB0" at "Rising edge"
*   – Enable ADC1 Group 1 channel selection Pin 0 and Pin 1
*
*   @image html adcDisplay2.JPG "Figure: ADC Group Configuration"
*
*   @b Step @b 5:
*
*   Configure SCI:
*   – Configure SCI baudrate as 9600
*
*   Navigate: -> TMS570LSxx /RM4 -> ADC
*
*   @image html sci_uart1.JPG "Figure: SCI Configuration"
*
*   @b Step @b 6:
*
*   Copy the source code below into your sys_main.c or replace sys_main.c with this file.
*
*   The example file can also be found in the examples folder: ../HALCoGen/examples
*
*   @note HALCoGen generates an empty main function in sys_main.c,
*         please make sure that you link in the right main function or copy the source into the user code sections of this file.
*
*
*/

/* USER CODE BEGIN (0) */
/* USER CODE END */

/* Include Files */

#include "sys_common.h"
#include "system.h"

/* USER CODE BEGIN (1) */
#include "esm.h"
#include "adc.h"
#include "sci.h"
#include "gio.h"

#define  TSIZE1 12
uint8  TEXT1[TSIZE1]= {‘\r’,’\n’,’|’,’\t’,’C’,’H’,’.’,’I’,’D’,’=’,’0′,’x’};
#define  TSIZE2 9
uint8  TEXT2[TSIZE2]= {‘\t’,’V’,’A’,’L’,’U’,’E’,’=’,’0′,’x’};

adcData_t adc_data[2];
void sciDisplayText(sciBASE_t *sci, uint8 *text, uint32 length);
void sciDisplayData(sciBASE_t *sci, uint8 *text,uint32 length);
void wait(uint32 time);
/* USER CODE END */

…………………………………………

[/code]

Some Hercules RM42 Launchpad useful links:

Project Zero software files: http://processors.wiki.ti.com/index.php/Hercules_LaunchPad:_Project_0

Hercules LauncPad Wiki: http://processors.wiki.ti.com/index.php/Hercules_LaunchPad

Eagle Schematic (well done!): http://processors.wiki.ti.com/images/b/b0/Hercules_LaunchPad_SchLayout.zip

PDF Schematic (embest): http://processors.wiki.ti.com/images/7/79/Hercules_LaunchPad_Sch.pdf

HALCoGen for Hercules RM42 Launchpad: http://www.ti.com/tool/halcogen

Code Composer Studio: http://www.ti.com/tool/ccstudio

ARM Cortex R4 Reference: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0363e/index.html