3 software tool versions, 4 setup of the compiler project, Software tool versions – Maxim Integrated 71M6534 Energy Meter IC Family Software User Manual
Page 36: Setup of the compiler project
71M653X Software User’s Guide
Interrupts must start in the common (non-banked) area, because the bank register could have any value.
Calls via function pointers (e.g. “callback routines”) are supported, but need to be made global, and mapped to their
caller with the linker’s overlay functions. Keil’s linker often omits callback routines from the page table when it
optimizes the page table, and this causes incorrect operation.
Constant values have to be accessed from the same bank, or common code. When accessed from common code the
bank has to be switched manually with switchbank(), a subroutine in the bank logic.
4.9.3 Software Tool Versions
The development software used with these examples was Keil C version 8.03, with the BL51 linker (the Lx51 linker is
actually easier to use, but not shown). The Signum emulator software used was version 3.11.04.
4.9.4 Setup of the Compiler Project
This dialogue is for the project options of a 71M6531, which has 4 banks (see Figure 4-1).
Figure 4-1, Setup of Keil Compiler for bank-switched code
When opening individual files by right-clicking on the file names (after opening the group folders listed under “Target”) ,
file options can be edited. These options can be set to assign code to pages (as shown in Figure 4-2, ).
v1.1v1.1
TERIDIAN Proprietary
36 of 116
© Copyright 2005-2008 TERIDIAN Semiconductor Corporation