User`s guide
Architecture
5-28 AT85C51SND3Bx Firmware User’s Guide
7691A–MP3–08/07
5.4 MMI Applications
MMI applications are source code executed under the control of the MMI manager kerel.
To achieve this control and to offer flexibility, they organized in modules, are based on a
template and are associated to IDs. This one can be use a services MMI which include a
usual code sequence to use provided by ATMEL.
5.4.1 Application IDs
Two kinds of 8-bit ID are associated to MMI applications:
Module ID
ID making statically reference to a MMI application, defined by the customer. It’s with
the help of this ID that a MMI application can be executed.
Process ID
ID dynamically linked to a MMI application at the time of its pushing in the stack and kept
until it is terminated by an action. This ID enables an application to know if the launched
application is still activated or placed at the top of the stack. As the process ID is unique
contrary to the module ID, several applications of the same type can run at the same
time without problem of identity usurpation.
5.4.2 Generic Modules
All MMI applications must integrate the following rules to keep the actual and new code
readable (“custom” is to replace with the functionality name of new MMI application to
develop):
Source code files
– named as “mmi_custom.c/h
– located in a new folder “mmi\custom”
– template available at location “mmi\_template”
Application module ID
– label definition with a unique value: #define MMI_APPLI_CUSTOM value
– located in “mmi\shared\com_appli.h”
– used to launch the application custom
Interface function with the MMI manager kernel
– prototype to declare in the common MMI application file
“mmi\shared\com_appli.h”: void custom_mmi_appli(U8 event, U16 param);
– definition to do in “mmi_custom.c”
– reference to integrate in the switch-case of the function “call_mmi_appli()” in the
file “mmi\shared\com_appli.c”
Internal processing of the interface function