This post describes the InterProcess(function, software component) Interface Variables, the CPU CORE-to-CORE Interface Variables, and the Computer-to-Computer interface as information transfer interfaces. The Application Program Interface (API) is a function (process) and its results, which I will explain in another post.
InterProcess Interface Variables
Interprocess interface variables are variables used to exchange information between processes, such as functions and software components, as shown in the figure below. Such variables are often defined as static variables.
By using this variable, the output result of one process can be passed to another process and data can be shared between processes.

* | InterProcess: functions and software components |
** | Interface Variables should always be written in only one place. Writing to the same variable from multiple locations can cause unstable operation and bugs. When exchanging data with tasks or interrupt processes that have different priorities, it is necessary to ensure that other processes do not interrupt while writing variables. In such cases, use semaphores or mutexes to control exclusions (access restrictions) when writing. Supplementary explanation: Semaphores and mutexes are mechanisms that prevent multiple processes from accessing the same variable at the same time. Exclusive control” means “to allow only one process to safely handle a variable. |
CPU CORE-to-CORE Interface Variables
The CPU CORE-to-CORE interface variable is a variable used to exchange information between multiple CPU COREs as shown in the figure below. This variable is often defined as a static variable on the common RAM.
By using this variable, the results processed by one CPU core can be passed to another core and data can be shared among CPU COREs.

* | Interface Variables should always be written in only one place. Writing to the same variable from multiple locations can cause unstable operation and bugs. When exchanging data with tasks or interrupt processes that have different priorities, it is necessary to ensure that other processes do not interrupt while writing variables. In such cases, use a semaphore or other means to control exclusivity (access restriction) when writing. Supplementary explanation: Please note that CPU CORE-to-CORE interface variables cannot be exclusively controlled using mutexes (Mutex). |
Computer-to-Computer interface
The computer-to-computer interface is primarily communication, as shown in the figure below. In communication, the sending computer sends data with an address or ID, and the receiving computer determines whether the data is addressed to it or not based on the address or ID, and then receives the data.
Using this communication, the results processed by one computer can be passed to another computer, and data can be shared between computers.
