Hi,
I m new to "RM46 " so not able to get RTI interrupt working.
I just enabled GIO and RTI drivers in Halcogen and configured RTI as directed below and generated code.
*********************************************************************************************************************************
/** @example example_rtiBlinky.c
* This is an example which descibes the steps to create an example application which
* toggles the High End Timer (HET) pin 1 based on an RTI timer compare 0 tick of one second.
*
* @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 RTI driver
* - Enable GIO driver
* - Disable others
*
* Navigate: -> TMS570LSxx /RM4 -> Enable Drivers
*
* @image html example_rtiBlinky_enableDrivers.jpg "Figure: Driver Configuration"
*
* @b Step @b 3:
*
* Configure Vectored Interrupt Module Channels:
* - Map VIM Channel 2 to RTI Compare 0 interrupt
* - Enable VIM Channel 2
* - Map VIM Channel 2 to IRQ
*
* Navigate: -> TMS570LSxx /RM4 -> VIM Channel 0-31
*
* @image html example_rtiBlinky_vimChannelView.jpg "Figure: VIM Channel Configuration"
*
* @b Step @b 4:
*
* Configure RTI compare 0 period to 1000 ms:
* - Enter 1000.000 to Compare 0 Period edit box
*
* Navigate: -> RTI -> RTI1 Compare
*
* @image html example_rtiBlinky_rti1CompareView.jpg "Figure: RTI Compare Configuration"
*
* @b Step @b 5:
*
* Generate code
*
* Navigate: -> File -> Generate Code
*
* @image html generateCode.jpg "Figure: Generate Code"
*
* @b Step @b 6:
*
* Copy source code below into your application.
*
* The example file example_rtiBlicky.c can also be found in the examples folder: ../HALCoGen/examples
*
* @note HALCoGen generates an enpty 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.
*
*/
here is my code:
#include "sys_common.h"
#include "system.h"
#include "sys_core.h"
/* USER CODE BEGIN (1) */
/* USER CODE END */
#include "rti.h"
#include "het.h"
#include "gio.h"
/** @fn void main(void)
* @brief Application main function
* @note This function is empty by default.
*
* This function is called after startup.
* The user can use this function to implement the application.
*/
/* USER CODE BEGIN (2) */
/* USER CODE END */
void main(void)
{
/* USER CODE BEGIN (3) */
/* Initialize RTI driver */
run_LED_StartUp();
rtiInit();
/* Set high end timer GIO port hetPort pin direction to all output */
gioSetDirection(hetPORT1, 0xFFFFFFFF);
/* Enable RTI Compare 0 interrupt notification */
rtiEnableNotification(rtiNOTIFICATION_COMPARE0);
/* Enable IRQ - Clear I flag in CPS register */
/* Note: This is usually done by the OS or in an svc dispatcher */
_enable_interrupt_();
/* Start RTI Counter Block 0 */
rtiStartCounter(rtiCOUNTER_BLOCK0);
/* Run forever */
while(1)
{
}
/* USER CODE END */
}
/* USER CODE BEGIN (4) */
/* Note-You need to remove rtiNotification from notification.c to avoid redefinition */
void rtiNotification(uint32 notification)
{
/* enter user code between the USER CODE BEGIN and USER CODE END. */
/* Toggle HET pin 0 */
gioSetPort(hetPORT1, gioGetPort(hetPORT1) ^ 0x00000001);
}
/* USER CODE END */
please help.
Neha