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