User`s guide
Code & Data Management
4-20 AT85C51SND3Bx Firmware User’s Guide
7691A–MP3–08/07
4.1.2.4 How store a file in a
bank ?
To store all routines from a C file in a bank , you must set a bank number in file options
in KEIL.
Figure 4-6. Banking a C file
Note: The bank #0 is not to be used, it is reserved for the proper working of the code load swap
mechanism. Indeed, it’s the MMI application “mmi_dummy” that takes up this bank
although the application does nothing. This configuration must not be modified.
If the constant code present in C file banked are used only in C file, then you can bank
the constant code in the same bank. Add the line “?CO?FILE_NAME” in the correspond-
ing bank field in player.lin file, e.g. :
BANK7(?CO?FAT_UNUSUAL(0xBE00),?CO?SETTING)
Note: It is not autorized to bank constant code if the file is not banked.
4.1.2.5 How store a routine
in bank ?
To store a routines in a bank, add the line “?PR?ROUTINE?FILE_NAME” in a bank field
in player.lin file, e.g. :
BANK7(...(0xBE00),?PR?NAV_FILE_RENAME?NAVIGATION)
4.1.2.6 Banking
organisation in
ATMEL firmware
The Atmel firmware stores in the same bank all modules which are used for the same
mode.
e.g. :
in BANK 2, there are the file mmi_player.c, srv_player.c, player.c which are call only in
player mode. The player_task.c isn’t banked because is call always by scheduler in all
modes.
All MMI and service files are stored in bank space excepted the MMI files low level
which are dedicated to translate hardware or system events in actions or informations to
the other MMI applications that are in charge to supervise the functional modes (Ex.:
mmi_status, mmi_info, …).
If a routines or modules don’t correponding at a specific mode but there are few call or
never call, then ATMEL firmware store this one in a bank.
e.g.:
BANK7(?CO?FAT_UNUSUAL(0xBE00),?PR?NAV_FILE_RENAME?NAVIGATION)