Chapter 9 Separate ROMs
- 148 -
Here you change the section files (c_sec.inc, asm_sec.inc), and set addresses of programs you locate
in the application ROM. In this instance, the respective first addresses of the sections given below
must agree with each other between two applications. Also, you need to invariably locate the
MR_ROM section at the beginning of the application ROM. The sequence of other sections are free of
restrictions.
MR308's ROM data(MR_ROM section) C language I/F routine(MR_CIF section) Interrupt vector area(INTERRUPT_VECTOR section)
Settings of the section files are given below.
.section MR_ROM,ROMDATA ; MR308's ROM data
.org 0fe0000H ; The address common to two applications
.section MR_CIF,CODE ; C language I/F routine
.section app_prog,CODE ; Use Program
.section INTERRUPT_VECTOR ; Interrupt Vector
.org 0fefd00H ; The address common to two applications
The memory map turns to give below.(See Figure 9.2)
FE0000H
FF0000H
kernel ROM
(Internal ROM)
Startup
program
MR308 kernel
Task of ID=1
Fix Interrupt
vector area
program section
(common program)
MR308’s ROM
data
Application ROM
(External ROM)
MR_ROM section
app_prog section
C language I/F routine
Interrupt vector area
Task4
Task3
Task2
INTERRUPT_VECTOR section
FIX_INTERRUPT_VECTOR section
MR_KERNEL section
Figure 9.2 Memory map
6. Executing the configurator cfg308.
7. Editing makefile.
You specify an argument for mr308tbl held in makefile. You specify the argument for two directories in
which each application is held.
An example is given here in which the directory /product/app1 is used for application 1 is and the di-
rectory /product/app2 is used for application 2.