]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_M4F_M0_LPC43xx_Keil/abstract.txt
Add two Cortex-M4F demo applications.
[freertos] / Demo / CORTEX_M4F_M0_LPC43xx_Keil / abstract.txt
1 IPC demo program based on mailbox\r
2 -----------------------------------------\r
3 \r
4 - within the file platform_config.h the user needs to specify the system configuration. \r
5 \r
6 \r
7 The user can specifiy:\r
8 \r
9 * which mailboxes are required (host, slave, or both)\r
10 \r
11 * if the M0 memory has to be initialized to a specific value before download\r
12 \r
13 * the usage of an optional 32-bit parameter for the mailboxes\r
14 \r
15 * the availability of a callback function for the mailboxes \r
16 \r
17 * the priority of the interrupt associated with the IPC communication\r
18 \r
19 * the memory locations of the M0 code/data, buffers for M0 and M4, location of the mailboxes\r
20         \r
21 * if the M4 shall download the M0 and start it via INITIALIZE_M0_IMAGE (YES/NO)\r
22 \r
23 The linker scatter file needs to be consistent with the provided ROM/RAM addresses in case of changes. \r
24 \r
25 Set it to NO if you want to debug the M0 application separately. \r
26 \r
27 Set to YES means the M4 will reset, download, and release the M0. In this case, the debug connection could be lost.\r
28 \r
29 For debugging, in this scenario the .ini file shall be modified, not to download the application but just to connect to the processor.\r
30 \r
31 \r
32 - according to the number of mailbox desired, if callbacks are enabled, the user has to provide a callback table within the Mx_usr_mbx_callbacks.c file. \r
33 \r
34 In Mx_usr_mbx_callbacks.h file the mailbox numbering is defined. Within the callback table, each callback gets associated to the related mailbox number.\r
35 \r
36 The order in the table is not important, since the callback function addresses are plugged-in at runtime by the IPC initialization routines. \r
37 \r
38 \r
39 - The mailbox table defined in ipc_buffer.c needs also to be updated accordingly to accomodate the desired number of mailboxes. There can be \r
40 \r
41 \r
42 - since the callbacks are executed within the ISR, their usage is meant for quick operations that need to be performed in reaction to the mailbox event\r
43 \r
44 For normal application processing, message pending flags are provided and shall rather be used, to avoid increasing unnecessarily interrupt latency\r
45 \r
46 \r
47 - the type of logical messages for the mailboxes are defined within the Mx_ipc_msg.h file \r
48 \r
49 \r
50 - the application runs completely from RAM and exchanges messages between the processors, showing how to post and read from the mailboxes.\r
51 \r
52 \r
53