jani12
Advanced Member level 4
Our application is Advanced Drive Assist Systems(ADAS). Our Electronic Control Unit(ECU) contains Two Renesas RH850 / U2A16 Microcontrollers. Our Embedded Software Design is based on ETAS Autosar version 4.x RTOS. Two Renesas Microcontrollers communicate with each other over Renesas High Speed Serial Interface (RHSIF). Communication is full duplex. Each microcontroller has differential pair for transmit and differential pair for receive. One microcontroller is Master. Other microcontroller is Slave.
Basically, our embedded software organization is Application Software and Low-Level Software. Low-Level Software running in each microcontroller provides separate transmit (Tx) and receive (Rx) Buffers for the message data for RHSIF bus connected to the Microcontrollers. Application software provides low level software with number of bytes and transmit data to load in the transmit buffer. Low-Level SW checks the transmit status to ensure a transmission is not in progress before copying the data to transmit buffer..
The requirement from the Application SW is: Low-Level SW shall execute the data copy as an atomic operation (no interruption) so that an interrupt delay cannot result in partially updated data being transmitted.
Why atomic operation? Why not finish updating transmit buffer after interrupts are serviced?
Basically, our embedded software organization is Application Software and Low-Level Software. Low-Level Software running in each microcontroller provides separate transmit (Tx) and receive (Rx) Buffers for the message data for RHSIF bus connected to the Microcontrollers. Application software provides low level software with number of bytes and transmit data to load in the transmit buffer. Low-Level SW checks the transmit status to ensure a transmission is not in progress before copying the data to transmit buffer..
The requirement from the Application SW is: Low-Level SW shall execute the data copy as an atomic operation (no interruption) so that an interrupt delay cannot result in partially updated data being transmitted.
Why atomic operation? Why not finish updating transmit buffer after interrupts are serviced?