 |
|
 |
RENESAS TOOL NEWS on October 1, 2007: 071001/tn3
| Real-Time OS M3T-MR30/4 Supports an Additional MCU Series |
The real-time OS for the M16C/60, M16C/30, M16C/20, M16C/10, and M16C/Tiny
MCU series--M3T-MR30/4 V.4.00 Release 00--has added the R8C/Tiny series of
MCUs to its support line.
1. MCUs Added to the Support Line
The members of the R8C/Tiny series
2. Procedures for Supporting the R8C/Tiny Series
2.1 Settings of the GUI Configurator and the Configuration Files
(1) In the definition of the system clock, set "timer" to "OTHER".
Example:
clock{
. . . . . . . . . . . . .
timer = OTHER;
. . . . . . . . . . . . .
};
(2) In the definitions of the interrupt handlers, define the timer
interrupts as those handled by the system-clock interrupt
handler, where the name of the system-clock interrupt handler
must be "__SYS_STMR_INH".
Example:
This is an example of defining the timer RA interrupt in the
R8C/Tiny series as the one handled by the system-clock interrupt
handler.
interrupt_vector[22]{
entry_address=__SYS_STMR_INH;
os_int=YES;
};
2.2 Modifications Made to the Startup Files (crt0mr.a30, start.a30)
Modify a portion of initializing the system clock in the startup
files so that the user can use the timers in the R8C/Tiny series.
Example:
This is an example of calling the initializing function of the RA
timer written in C.
; +-----------------------------------------------------+
; | System timer interrupt setting |
; +-----------------------------------------------------+
; mov.b #stmr_mod_val,stmr_mod_reg ;set timer mode
; mov.b #stmr_int_IPL,stmr_int_reg ;set timer IPL
; mov.w #stmr_cnt,stmr_ctr_reg ;set interval count
; or.b #stmr_bit+1,stmr_start ;system timer start
.glb _timer_ra_init
JSR.W _timer_ra_init
For details of the initializing function of the RA timer, see
Application Note of the R8C/Tiny series.
2.3 Modifications Made to the Section Definition Files (c_sec.inc,
asm_sec.inc)
Modify the address locations of the fixed vector table to meet the
R8C/Tiny series.
Example:
This is an example of locating sections in the c_sec.inc file.
In this example, modifications are made to address locations of
the variable vector table according to the modifications made to
those of the fixed vector table.
;---------------------------------------------------------------
; VECTOR TABLE
;---------------------------------------------------------------
.glb __INT_VECTOR
.section INTERRUPT_VECTOR ;Interrupt vector table
.org 0fd00H
__INT_VECTOR:
.section FIX_INTERRUPT_VECTOR ;Fixed Interrupt vector table
.org 0ffdcH
3. Notices
3.1 On Disabling the Watchdog Timer
If you don't use the watchdog timer, disable it using the assembly
directive command ".ofsreg".
Example:
Place the following two lines at the end of the example shown in 2.3:
;WDT disable
.ofsreg 0FFH
3.2 On the Cycle of the System Clock
The cycle of the system clock set in the configuration file (the value
to which "tic_nume" has been set in the system definitions) must be
the same as the cycle of interrupts generated by the initialization of
the system clock by the user.
3.3 On Debugging Capabilities Supported by M3T-MR30/4
The RTOS debugging capabilities (MR, MR Trace, and MR TaskPause
windows) supported by M3T-MR30/4 and used in the emulator debuggers
and simulator debuggers that have already been released cannot
support the R8C/Tiny series.
We are making these capabilities support the R8C/Tiny series in the
next release of each debuggers.
3.4 On Combination with High-performance Embedded Workshop 4
(1) Creating Projects
In the "New Project-2/6-Select RTOS" dialog box, you must select
"All Target" as "Target Type" when creating projects.
(2) Selecting the "-R8C" Option in the Toolchain
"-R8C" option is not selected automatically at creating projects.
You need to specify it as a command option explicitly.
|
 |