mirror of
https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_RTL8710BX_ALIOS_SDK.git
synced 2026-07-14 14:05:38 +00:00
rel_1.6.0 init
This commit is contained in:
commit
27b3e2883d
19359 changed files with 8093121 additions and 0 deletions
27
Living_SDK/platform/arch/rl78/ccrl/k_types.h
Normal file
27
Living_SDK/platform/arch/rl78/ccrl/k_types.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#ifndef TYPES_H
|
||||
#define TYPES_H
|
||||
|
||||
#define RHINO_TASK_STACK_OVF_MAGIC 0xdeadu /* 32 bit or 64 bit stack overflow magic value */
|
||||
#define RHINO_INTRPT_STACK_OVF_MAGIC 0xdeadu /* 32 bit or 64 bit stack overflow magic value */
|
||||
#define RHINO_MM_CORRUPT_DYE 0xFEFE
|
||||
#define RHINO_MM_FREE_DYE 0xABAB
|
||||
#define RHINO_INLINE static /* inline keyword, it may change under different compilers */
|
||||
|
||||
typedef char name_t;
|
||||
typedef uint32_t sem_count_t;
|
||||
typedef uint16_t cpu_stack_t;
|
||||
typedef uint32_t hr_timer_t;
|
||||
typedef uint32_t lr_timer_t;
|
||||
typedef uint32_t mutex_nested_t;
|
||||
typedef uint8_t suspend_nested_t;
|
||||
|
||||
typedef uint64_t ctx_switch_t;
|
||||
typedef uint8_t cpu_cpsr_t;
|
||||
|
||||
|
||||
#endif /* TYPES_H */
|
||||
|
||||
27
Living_SDK/platform/arch/rl78/ccrl/port.h
Normal file
27
Living_SDK/platform/arch/rl78/ccrl/port.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#ifndef PORT_H
|
||||
#define PORT_H
|
||||
|
||||
void cpu_intrpt_switch(void);
|
||||
void cpu_first_task_start(void);
|
||||
void *cpu_task_stack_init(cpu_stack_t *base, size_t size, void *arg, task_entry_t entry);
|
||||
|
||||
RHINO_INLINE uint8_t cpu_cur_get(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define cpu_task_switch() __brk()
|
||||
|
||||
#define cpu_intrpt_save() __get_psw();__DI()
|
||||
#define cpu_intrpt_restore(cpsr) __set_psw(cpsr)
|
||||
|
||||
#define CPSR_ALLOC() uint8_t cpsr
|
||||
#define RHINO_CPU_INTRPT_DISABLE() { cpsr = cpu_intrpt_save(); }
|
||||
#define RHINO_CPU_INTRPT_ENABLE() { cpu_intrpt_restore(cpsr); }
|
||||
|
||||
#endif /* PORT_H */
|
||||
|
||||
24
Living_SDK/platform/arch/rl78/ccrl/port_c.c
Normal file
24
Living_SDK/platform/arch/rl78/ccrl/port_c.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#include <k_api.h>
|
||||
|
||||
void *cpu_task_stack_init(cpu_stack_t *stack_base, size_t stack_size,
|
||||
void *arg, task_entry_t entry)
|
||||
{
|
||||
cpu_stack_t *stk;
|
||||
stk = (cpu_stack_t *)(stack_base + stack_size);
|
||||
*--stk = (cpu_stack_t)((uint32_t)arg >> 16);
|
||||
*--stk = (cpu_stack_t)arg;
|
||||
*--stk = (cpu_stack_t)(((uint32_t)entry >> 16) & 0x000F) | 0x8600;
|
||||
*--stk = (cpu_stack_t)entry;
|
||||
*--stk = 0x1100;
|
||||
*--stk = 0x3322;
|
||||
*--stk = 0x5544;
|
||||
*--stk = 0x7766;
|
||||
*--stk = 0x0F00;
|
||||
|
||||
return stk;
|
||||
}
|
||||
|
||||
49
Living_SDK/platform/arch/rl78/ccrl/port_cpu.asm
Normal file
49
Living_SDK/platform/arch/rl78/ccrl/port_cpu.asm
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
$INCLUDE(port_cpu.inc)
|
||||
|
||||
|
||||
.PUBLIC _cpu_first_task_start
|
||||
.PUBLIC _task_switch
|
||||
.PUBLIC _cpu_intrpt_switch
|
||||
|
||||
.EXTERN _g_preferred_ready_task
|
||||
.EXTERN _g_active_task
|
||||
.EXTERN _sys_isr_enter
|
||||
.EXTERN _sys_isr_exit
|
||||
|
||||
.SECTION .text,TEXT
|
||||
|
||||
_cpu_first_task_start:
|
||||
MOVW RP1, !_g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
POPALL
|
||||
RETI
|
||||
|
||||
_task_switch .VECTOR 0x007E
|
||||
_task_switch:
|
||||
PUSHALL
|
||||
MOVW RP2, !_g_active_task
|
||||
MOVW RP0, SP
|
||||
MOVW [RP2], RP0
|
||||
MOVW RP0, !_g_preferred_ready_task
|
||||
MOVW !_g_active_task, RP0
|
||||
|
||||
MOVW RP1, !_g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
|
||||
POPALL
|
||||
|
||||
RETI
|
||||
|
||||
_cpu_intrpt_switch:
|
||||
MOVW RP0, !_g_preferred_ready_task
|
||||
MOVW !_g_active_task, RP0
|
||||
MOVW RP1, !_g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
POPALL
|
||||
RETI
|
||||
|
||||
;END
|
||||
|
||||
43
Living_SDK/platform/arch/rl78/ccrl/port_cpu.inc
Normal file
43
Living_SDK/platform/arch/rl78/ccrl/port_cpu.inc
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
.EXTERN _g_active_task
|
||||
.EXTERN _krhino_intrpt_enter
|
||||
.EXTERN _krhino_intrpt_exit
|
||||
|
||||
.SECTION .text, TEXT
|
||||
|
||||
PUSHALL .MACRO
|
||||
PUSH RP0
|
||||
PUSH RP1
|
||||
PUSH RP2
|
||||
PUSH RP3
|
||||
MOV A, CS
|
||||
MOV X, A
|
||||
MOV A, ES
|
||||
PUSH RP0
|
||||
.ENDM
|
||||
|
||||
POPALL .MACRO
|
||||
POP RP0
|
||||
MOV ES, A
|
||||
MOV A, X
|
||||
MOV CS, A
|
||||
POP RP3
|
||||
POP RP2
|
||||
POP RP1
|
||||
POP RP0
|
||||
.ENDM
|
||||
|
||||
sys_isr_enter .MACRO
|
||||
PUSHALL
|
||||
MOVW RP2, !_g_active_task
|
||||
MOVW RP0, SP
|
||||
MOVW [RP2], RP0
|
||||
CALL !!_krhino_intrpt_enter
|
||||
.ENDM
|
||||
|
||||
sys_isr_exit .MACRO
|
||||
CALL !!_krhino_intrpt_exit
|
||||
POPALL
|
||||
RETI
|
||||
.ENDM
|
||||
|
||||
221
Living_SDK/platform/arch/rl78/ccrl/startup/cstart.asm
Normal file
221
Living_SDK/platform/arch/rl78/ccrl/startup/cstart.asm
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
; Copyright (C) 2014 Renesas Electronics Corporation
|
||||
; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY.
|
||||
; This program must be used solely for the purpose for which
|
||||
; it was furnished by Renesas Electronics Corporation. No part of this
|
||||
; program may be reproduced or disclosed to others, in any
|
||||
; form, without the prior written permission of Renesas Electronics
|
||||
; Corporation.
|
||||
|
||||
; NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
|
||||
$IFNDEF __RENESAS_VERSION__
|
||||
__RENESAS_VERSION__ .EQU 0x01000000
|
||||
$ENDIF
|
||||
|
||||
.public _start
|
||||
.public _exit
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; RAM section
|
||||
;-----------------------------------------------------------------------------
|
||||
.SECTION .dataR, DATA
|
||||
.SECTION .sdataR, DATA
|
||||
; .SECTION .datafR, DATAF
|
||||
; .SECTION .textfR, TEXTF
|
||||
|
||||
$IF (__RENESAS_VERSION__ < 0x01010000) ; for CC-RL V1.00
|
||||
;-----------------------------------------------------------------------------
|
||||
; stack area
|
||||
;-----------------------------------------------------------------------------
|
||||
; !!! [CAUTION] !!!
|
||||
; Set up stack size suitable for a project.
|
||||
.SECTION .stack_bss, BSS
|
||||
_stackend:
|
||||
.DS 0x200
|
||||
_stacktop:
|
||||
$ENDIF
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; RESET vector
|
||||
;-----------------------------------------------------------------------------
|
||||
_start .VECTOR 0
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; startup
|
||||
;-----------------------------------------------------------------------------
|
||||
.SECTION .text, TEXT
|
||||
_start:
|
||||
;--------------------------------------------------
|
||||
; setting register bank
|
||||
;--------------------------------------------------
|
||||
; SEL RB0
|
||||
|
||||
;--------------------------------------------------
|
||||
; setting mirror area
|
||||
;--------------------------------------------------
|
||||
; ONEB !PMC ; mirror area = 10000-1FFFFH
|
||||
|
||||
;--------------------------------------------------
|
||||
; setting the stack pointer
|
||||
;--------------------------------------------------
|
||||
$IF (__RENESAS_VERSION__ >= 0x01010000)
|
||||
MOVW SP,#LOWW(__STACK_ADDR_START)
|
||||
$ELSE ; for CC-RL V1.00
|
||||
MOVW SP,#LOWW(_stacktop)
|
||||
$ENDIF
|
||||
|
||||
;--------------------------------------------------
|
||||
; initializing stack area
|
||||
;--------------------------------------------------
|
||||
;$IF (__RENESAS_VERSION__ >= 0x01010000)
|
||||
; MOVW AX,#LOWW(__STACK_ADDR_END)
|
||||
;$ELSE ; for CC-RL V1.00
|
||||
; MOVW AX,#LOWW(_stackend)
|
||||
;$ENDIF
|
||||
; CALL !!_stkinit
|
||||
|
||||
;--------------------------------------------------
|
||||
; hardware initialization
|
||||
;--------------------------------------------------
|
||||
CALL !!_hdwinit
|
||||
|
||||
;--------------------------------------------------
|
||||
; initializing BSS
|
||||
;--------------------------------------------------
|
||||
; clear external variables which doesn't have initial value (near)
|
||||
MOVW HL,#LOWW(STARTOF(.bss))
|
||||
MOVW AX,#LOWW(STARTOF(.bss) + SIZEOF(.bss))
|
||||
BR $.L2_BSS
|
||||
.L1_BSS:
|
||||
MOV [HL+0],#0
|
||||
INCW HL
|
||||
.L2_BSS:
|
||||
CMPW AX,HL
|
||||
BNZ $.L1_BSS
|
||||
|
||||
; clear saddr variables which doesn't have initial value
|
||||
MOVW HL,#LOWW(STARTOF(.sbss))
|
||||
MOVW AX,#LOWW(STARTOF(.sbss) + SIZEOF(.sbss))
|
||||
BR $.L2_SBSS
|
||||
.L1_SBSS:
|
||||
MOV [HL+0],#0
|
||||
INCW HL
|
||||
.L2_SBSS:
|
||||
CMPW AX,HL
|
||||
BNZ $.L1_SBSS
|
||||
|
||||
; clear external variables which doesn't have initial value (far)
|
||||
; MOV ES,#HIGHW(STARTOF(.bssf))
|
||||
; MOVW HL,#LOWW(STARTOF(.bssf))
|
||||
; MOVW AX,#LOWW(STARTOF(.bssf) + SIZEOF(.bssf))
|
||||
; BR $.L2_BSSF
|
||||
;.L1_BSSF:
|
||||
; MOV ES:[HL+0],#0
|
||||
; INCW HL
|
||||
;.L2_BSSF:
|
||||
; CMPW AX,HL
|
||||
; BNZ $.L1_BSSF
|
||||
|
||||
;--------------------------------------------------
|
||||
; ROM data copy
|
||||
;--------------------------------------------------
|
||||
; copy external variables having initial value (near)
|
||||
MOV ES,#HIGHW(STARTOF(.data))
|
||||
MOVW BC,#LOWW(SIZEOF(.data))
|
||||
BR $.L2_DATA
|
||||
.L1_DATA:
|
||||
DECW BC
|
||||
MOV A,ES:LOWW(STARTOF(.data))[BC]
|
||||
MOV LOWW(STARTOF(.dataR))[BC],A
|
||||
.L2_DATA:
|
||||
CLRW AX
|
||||
CMPW AX,BC
|
||||
BNZ $.L1_DATA
|
||||
|
||||
; copy saddr variables having initial value
|
||||
MOV ES,#HIGHW(STARTOF(.sdata))
|
||||
MOVW BC,#LOWW(SIZEOF(.sdata))
|
||||
BR $.L2_SDATA
|
||||
.L1_SDATA:
|
||||
DECW BC
|
||||
MOV A,ES:LOWW(STARTOF(.sdata))[BC]
|
||||
MOV LOWW(STARTOF(.sdataR))[BC],A
|
||||
.L2_SDATA:
|
||||
CLRW AX
|
||||
CMPW AX,BC
|
||||
BNZ $.L1_SDATA
|
||||
|
||||
; copy external variables having initial value (far)
|
||||
; MOVW BC,#LOWW(SIZEOF(.dataf))
|
||||
; BR $.L2_DATAF
|
||||
;.L1_DATAF:
|
||||
; DECW BC
|
||||
; MOV ES,#HIGHW(STARTOF(.dataf))
|
||||
; MOV A,ES:LOWW(STARTOF(.dataf))[BC]
|
||||
; MOV ES,#HIGHW(STARTOF(.datafR))
|
||||
; MOV ES:LOWW(STARTOF(.datafR))[BC],A
|
||||
;.L2_DATAF:
|
||||
; CLRW AX
|
||||
; CMPW AX,BC
|
||||
; BNZ $.L1_DATAF
|
||||
|
||||
; copy .text to RAM
|
||||
; MOV C,#HIGHW(STARTOF(.textf))
|
||||
; MOVW HL,#LOWW(STARTOF(.textf))
|
||||
; MOVW DE,#LOWW(STARTOF(.textfR))
|
||||
; BR $.L2_TEXT
|
||||
;.L1_TEXT:
|
||||
; MOV A,C
|
||||
; MOV ES,A
|
||||
; MOV A,ES:[HL]
|
||||
; MOV [DE],A
|
||||
; INCW DE
|
||||
; INCW HL
|
||||
; CLRW AX
|
||||
; CMPW AX,HL
|
||||
; SKNZ
|
||||
; INC C
|
||||
;.L2_TEXT:
|
||||
; MOVW AX,HL
|
||||
; CMPW AX,#LOWW(STARTOF(.text) + SIZEOF(.text))
|
||||
; BNZ $.L1_TEXT
|
||||
|
||||
;--------------------------------------------------
|
||||
; call main function
|
||||
;--------------------------------------------------
|
||||
CALL !!_main ; main();
|
||||
|
||||
;--------------------------------------------------
|
||||
; call exit function
|
||||
;--------------------------------------------------
|
||||
CLRW AX ; exit(0)
|
||||
_exit:
|
||||
BR $_exit
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; section
|
||||
;-----------------------------------------------------------------------------
|
||||
$IF (__RENESAS_VERSION__ >= 0x01010000)
|
||||
.SECTION .RLIB, TEXTF
|
||||
.L_section_RLIB:
|
||||
.SECTION .SLIB, TEXTF
|
||||
.L_section_SLIB:
|
||||
$ENDIF
|
||||
.SECTION .textf, TEXTF
|
||||
.L_section_textf:
|
||||
.SECTION .const, CONST
|
||||
.L_section_const:
|
||||
.SECTION .constf, CONSTF
|
||||
.L_section_constf:
|
||||
.SECTION .data, DATA
|
||||
.L_section_data:
|
||||
;.SECTION .dataf, DATAF
|
||||
;.L_section_dataf:
|
||||
.SECTION .sdata, SDATA
|
||||
.L_section_sdata:
|
||||
.SECTION .bss, BSS
|
||||
.L_section_bss:
|
||||
;.SECTION .bssf, BSSF
|
||||
;.L_section_bssf:
|
||||
.SECTION .sbss, SBSS
|
||||
.L_section_sbss:
|
||||
25
Living_SDK/platform/arch/rl78/ccrl/startup/hdwinit.asm
Normal file
25
Living_SDK/platform/arch/rl78/ccrl/startup/hdwinit.asm
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
; Copyright (C) 2014 Renesas Electronics Corporation
|
||||
; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY.
|
||||
; This program must be used solely for the purpose for which
|
||||
; it was furnished by Renesas Electronics Corporation. No part of this
|
||||
; program may be reproduced or disclosed to others, in any
|
||||
; form, without the prior written permission of Renesas Electronics
|
||||
; Corporation.
|
||||
;---------------------------------------------------------------------
|
||||
; _hdwinit
|
||||
;
|
||||
; void _hdwinit(void);
|
||||
;
|
||||
; input:
|
||||
; NONE
|
||||
; output:
|
||||
; NONE
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
; NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
|
||||
.PUBLIC _hdwinit
|
||||
|
||||
.textf .CSEG TEXTF
|
||||
_hdwinit:
|
||||
RET
|
||||
859
Living_SDK/platform/arch/rl78/ccrl/startup/iodefine.h
Normal file
859
Living_SDK/platform/arch/rl78/ccrl/startup/iodefine.h
Normal file
|
|
@ -0,0 +1,859 @@
|
|||
/******************************************************************************/
|
||||
/* DISCLAIMER */
|
||||
/* This software is supplied by Renesas Electronics Corporation and is only */
|
||||
/* intended for use with Renesas products. No other uses are authorized.This */
|
||||
/* software is owned by Renesas Electronics Corporation and is protected */
|
||||
/* under all applicable laws, including copyright laws. */
|
||||
/* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES */
|
||||
/* REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING */
|
||||
/* BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR */
|
||||
/* PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY */
|
||||
/* DISCLAIMED. */
|
||||
/* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS */
|
||||
/* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE */
|
||||
/* LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL */
|
||||
/* DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS */
|
||||
/* AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. */
|
||||
/* Renesas reserves the right, without notice, to make changes to this */
|
||||
/* software and to discontinue the availability of this software. */
|
||||
/* By using this software, you agree to the additional terms and conditions */
|
||||
/* found by accessing the following link: */
|
||||
/* http://www.renesas.com/disclaimer */
|
||||
/* */
|
||||
/* Device : RL78/R5F100LE */
|
||||
/* File Name : iodefine.h */
|
||||
/* Abstract : Definition of Special Function Register (SFR) */
|
||||
/* History : V1.14 [Device File version] */
|
||||
/* Options : -df=D:\Program Files (x86)\Renesas Electronics\CS+\CC\Device\ */
|
||||
/* RL78\Devicefile\DR5F100LE.DVF -o=D:\MCU\FAE\_Fundamental\RTOS */
|
||||
/* \AliOS\RL78\alios_things_kernel-master\projects\cs+\AliOS_YRP */
|
||||
/* BRL78G13\iodefine.h -f */
|
||||
/* Date : 2018/1/15 */
|
||||
/* Version : V1.08.00.01 [df2iodef.exe version] */
|
||||
/* This is a typical example. */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
#ifndef __R5F100LEIODEFINE_HEADER__
|
||||
#define __R5F100LEIODEFINE_HEADER__
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char no0:1;
|
||||
unsigned char no1:1;
|
||||
unsigned char no2:1;
|
||||
unsigned char no3:1;
|
||||
unsigned char no4:1;
|
||||
unsigned char no5:1;
|
||||
unsigned char no6:1;
|
||||
unsigned char no7:1;
|
||||
} __bitf_T;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char no0:1;
|
||||
unsigned char no1:1;
|
||||
unsigned char no2:1;
|
||||
unsigned char no3:1;
|
||||
unsigned char no4:1;
|
||||
unsigned char no5:1;
|
||||
unsigned char no6:1;
|
||||
unsigned char no7:1;
|
||||
unsigned char no8:1;
|
||||
unsigned char no9:1;
|
||||
unsigned char no10:1;
|
||||
unsigned char no11:1;
|
||||
unsigned char no12:1;
|
||||
unsigned char no13:1;
|
||||
unsigned char no14:1;
|
||||
unsigned char no15:1;
|
||||
} __bitf_T2;
|
||||
|
||||
|
||||
|
||||
#define ADM2 (*(volatile __near unsigned char *)0x10)
|
||||
#define ADM2_bit (*(volatile __near __bitf_T *)0x10)
|
||||
#define ADTYP (((volatile __near __bitf_T *)0x10)->no0)
|
||||
#define AWC (((volatile __near __bitf_T *)0x10)->no2)
|
||||
#define ADRCK (((volatile __near __bitf_T *)0x10)->no3)
|
||||
#define ADUL (*(volatile __near unsigned char *)0x11)
|
||||
#define ADLL (*(volatile __near unsigned char *)0x12)
|
||||
#define ADTES (*(volatile __near unsigned char *)0x13)
|
||||
#define PU0 (*(volatile __near unsigned char *)0x30)
|
||||
#define PU0_bit (*(volatile __near __bitf_T *)0x30)
|
||||
#define PU1 (*(volatile __near unsigned char *)0x31)
|
||||
#define PU1_bit (*(volatile __near __bitf_T *)0x31)
|
||||
#define PU3 (*(volatile __near unsigned char *)0x33)
|
||||
#define PU3_bit (*(volatile __near __bitf_T *)0x33)
|
||||
#define PU4 (*(volatile __near unsigned char *)0x34)
|
||||
#define PU4_bit (*(volatile __near __bitf_T *)0x34)
|
||||
#define PU5 (*(volatile __near unsigned char *)0x35)
|
||||
#define PU5_bit (*(volatile __near __bitf_T *)0x35)
|
||||
#define PU7 (*(volatile __near unsigned char *)0x37)
|
||||
#define PU7_bit (*(volatile __near __bitf_T *)0x37)
|
||||
#define PU12 (*(volatile __near unsigned char *)0x3C)
|
||||
#define PU12_bit (*(volatile __near __bitf_T *)0x3C)
|
||||
#define PU14 (*(volatile __near unsigned char *)0x3E)
|
||||
#define PU14_bit (*(volatile __near __bitf_T *)0x3E)
|
||||
#define PIM0 (*(volatile __near unsigned char *)0x40)
|
||||
#define PIM0_bit (*(volatile __near __bitf_T *)0x40)
|
||||
#define PIM1 (*(volatile __near unsigned char *)0x41)
|
||||
#define PIM1_bit (*(volatile __near __bitf_T *)0x41)
|
||||
#define PIM5 (*(volatile __near unsigned char *)0x45)
|
||||
#define PIM5_bit (*(volatile __near __bitf_T *)0x45)
|
||||
#define POM0 (*(volatile __near unsigned char *)0x50)
|
||||
#define POM0_bit (*(volatile __near __bitf_T *)0x50)
|
||||
#define POM1 (*(volatile __near unsigned char *)0x51)
|
||||
#define POM1_bit (*(volatile __near __bitf_T *)0x51)
|
||||
#define POM5 (*(volatile __near unsigned char *)0x55)
|
||||
#define POM5_bit (*(volatile __near __bitf_T *)0x55)
|
||||
#define POM7 (*(volatile __near unsigned char *)0x57)
|
||||
#define POM7_bit (*(volatile __near __bitf_T *)0x57)
|
||||
#define PMC0 (*(volatile __near unsigned char *)0x60)
|
||||
#define PMC0_bit (*(volatile __near __bitf_T *)0x60)
|
||||
#define PMC12 (*(volatile __near unsigned char *)0x6C)
|
||||
#define PMC12_bit (*(volatile __near __bitf_T *)0x6C)
|
||||
#define PMC14 (*(volatile __near unsigned char *)0x6E)
|
||||
#define PMC14_bit (*(volatile __near __bitf_T *)0x6E)
|
||||
#define NFEN0 (*(volatile __near unsigned char *)0x70)
|
||||
#define NFEN0_bit (*(volatile __near __bitf_T *)0x70)
|
||||
#define NFEN1 (*(volatile __near unsigned char *)0x71)
|
||||
#define NFEN1_bit (*(volatile __near __bitf_T *)0x71)
|
||||
#define ISC (*(volatile __near unsigned char *)0x73)
|
||||
#define ISC_bit (*(volatile __near __bitf_T *)0x73)
|
||||
#define TIS0 (*(volatile __near unsigned char *)0x74)
|
||||
#define ADPC (*(volatile __near unsigned char *)0x76)
|
||||
#define PIOR (*(volatile __near unsigned char *)0x77)
|
||||
#define IAWCTL (*(volatile __near unsigned char *)0x78)
|
||||
#define GDIDIS (*(volatile __near unsigned char *)0x7D)
|
||||
#define GDIDIS_bit (*(volatile __near __bitf_T *)0x7D)
|
||||
#define DFLCTL (*(volatile __near unsigned char *)0x90)
|
||||
#define DFLCTL_bit (*(volatile __near __bitf_T *)0x90)
|
||||
#define DFLEN (((volatile __near __bitf_T *)0x90)->no0)
|
||||
#define HIOTRM (*(volatile __near unsigned char *)0xA0)
|
||||
#define HOCODIV (*(volatile __near unsigned char *)0xA8)
|
||||
#define TEMPCAL0 (*(volatile __near unsigned char *)0xAC)
|
||||
#define TEMPCAL1 (*(volatile __near unsigned char *)0xAD)
|
||||
#define TEMPCAL2 (*(volatile __near unsigned char *)0xAE)
|
||||
#define TEMPCAL3 (*(volatile __near unsigned char *)0xAF)
|
||||
#define MDCL (*(volatile __near unsigned short *)0xE0)
|
||||
#define MDCH (*(volatile __near unsigned short *)0xE2)
|
||||
#define MDUC (*(volatile __near unsigned char *)0xE8)
|
||||
#define MDUC_bit (*(volatile __near __bitf_T *)0xE8)
|
||||
#define DIVST (((volatile __near __bitf_T *)0xE8)->no0)
|
||||
#define MACSF (((volatile __near __bitf_T *)0xE8)->no1)
|
||||
#define MACOF (((volatile __near __bitf_T *)0xE8)->no2)
|
||||
#define MDSM (((volatile __near __bitf_T *)0xE8)->no3)
|
||||
#define MACMODE (((volatile __near __bitf_T *)0xE8)->no6)
|
||||
#define DIVMODE (((volatile __near __bitf_T *)0xE8)->no7)
|
||||
#define PER0 (*(volatile __near unsigned char *)0xF0)
|
||||
#define PER0_bit (*(volatile __near __bitf_T *)0xF0)
|
||||
#define TAU0EN (((volatile __near __bitf_T *)0xF0)->no0)
|
||||
#define SAU0EN (((volatile __near __bitf_T *)0xF0)->no2)
|
||||
#define SAU1EN (((volatile __near __bitf_T *)0xF0)->no3)
|
||||
#define IICA0EN (((volatile __near __bitf_T *)0xF0)->no4)
|
||||
#define ADCEN (((volatile __near __bitf_T *)0xF0)->no5)
|
||||
#define RTCEN (((volatile __near __bitf_T *)0xF0)->no7)
|
||||
#define OSMC (*(volatile __near unsigned char *)0xF3)
|
||||
#define RMC (*(volatile __near unsigned char *)0xF4)
|
||||
#define RMC_bit (*(volatile __near __bitf_T *)0xF4)
|
||||
#define WDVOL (((volatile __near __bitf_T *)0xF4)->no7)
|
||||
#define RPECTL (*(volatile __near unsigned char *)0xF5)
|
||||
#define RPECTL_bit (*(volatile __near __bitf_T *)0xF5)
|
||||
#define RPEF (((volatile __near __bitf_T *)0xF5)->no0)
|
||||
#define RPERDIS (((volatile __near __bitf_T *)0xF5)->no7)
|
||||
#define BCDADJ (*(volatile __near unsigned char *)0xFE)
|
||||
#define SSR00 (*(volatile __near unsigned short *)0x100)
|
||||
#define SSR00L (*(volatile __near unsigned char *)0x100)
|
||||
#define SSR01 (*(volatile __near unsigned short *)0x102)
|
||||
#define SSR01L (*(volatile __near unsigned char *)0x102)
|
||||
#define SSR02 (*(volatile __near unsigned short *)0x104)
|
||||
#define SSR02L (*(volatile __near unsigned char *)0x104)
|
||||
#define SSR03 (*(volatile __near unsigned short *)0x106)
|
||||
#define SSR03L (*(volatile __near unsigned char *)0x106)
|
||||
#define SIR00 (*(volatile __near unsigned short *)0x108)
|
||||
#define SIR00L (*(volatile __near unsigned char *)0x108)
|
||||
#define SIR01 (*(volatile __near unsigned short *)0x10A)
|
||||
#define SIR01L (*(volatile __near unsigned char *)0x10A)
|
||||
#define SIR02 (*(volatile __near unsigned short *)0x10C)
|
||||
#define SIR02L (*(volatile __near unsigned char *)0x10C)
|
||||
#define SIR03 (*(volatile __near unsigned short *)0x10E)
|
||||
#define SIR03L (*(volatile __near unsigned char *)0x10E)
|
||||
#define SMR00 (*(volatile __near unsigned short *)0x110)
|
||||
#define SMR01 (*(volatile __near unsigned short *)0x112)
|
||||
#define SMR02 (*(volatile __near unsigned short *)0x114)
|
||||
#define SMR03 (*(volatile __near unsigned short *)0x116)
|
||||
#define SCR00 (*(volatile __near unsigned short *)0x118)
|
||||
#define SCR01 (*(volatile __near unsigned short *)0x11A)
|
||||
#define SCR02 (*(volatile __near unsigned short *)0x11C)
|
||||
#define SCR03 (*(volatile __near unsigned short *)0x11E)
|
||||
#define SE0 (*(volatile __near unsigned short *)0x120)
|
||||
#define SE0L (*(volatile __near unsigned char *)0x120)
|
||||
#define SE0L_bit (*(volatile __near __bitf_T *)0x120)
|
||||
#define SS0 (*(volatile __near unsigned short *)0x122)
|
||||
#define SS0L (*(volatile __near unsigned char *)0x122)
|
||||
#define SS0L_bit (*(volatile __near __bitf_T *)0x122)
|
||||
#define ST0 (*(volatile __near unsigned short *)0x124)
|
||||
#define ST0L (*(volatile __near unsigned char *)0x124)
|
||||
#define ST0L_bit (*(volatile __near __bitf_T *)0x124)
|
||||
#define SPS0 (*(volatile __near unsigned short *)0x126)
|
||||
#define SPS0L (*(volatile __near unsigned char *)0x126)
|
||||
#define SO0 (*(volatile __near unsigned short *)0x128)
|
||||
#define SOE0 (*(volatile __near unsigned short *)0x12A)
|
||||
#define SOE0L (*(volatile __near unsigned char *)0x12A)
|
||||
#define SOE0L_bit (*(volatile __near __bitf_T *)0x12A)
|
||||
#define SOL0 (*(volatile __near unsigned short *)0x134)
|
||||
#define SOL0L (*(volatile __near unsigned char *)0x134)
|
||||
#define SSC0 (*(volatile __near unsigned short *)0x138)
|
||||
#define SSC0L (*(volatile __near unsigned char *)0x138)
|
||||
#define SSR10 (*(volatile __near unsigned short *)0x140)
|
||||
#define SSR10L (*(volatile __near unsigned char *)0x140)
|
||||
#define SSR11 (*(volatile __near unsigned short *)0x142)
|
||||
#define SSR11L (*(volatile __near unsigned char *)0x142)
|
||||
#define SIR10 (*(volatile __near unsigned short *)0x148)
|
||||
#define SIR10L (*(volatile __near unsigned char *)0x148)
|
||||
#define SIR11 (*(volatile __near unsigned short *)0x14A)
|
||||
#define SIR11L (*(volatile __near unsigned char *)0x14A)
|
||||
#define SMR10 (*(volatile __near unsigned short *)0x150)
|
||||
#define SMR11 (*(volatile __near unsigned short *)0x152)
|
||||
#define SCR10 (*(volatile __near unsigned short *)0x158)
|
||||
#define SCR11 (*(volatile __near unsigned short *)0x15A)
|
||||
#define SE1 (*(volatile __near unsigned short *)0x160)
|
||||
#define SE1L (*(volatile __near unsigned char *)0x160)
|
||||
#define SE1L_bit (*(volatile __near __bitf_T *)0x160)
|
||||
#define SS1 (*(volatile __near unsigned short *)0x162)
|
||||
#define SS1L (*(volatile __near unsigned char *)0x162)
|
||||
#define SS1L_bit (*(volatile __near __bitf_T *)0x162)
|
||||
#define ST1 (*(volatile __near unsigned short *)0x164)
|
||||
#define ST1L (*(volatile __near unsigned char *)0x164)
|
||||
#define ST1L_bit (*(volatile __near __bitf_T *)0x164)
|
||||
#define SPS1 (*(volatile __near unsigned short *)0x166)
|
||||
#define SPS1L (*(volatile __near unsigned char *)0x166)
|
||||
#define SO1 (*(volatile __near unsigned short *)0x168)
|
||||
#define SOE1 (*(volatile __near unsigned short *)0x16A)
|
||||
#define SOE1L (*(volatile __near unsigned char *)0x16A)
|
||||
#define SOE1L_bit (*(volatile __near __bitf_T *)0x16A)
|
||||
#define SOL1 (*(volatile __near unsigned short *)0x174)
|
||||
#define SOL1L (*(volatile __near unsigned char *)0x174)
|
||||
#define TCR00 (*(volatile __near unsigned short *)0x180)
|
||||
#define TCR01 (*(volatile __near unsigned short *)0x182)
|
||||
#define TCR02 (*(volatile __near unsigned short *)0x184)
|
||||
#define TCR03 (*(volatile __near unsigned short *)0x186)
|
||||
#define TCR04 (*(volatile __near unsigned short *)0x188)
|
||||
#define TCR05 (*(volatile __near unsigned short *)0x18A)
|
||||
#define TCR06 (*(volatile __near unsigned short *)0x18C)
|
||||
#define TCR07 (*(volatile __near unsigned short *)0x18E)
|
||||
#define TMR00 (*(volatile __near unsigned short *)0x190)
|
||||
#define TMR01 (*(volatile __near unsigned short *)0x192)
|
||||
#define TMR02 (*(volatile __near unsigned short *)0x194)
|
||||
#define TMR03 (*(volatile __near unsigned short *)0x196)
|
||||
#define TMR04 (*(volatile __near unsigned short *)0x198)
|
||||
#define TMR05 (*(volatile __near unsigned short *)0x19A)
|
||||
#define TMR06 (*(volatile __near unsigned short *)0x19C)
|
||||
#define TMR07 (*(volatile __near unsigned short *)0x19E)
|
||||
#define TSR00 (*(volatile __near unsigned short *)0x1A0)
|
||||
#define TSR00L (*(volatile __near unsigned char *)0x1A0)
|
||||
#define TSR01 (*(volatile __near unsigned short *)0x1A2)
|
||||
#define TSR01L (*(volatile __near unsigned char *)0x1A2)
|
||||
#define TSR02 (*(volatile __near unsigned short *)0x1A4)
|
||||
#define TSR02L (*(volatile __near unsigned char *)0x1A4)
|
||||
#define TSR03 (*(volatile __near unsigned short *)0x1A6)
|
||||
#define TSR03L (*(volatile __near unsigned char *)0x1A6)
|
||||
#define TSR04 (*(volatile __near unsigned short *)0x1A8)
|
||||
#define TSR04L (*(volatile __near unsigned char *)0x1A8)
|
||||
#define TSR05 (*(volatile __near unsigned short *)0x1AA)
|
||||
#define TSR05L (*(volatile __near unsigned char *)0x1AA)
|
||||
#define TSR06 (*(volatile __near unsigned short *)0x1AC)
|
||||
#define TSR06L (*(volatile __near unsigned char *)0x1AC)
|
||||
#define TSR07 (*(volatile __near unsigned short *)0x1AE)
|
||||
#define TSR07L (*(volatile __near unsigned char *)0x1AE)
|
||||
#define TE0 (*(volatile __near unsigned short *)0x1B0)
|
||||
#define TE0L (*(volatile __near unsigned char *)0x1B0)
|
||||
#define TE0L_bit (*(volatile __near __bitf_T *)0x1B0)
|
||||
#define TS0 (*(volatile __near unsigned short *)0x1B2)
|
||||
#define TS0L (*(volatile __near unsigned char *)0x1B2)
|
||||
#define TS0L_bit (*(volatile __near __bitf_T *)0x1B2)
|
||||
#define TT0 (*(volatile __near unsigned short *)0x1B4)
|
||||
#define TT0L (*(volatile __near unsigned char *)0x1B4)
|
||||
#define TT0L_bit (*(volatile __near __bitf_T *)0x1B4)
|
||||
#define TPS0 (*(volatile __near unsigned short *)0x1B6)
|
||||
#define TO0 (*(volatile __near unsigned short *)0x1B8)
|
||||
#define TO0L (*(volatile __near unsigned char *)0x1B8)
|
||||
#define TOE0 (*(volatile __near unsigned short *)0x1BA)
|
||||
#define TOE0L (*(volatile __near unsigned char *)0x1BA)
|
||||
#define TOE0L_bit (*(volatile __near __bitf_T *)0x1BA)
|
||||
#define TOL0 (*(volatile __near unsigned short *)0x1BC)
|
||||
#define TOL0L (*(volatile __near unsigned char *)0x1BC)
|
||||
#define TOM0 (*(volatile __near unsigned short *)0x1BE)
|
||||
#define TOM0L (*(volatile __near unsigned char *)0x1BE)
|
||||
#define IICCTL00 (*(volatile __near unsigned char *)0x230)
|
||||
#define IICCTL00_bit (*(volatile __near __bitf_T *)0x230)
|
||||
#define SPT0 (((volatile __near __bitf_T *)0x230)->no0)
|
||||
#define STT0 (((volatile __near __bitf_T *)0x230)->no1)
|
||||
#define ACKE0 (((volatile __near __bitf_T *)0x230)->no2)
|
||||
#define WTIM0 (((volatile __near __bitf_T *)0x230)->no3)
|
||||
#define SPIE0 (((volatile __near __bitf_T *)0x230)->no4)
|
||||
#define WREL0 (((volatile __near __bitf_T *)0x230)->no5)
|
||||
#define LREL0 (((volatile __near __bitf_T *)0x230)->no6)
|
||||
#define IICE0 (((volatile __near __bitf_T *)0x230)->no7)
|
||||
#define IICCTL01 (*(volatile __near unsigned char *)0x231)
|
||||
#define IICCTL01_bit (*(volatile __near __bitf_T *)0x231)
|
||||
#define PRS0 (((volatile __near __bitf_T *)0x231)->no0)
|
||||
#define DFC0 (((volatile __near __bitf_T *)0x231)->no2)
|
||||
#define SMC0 (((volatile __near __bitf_T *)0x231)->no3)
|
||||
#define DAD0 (((volatile __near __bitf_T *)0x231)->no4)
|
||||
#define CLD0 (((volatile __near __bitf_T *)0x231)->no5)
|
||||
#define WUP0 (((volatile __near __bitf_T *)0x231)->no7)
|
||||
#define IICWL0 (*(volatile __near unsigned char *)0x232)
|
||||
#define IICWH0 (*(volatile __near unsigned char *)0x233)
|
||||
#define SVA0 (*(volatile __near unsigned char *)0x234)
|
||||
#define CRC0CTL (*(volatile __near unsigned char *)0x2F0)
|
||||
#define CRC0CTL_bit (*(volatile __near __bitf_T *)0x2F0)
|
||||
#define CRC0EN (((volatile __near __bitf_T *)0x2F0)->no7)
|
||||
#define PGCRCL (*(volatile __near unsigned short *)0x2F2)
|
||||
#define CRCD (*(volatile __near unsigned short *)0x2FA)
|
||||
#define P0 (*(volatile __near unsigned char *)0xFF00)
|
||||
#define P0_bit (*(volatile __near __bitf_T *)0xFF00)
|
||||
#define P1 (*(volatile __near unsigned char *)0xFF01)
|
||||
#define P1_bit (*(volatile __near __bitf_T *)0xFF01)
|
||||
#define P2 (*(volatile __near unsigned char *)0xFF02)
|
||||
#define P2_bit (*(volatile __near __bitf_T *)0xFF02)
|
||||
#define P3 (*(volatile __near unsigned char *)0xFF03)
|
||||
#define P3_bit (*(volatile __near __bitf_T *)0xFF03)
|
||||
#define P4 (*(volatile __near unsigned char *)0xFF04)
|
||||
#define P4_bit (*(volatile __near __bitf_T *)0xFF04)
|
||||
#define P5 (*(volatile __near unsigned char *)0xFF05)
|
||||
#define P5_bit (*(volatile __near __bitf_T *)0xFF05)
|
||||
#define P6 (*(volatile __near unsigned char *)0xFF06)
|
||||
#define P6_bit (*(volatile __near __bitf_T *)0xFF06)
|
||||
#define P7 (*(volatile __near unsigned char *)0xFF07)
|
||||
#define P7_bit (*(volatile __near __bitf_T *)0xFF07)
|
||||
#define P12 (*(volatile __near unsigned char *)0xFF0C)
|
||||
#define P12_bit (*(volatile __near __bitf_T *)0xFF0C)
|
||||
#define P13 (*(volatile __near unsigned char *)0xFF0D)
|
||||
#define P13_bit (*(volatile __near __bitf_T *)0xFF0D)
|
||||
#define P14 (*(volatile __near unsigned char *)0xFF0E)
|
||||
#define P14_bit (*(volatile __near __bitf_T *)0xFF0E)
|
||||
#define SDR00 (*(volatile __near unsigned short *)0xFF10)
|
||||
#define SIO00 (*(volatile __near unsigned char *)0xFF10)
|
||||
#define TXD0 (*(volatile __near unsigned char *)0xFF10)
|
||||
#define SDR01 (*(volatile __near unsigned short *)0xFF12)
|
||||
#define RXD0 (*(volatile __near unsigned char *)0xFF12)
|
||||
#define SIO01 (*(volatile __near unsigned char *)0xFF12)
|
||||
#define TDR00 (*(volatile __near unsigned short *)0xFF18)
|
||||
#define TDR01 (*(volatile __near unsigned short *)0xFF1A)
|
||||
#define TDR01L (*(volatile __near unsigned char *)0xFF1A)
|
||||
#define TDR01H (*(volatile __near unsigned char *)0xFF1B)
|
||||
#define ADCR (*(volatile __near unsigned short *)0xFF1E)
|
||||
#define ADCRH (*(volatile __near unsigned char *)0xFF1F)
|
||||
#define PM0 (*(volatile __near unsigned char *)0xFF20)
|
||||
#define PM0_bit (*(volatile __near __bitf_T *)0xFF20)
|
||||
#define PM1 (*(volatile __near unsigned char *)0xFF21)
|
||||
#define PM1_bit (*(volatile __near __bitf_T *)0xFF21)
|
||||
#define PM2 (*(volatile __near unsigned char *)0xFF22)
|
||||
#define PM2_bit (*(volatile __near __bitf_T *)0xFF22)
|
||||
#define PM3 (*(volatile __near unsigned char *)0xFF23)
|
||||
#define PM3_bit (*(volatile __near __bitf_T *)0xFF23)
|
||||
#define PM4 (*(volatile __near unsigned char *)0xFF24)
|
||||
#define PM4_bit (*(volatile __near __bitf_T *)0xFF24)
|
||||
#define PM5 (*(volatile __near unsigned char *)0xFF25)
|
||||
#define PM5_bit (*(volatile __near __bitf_T *)0xFF25)
|
||||
#define PM6 (*(volatile __near unsigned char *)0xFF26)
|
||||
#define PM6_bit (*(volatile __near __bitf_T *)0xFF26)
|
||||
#define PM7 (*(volatile __near unsigned char *)0xFF27)
|
||||
#define PM7_bit (*(volatile __near __bitf_T *)0xFF27)
|
||||
#define PM12 (*(volatile __near unsigned char *)0xFF2C)
|
||||
#define PM12_bit (*(volatile __near __bitf_T *)0xFF2C)
|
||||
#define PM14 (*(volatile __near unsigned char *)0xFF2E)
|
||||
#define PM14_bit (*(volatile __near __bitf_T *)0xFF2E)
|
||||
#define ADM0 (*(volatile __near unsigned char *)0xFF30)
|
||||
#define ADM0_bit (*(volatile __near __bitf_T *)0xFF30)
|
||||
#define ADCE (((volatile __near __bitf_T *)0xFF30)->no0)
|
||||
#define ADCS (((volatile __near __bitf_T *)0xFF30)->no7)
|
||||
#define ADS (*(volatile __near unsigned char *)0xFF31)
|
||||
#define ADS_bit (*(volatile __near __bitf_T *)0xFF31)
|
||||
#define ADM1 (*(volatile __near unsigned char *)0xFF32)
|
||||
#define ADM1_bit (*(volatile __near __bitf_T *)0xFF32)
|
||||
#define KRM (*(volatile __near unsigned char *)0xFF37)
|
||||
#define KRM_bit (*(volatile __near __bitf_T *)0xFF37)
|
||||
#define EGP0 (*(volatile __near unsigned char *)0xFF38)
|
||||
#define EGP0_bit (*(volatile __near __bitf_T *)0xFF38)
|
||||
#define EGN0 (*(volatile __near unsigned char *)0xFF39)
|
||||
#define EGN0_bit (*(volatile __near __bitf_T *)0xFF39)
|
||||
#define EGP1 (*(volatile __near unsigned char *)0xFF3A)
|
||||
#define EGP1_bit (*(volatile __near __bitf_T *)0xFF3A)
|
||||
#define EGN1 (*(volatile __near unsigned char *)0xFF3B)
|
||||
#define EGN1_bit (*(volatile __near __bitf_T *)0xFF3B)
|
||||
#define SDR02 (*(volatile __near unsigned short *)0xFF44)
|
||||
#define SIO10 (*(volatile __near unsigned char *)0xFF44)
|
||||
#define TXD1 (*(volatile __near unsigned char *)0xFF44)
|
||||
#define SDR03 (*(volatile __near unsigned short *)0xFF46)
|
||||
#define RXD1 (*(volatile __near unsigned char *)0xFF46)
|
||||
#define SIO11 (*(volatile __near unsigned char *)0xFF46)
|
||||
#define SDR10 (*(volatile __near unsigned short *)0xFF48)
|
||||
#define SIO20 (*(volatile __near unsigned char *)0xFF48)
|
||||
#define TXD2 (*(volatile __near unsigned char *)0xFF48)
|
||||
#define SDR11 (*(volatile __near unsigned short *)0xFF4A)
|
||||
#define RXD2 (*(volatile __near unsigned char *)0xFF4A)
|
||||
#define SIO21 (*(volatile __near unsigned char *)0xFF4A)
|
||||
#define IICA0 (*(volatile __near unsigned char *)0xFF50)
|
||||
#define IICS0 (*(volatile __near unsigned char *)0xFF51)
|
||||
#define IICS0_bit (*(volatile __near __bitf_T *)0xFF51)
|
||||
#define SPD0 (((volatile __near __bitf_T *)0xFF51)->no0)
|
||||
#define STD0 (((volatile __near __bitf_T *)0xFF51)->no1)
|
||||
#define ACKD0 (((volatile __near __bitf_T *)0xFF51)->no2)
|
||||
#define TRC0 (((volatile __near __bitf_T *)0xFF51)->no3)
|
||||
#define COI0 (((volatile __near __bitf_T *)0xFF51)->no4)
|
||||
#define EXC0 (((volatile __near __bitf_T *)0xFF51)->no5)
|
||||
#define ALD0 (((volatile __near __bitf_T *)0xFF51)->no6)
|
||||
#define MSTS0 (((volatile __near __bitf_T *)0xFF51)->no7)
|
||||
#define IICF0 (*(volatile __near unsigned char *)0xFF52)
|
||||
#define IICF0_bit (*(volatile __near __bitf_T *)0xFF52)
|
||||
#define IICRSV0 (((volatile __near __bitf_T *)0xFF52)->no0)
|
||||
#define STCEN0 (((volatile __near __bitf_T *)0xFF52)->no1)
|
||||
#define IICBSY0 (((volatile __near __bitf_T *)0xFF52)->no6)
|
||||
#define STCF0 (((volatile __near __bitf_T *)0xFF52)->no7)
|
||||
#define TDR02 (*(volatile __near unsigned short *)0xFF64)
|
||||
#define TDR03 (*(volatile __near unsigned short *)0xFF66)
|
||||
#define TDR03L (*(volatile __near unsigned char *)0xFF66)
|
||||
#define TDR03H (*(volatile __near unsigned char *)0xFF67)
|
||||
#define TDR04 (*(volatile __near unsigned short *)0xFF68)
|
||||
#define TDR05 (*(volatile __near unsigned short *)0xFF6A)
|
||||
#define TDR06 (*(volatile __near unsigned short *)0xFF6C)
|
||||
#define TDR07 (*(volatile __near unsigned short *)0xFF6E)
|
||||
#define ITMC (*(volatile __near unsigned short *)0xFF90)
|
||||
#define SEC (*(volatile __near unsigned char *)0xFF92)
|
||||
#define MIN (*(volatile __near unsigned char *)0xFF93)
|
||||
#define HOUR (*(volatile __near unsigned char *)0xFF94)
|
||||
#define WEEK (*(volatile __near unsigned char *)0xFF95)
|
||||
#define DAY (*(volatile __near unsigned char *)0xFF96)
|
||||
#define MONTH (*(volatile __near unsigned char *)0xFF97)
|
||||
#define YEAR (*(volatile __near unsigned char *)0xFF98)
|
||||
#define SUBCUD (*(volatile __near unsigned char *)0xFF99)
|
||||
#define ALARMWM (*(volatile __near unsigned char *)0xFF9A)
|
||||
#define ALARMWH (*(volatile __near unsigned char *)0xFF9B)
|
||||
#define ALARMWW (*(volatile __near unsigned char *)0xFF9C)
|
||||
#define RTCC0 (*(volatile __near unsigned char *)0xFF9D)
|
||||
#define RTCC0_bit (*(volatile __near __bitf_T *)0xFF9D)
|
||||
#define RCLOE1 (((volatile __near __bitf_T *)0xFF9D)->no5)
|
||||
#define RTCE (((volatile __near __bitf_T *)0xFF9D)->no7)
|
||||
#define RTCC1 (*(volatile __near unsigned char *)0xFF9E)
|
||||
#define RTCC1_bit (*(volatile __near __bitf_T *)0xFF9E)
|
||||
#define RWAIT (((volatile __near __bitf_T *)0xFF9E)->no0)
|
||||
#define RWST (((volatile __near __bitf_T *)0xFF9E)->no1)
|
||||
#define RIFG (((volatile __near __bitf_T *)0xFF9E)->no3)
|
||||
#define WAFG (((volatile __near __bitf_T *)0xFF9E)->no4)
|
||||
#define WALIE (((volatile __near __bitf_T *)0xFF9E)->no6)
|
||||
#define WALE (((volatile __near __bitf_T *)0xFF9E)->no7)
|
||||
#define CMC (*(volatile __near unsigned char *)0xFFA0)
|
||||
#define CSC (*(volatile __near unsigned char *)0xFFA1)
|
||||
#define CSC_bit (*(volatile __near __bitf_T *)0xFFA1)
|
||||
#define HIOSTOP (((volatile __near __bitf_T *)0xFFA1)->no0)
|
||||
#define XTSTOP (((volatile __near __bitf_T *)0xFFA1)->no6)
|
||||
#define MSTOP (((volatile __near __bitf_T *)0xFFA1)->no7)
|
||||
#define OSTC (*(volatile __near unsigned char *)0xFFA2)
|
||||
#define OSTC_bit (*(volatile __near __bitf_T *)0xFFA2)
|
||||
#define OSTS (*(volatile __near unsigned char *)0xFFA3)
|
||||
#define CKC (*(volatile __near unsigned char *)0xFFA4)
|
||||
#define CKC_bit (*(volatile __near __bitf_T *)0xFFA4)
|
||||
#define SDIV (((volatile __near __bitf_T *)0xFFA4)->no3)
|
||||
#define MCM0 (((volatile __near __bitf_T *)0xFFA4)->no4)
|
||||
#define MCS (((volatile __near __bitf_T *)0xFFA4)->no5)
|
||||
#define CSS (((volatile __near __bitf_T *)0xFFA4)->no6)
|
||||
#define CLS (((volatile __near __bitf_T *)0xFFA4)->no7)
|
||||
#define CKS0 (*(volatile __near unsigned char *)0xFFA5)
|
||||
#define CKS0_bit (*(volatile __near __bitf_T *)0xFFA5)
|
||||
#define PCLOE0 (((volatile __near __bitf_T *)0xFFA5)->no7)
|
||||
#define CKS1 (*(volatile __near unsigned char *)0xFFA6)
|
||||
#define CKS1_bit (*(volatile __near __bitf_T *)0xFFA6)
|
||||
#define PCLOE1 (((volatile __near __bitf_T *)0xFFA6)->no7)
|
||||
#define RESF (*(volatile __near unsigned char *)0xFFA8)
|
||||
#define LVIM (*(volatile __near unsigned char *)0xFFA9)
|
||||
#define LVIM_bit (*(volatile __near __bitf_T *)0xFFA9)
|
||||
#define LVIF (((volatile __near __bitf_T *)0xFFA9)->no0)
|
||||
#define LVIOMSK (((volatile __near __bitf_T *)0xFFA9)->no1)
|
||||
#define LVISEN (((volatile __near __bitf_T *)0xFFA9)->no7)
|
||||
#define LVIS (*(volatile __near unsigned char *)0xFFAA)
|
||||
#define LVIS_bit (*(volatile __near __bitf_T *)0xFFAA)
|
||||
#define LVILV (((volatile __near __bitf_T *)0xFFAA)->no0)
|
||||
#define LVIMD (((volatile __near __bitf_T *)0xFFAA)->no7)
|
||||
#define WDTE (*(volatile __near unsigned char *)0xFFAB)
|
||||
#define CRCIN (*(volatile __near unsigned char *)0xFFAC)
|
||||
#define DSA0 (*(volatile __near unsigned char *)0xFFB0)
|
||||
#define DSA1 (*(volatile __near unsigned char *)0xFFB1)
|
||||
#define DRA0 (*(volatile __near unsigned short *)0xFFB2)
|
||||
#define DRA0L (*(volatile __near unsigned char *)0xFFB2)
|
||||
#define DRA0H (*(volatile __near unsigned char *)0xFFB3)
|
||||
#define DRA1 (*(volatile __near unsigned short *)0xFFB4)
|
||||
#define DRA1L (*(volatile __near unsigned char *)0xFFB4)
|
||||
#define DRA1H (*(volatile __near unsigned char *)0xFFB5)
|
||||
#define DBC0 (*(volatile __near unsigned short *)0xFFB6)
|
||||
#define DBC0L (*(volatile __near unsigned char *)0xFFB6)
|
||||
#define DBC0H (*(volatile __near unsigned char *)0xFFB7)
|
||||
#define DBC1 (*(volatile __near unsigned short *)0xFFB8)
|
||||
#define DBC1L (*(volatile __near unsigned char *)0xFFB8)
|
||||
#define DBC1H (*(volatile __near unsigned char *)0xFFB9)
|
||||
#define DMC0 (*(volatile __near unsigned char *)0xFFBA)
|
||||
#define DMC0_bit (*(volatile __near __bitf_T *)0xFFBA)
|
||||
#define DWAIT0 (((volatile __near __bitf_T *)0xFFBA)->no4)
|
||||
#define DS0 (((volatile __near __bitf_T *)0xFFBA)->no5)
|
||||
#define DRS0 (((volatile __near __bitf_T *)0xFFBA)->no6)
|
||||
#define STG0 (((volatile __near __bitf_T *)0xFFBA)->no7)
|
||||
#define DMC1 (*(volatile __near unsigned char *)0xFFBB)
|
||||
#define DMC1_bit (*(volatile __near __bitf_T *)0xFFBB)
|
||||
#define DWAIT1 (((volatile __near __bitf_T *)0xFFBB)->no4)
|
||||
#define DS1 (((volatile __near __bitf_T *)0xFFBB)->no5)
|
||||
#define DRS1 (((volatile __near __bitf_T *)0xFFBB)->no6)
|
||||
#define STG1 (((volatile __near __bitf_T *)0xFFBB)->no7)
|
||||
#define DRC0 (*(volatile __near unsigned char *)0xFFBC)
|
||||
#define DRC0_bit (*(volatile __near __bitf_T *)0xFFBC)
|
||||
#define DST0 (((volatile __near __bitf_T *)0xFFBC)->no0)
|
||||
#define DEN0 (((volatile __near __bitf_T *)0xFFBC)->no7)
|
||||
#define DRC1 (*(volatile __near unsigned char *)0xFFBD)
|
||||
#define DRC1_bit (*(volatile __near __bitf_T *)0xFFBD)
|
||||
#define DST1 (((volatile __near __bitf_T *)0xFFBD)->no0)
|
||||
#define DEN1 (((volatile __near __bitf_T *)0xFFBD)->no7)
|
||||
#define IF2 (*(volatile __near unsigned short *)0xFFD0)
|
||||
#define IF2L (*(volatile __near unsigned char *)0xFFD0)
|
||||
#define IF2L_bit (*(volatile __near __bitf_T *)0xFFD0)
|
||||
#define IF2H (*(volatile __near unsigned char *)0xFFD1)
|
||||
#define IF2H_bit (*(volatile __near __bitf_T *)0xFFD1)
|
||||
#define TMIF05 (((volatile __near __bitf_T *)0xFFD0)->no0)
|
||||
#define TMIF06 (((volatile __near __bitf_T *)0xFFD0)->no1)
|
||||
#define TMIF07 (((volatile __near __bitf_T *)0xFFD0)->no2)
|
||||
#define PIF6 (((volatile __near __bitf_T *)0xFFD0)->no3)
|
||||
#define PIF7 (((volatile __near __bitf_T *)0xFFD0)->no4)
|
||||
#define PIF8 (((volatile __near __bitf_T *)0xFFD0)->no5)
|
||||
#define PIF9 (((volatile __near __bitf_T *)0xFFD0)->no6)
|
||||
#define PIF10 (((volatile __near __bitf_T *)0xFFD0)->no7)
|
||||
#define PIF11 (((volatile __near __bitf_T *)0xFFD1)->no0)
|
||||
#define MDIF (((volatile __near __bitf_T *)0xFFD1)->no5)
|
||||
#define FLIF (((volatile __near __bitf_T *)0xFFD1)->no7)
|
||||
#define MK2 (*(volatile __near unsigned short *)0xFFD4)
|
||||
#define MK2L (*(volatile __near unsigned char *)0xFFD4)
|
||||
#define MK2L_bit (*(volatile __near __bitf_T *)0xFFD4)
|
||||
#define MK2H (*(volatile __near unsigned char *)0xFFD5)
|
||||
#define MK2H_bit (*(volatile __near __bitf_T *)0xFFD5)
|
||||
#define TMMK05 (((volatile __near __bitf_T *)0xFFD4)->no0)
|
||||
#define TMMK06 (((volatile __near __bitf_T *)0xFFD4)->no1)
|
||||
#define TMMK07 (((volatile __near __bitf_T *)0xFFD4)->no2)
|
||||
#define PMK6 (((volatile __near __bitf_T *)0xFFD4)->no3)
|
||||
#define PMK7 (((volatile __near __bitf_T *)0xFFD4)->no4)
|
||||
#define PMK8 (((volatile __near __bitf_T *)0xFFD4)->no5)
|
||||
#define PMK9 (((volatile __near __bitf_T *)0xFFD4)->no6)
|
||||
#define PMK10 (((volatile __near __bitf_T *)0xFFD4)->no7)
|
||||
#define PMK11 (((volatile __near __bitf_T *)0xFFD5)->no0)
|
||||
#define MDMK (((volatile __near __bitf_T *)0xFFD5)->no5)
|
||||
#define FLMK (((volatile __near __bitf_T *)0xFFD5)->no7)
|
||||
#define PR02 (*(volatile __near unsigned short *)0xFFD8)
|
||||
#define PR02L (*(volatile __near unsigned char *)0xFFD8)
|
||||
#define PR02L_bit (*(volatile __near __bitf_T *)0xFFD8)
|
||||
#define PR02H (*(volatile __near unsigned char *)0xFFD9)
|
||||
#define PR02H_bit (*(volatile __near __bitf_T *)0xFFD9)
|
||||
#define TMPR005 (((volatile __near __bitf_T *)0xFFD8)->no0)
|
||||
#define TMPR006 (((volatile __near __bitf_T *)0xFFD8)->no1)
|
||||
#define TMPR007 (((volatile __near __bitf_T *)0xFFD8)->no2)
|
||||
#define PPR06 (((volatile __near __bitf_T *)0xFFD8)->no3)
|
||||
#define PPR07 (((volatile __near __bitf_T *)0xFFD8)->no4)
|
||||
#define PPR08 (((volatile __near __bitf_T *)0xFFD8)->no5)
|
||||
#define PPR09 (((volatile __near __bitf_T *)0xFFD8)->no6)
|
||||
#define PPR010 (((volatile __near __bitf_T *)0xFFD8)->no7)
|
||||
#define PPR011 (((volatile __near __bitf_T *)0xFFD9)->no0)
|
||||
#define MDPR0 (((volatile __near __bitf_T *)0xFFD9)->no5)
|
||||
#define FLPR0 (((volatile __near __bitf_T *)0xFFD9)->no7)
|
||||
#define PR12 (*(volatile __near unsigned short *)0xFFDC)
|
||||
#define PR12L (*(volatile __near unsigned char *)0xFFDC)
|
||||
#define PR12L_bit (*(volatile __near __bitf_T *)0xFFDC)
|
||||
#define PR12H (*(volatile __near unsigned char *)0xFFDD)
|
||||
#define PR12H_bit (*(volatile __near __bitf_T *)0xFFDD)
|
||||
#define TMPR105 (((volatile __near __bitf_T *)0xFFDC)->no0)
|
||||
#define TMPR106 (((volatile __near __bitf_T *)0xFFDC)->no1)
|
||||
#define TMPR107 (((volatile __near __bitf_T *)0xFFDC)->no2)
|
||||
#define PPR16 (((volatile __near __bitf_T *)0xFFDC)->no3)
|
||||
#define PPR17 (((volatile __near __bitf_T *)0xFFDC)->no4)
|
||||
#define PPR18 (((volatile __near __bitf_T *)0xFFDC)->no5)
|
||||
#define PPR19 (((volatile __near __bitf_T *)0xFFDC)->no6)
|
||||
#define PPR110 (((volatile __near __bitf_T *)0xFFDC)->no7)
|
||||
#define PPR111 (((volatile __near __bitf_T *)0xFFDD)->no0)
|
||||
#define MDPR1 (((volatile __near __bitf_T *)0xFFDD)->no5)
|
||||
#define FLPR1 (((volatile __near __bitf_T *)0xFFDD)->no7)
|
||||
#define IF0 (*(volatile __near unsigned short *)0xFFE0)
|
||||
#define IF0L (*(volatile __near unsigned char *)0xFFE0)
|
||||
#define IF0L_bit (*(volatile __near __bitf_T *)0xFFE0)
|
||||
#define IF0H (*(volatile __near unsigned char *)0xFFE1)
|
||||
#define IF0H_bit (*(volatile __near __bitf_T *)0xFFE1)
|
||||
#define WDTIIF (((volatile __near __bitf_T *)0xFFE0)->no0)
|
||||
#define LVIIF (((volatile __near __bitf_T *)0xFFE0)->no1)
|
||||
#define PIF0 (((volatile __near __bitf_T *)0xFFE0)->no2)
|
||||
#define PIF1 (((volatile __near __bitf_T *)0xFFE0)->no3)
|
||||
#define PIF2 (((volatile __near __bitf_T *)0xFFE0)->no4)
|
||||
#define PIF3 (((volatile __near __bitf_T *)0xFFE0)->no5)
|
||||
#define PIF4 (((volatile __near __bitf_T *)0xFFE0)->no6)
|
||||
#define PIF5 (((volatile __near __bitf_T *)0xFFE0)->no7)
|
||||
#define CSIIF20 (((volatile __near __bitf_T *)0xFFE1)->no0)
|
||||
#define IICIF20 (((volatile __near __bitf_T *)0xFFE1)->no0)
|
||||
#define STIF2 (((volatile __near __bitf_T *)0xFFE1)->no0)
|
||||
#define CSIIF21 (((volatile __near __bitf_T *)0xFFE1)->no1)
|
||||
#define IICIF21 (((volatile __near __bitf_T *)0xFFE1)->no1)
|
||||
#define SRIF2 (((volatile __near __bitf_T *)0xFFE1)->no1)
|
||||
#define SREIF2 (((volatile __near __bitf_T *)0xFFE1)->no2)
|
||||
#define DMAIF0 (((volatile __near __bitf_T *)0xFFE1)->no3)
|
||||
#define DMAIF1 (((volatile __near __bitf_T *)0xFFE1)->no4)
|
||||
#define CSIIF00 (((volatile __near __bitf_T *)0xFFE1)->no5)
|
||||
#define IICIF00 (((volatile __near __bitf_T *)0xFFE1)->no5)
|
||||
#define STIF0 (((volatile __near __bitf_T *)0xFFE1)->no5)
|
||||
#define CSIIF01 (((volatile __near __bitf_T *)0xFFE1)->no6)
|
||||
#define IICIF01 (((volatile __near __bitf_T *)0xFFE1)->no6)
|
||||
#define SRIF0 (((volatile __near __bitf_T *)0xFFE1)->no6)
|
||||
#define SREIF0 (((volatile __near __bitf_T *)0xFFE1)->no7)
|
||||
#define TMIF01H (((volatile __near __bitf_T *)0xFFE1)->no7)
|
||||
#define IF1 (*(volatile __near unsigned short *)0xFFE2)
|
||||
#define IF1L (*(volatile __near unsigned char *)0xFFE2)
|
||||
#define IF1L_bit (*(volatile __near __bitf_T *)0xFFE2)
|
||||
#define IF1H (*(volatile __near unsigned char *)0xFFE3)
|
||||
#define IF1H_bit (*(volatile __near __bitf_T *)0xFFE3)
|
||||
#define CSIIF10 (((volatile __near __bitf_T *)0xFFE2)->no0)
|
||||
#define IICIF10 (((volatile __near __bitf_T *)0xFFE2)->no0)
|
||||
#define STIF1 (((volatile __near __bitf_T *)0xFFE2)->no0)
|
||||
#define CSIIF11 (((volatile __near __bitf_T *)0xFFE2)->no1)
|
||||
#define IICIF11 (((volatile __near __bitf_T *)0xFFE2)->no1)
|
||||
#define SRIF1 (((volatile __near __bitf_T *)0xFFE2)->no1)
|
||||
#define SREIF1 (((volatile __near __bitf_T *)0xFFE2)->no2)
|
||||
#define TMIF03H (((volatile __near __bitf_T *)0xFFE2)->no2)
|
||||
#define IICAIF0 (((volatile __near __bitf_T *)0xFFE2)->no3)
|
||||
#define TMIF00 (((volatile __near __bitf_T *)0xFFE2)->no4)
|
||||
#define TMIF01 (((volatile __near __bitf_T *)0xFFE2)->no5)
|
||||
#define TMIF02 (((volatile __near __bitf_T *)0xFFE2)->no6)
|
||||
#define TMIF03 (((volatile __near __bitf_T *)0xFFE2)->no7)
|
||||
#define ADIF (((volatile __near __bitf_T *)0xFFE3)->no0)
|
||||
#define RTCIF (((volatile __near __bitf_T *)0xFFE3)->no1)
|
||||
#define ITIF (((volatile __near __bitf_T *)0xFFE3)->no2)
|
||||
#define KRIF (((volatile __near __bitf_T *)0xFFE3)->no3)
|
||||
#define TMIF04 (((volatile __near __bitf_T *)0xFFE3)->no7)
|
||||
#define MK0 (*(volatile __near unsigned short *)0xFFE4)
|
||||
#define MK0L (*(volatile __near unsigned char *)0xFFE4)
|
||||
#define MK0L_bit (*(volatile __near __bitf_T *)0xFFE4)
|
||||
#define MK0H (*(volatile __near unsigned char *)0xFFE5)
|
||||
#define MK0H_bit (*(volatile __near __bitf_T *)0xFFE5)
|
||||
#define WDTIMK (((volatile __near __bitf_T *)0xFFE4)->no0)
|
||||
#define LVIMK (((volatile __near __bitf_T *)0xFFE4)->no1)
|
||||
#define PMK0 (((volatile __near __bitf_T *)0xFFE4)->no2)
|
||||
#define PMK1 (((volatile __near __bitf_T *)0xFFE4)->no3)
|
||||
#define PMK2 (((volatile __near __bitf_T *)0xFFE4)->no4)
|
||||
#define PMK3 (((volatile __near __bitf_T *)0xFFE4)->no5)
|
||||
#define PMK4 (((volatile __near __bitf_T *)0xFFE4)->no6)
|
||||
#define PMK5 (((volatile __near __bitf_T *)0xFFE4)->no7)
|
||||
#define CSIMK20 (((volatile __near __bitf_T *)0xFFE5)->no0)
|
||||
#define IICMK20 (((volatile __near __bitf_T *)0xFFE5)->no0)
|
||||
#define STMK2 (((volatile __near __bitf_T *)0xFFE5)->no0)
|
||||
#define CSIMK21 (((volatile __near __bitf_T *)0xFFE5)->no1)
|
||||
#define IICMK21 (((volatile __near __bitf_T *)0xFFE5)->no1)
|
||||
#define SRMK2 (((volatile __near __bitf_T *)0xFFE5)->no1)
|
||||
#define SREMK2 (((volatile __near __bitf_T *)0xFFE5)->no2)
|
||||
#define DMAMK0 (((volatile __near __bitf_T *)0xFFE5)->no3)
|
||||
#define DMAMK1 (((volatile __near __bitf_T *)0xFFE5)->no4)
|
||||
#define CSIMK00 (((volatile __near __bitf_T *)0xFFE5)->no5)
|
||||
#define IICMK00 (((volatile __near __bitf_T *)0xFFE5)->no5)
|
||||
#define STMK0 (((volatile __near __bitf_T *)0xFFE5)->no5)
|
||||
#define CSIMK01 (((volatile __near __bitf_T *)0xFFE5)->no6)
|
||||
#define IICMK01 (((volatile __near __bitf_T *)0xFFE5)->no6)
|
||||
#define SRMK0 (((volatile __near __bitf_T *)0xFFE5)->no6)
|
||||
#define SREMK0 (((volatile __near __bitf_T *)0xFFE5)->no7)
|
||||
#define TMMK01H (((volatile __near __bitf_T *)0xFFE5)->no7)
|
||||
#define MK1 (*(volatile __near unsigned short *)0xFFE6)
|
||||
#define MK1L (*(volatile __near unsigned char *)0xFFE6)
|
||||
#define MK1L_bit (*(volatile __near __bitf_T *)0xFFE6)
|
||||
#define MK1H (*(volatile __near unsigned char *)0xFFE7)
|
||||
#define MK1H_bit (*(volatile __near __bitf_T *)0xFFE7)
|
||||
#define CSIMK10 (((volatile __near __bitf_T *)0xFFE6)->no0)
|
||||
#define IICMK10 (((volatile __near __bitf_T *)0xFFE6)->no0)
|
||||
#define STMK1 (((volatile __near __bitf_T *)0xFFE6)->no0)
|
||||
#define CSIMK11 (((volatile __near __bitf_T *)0xFFE6)->no1)
|
||||
#define IICMK11 (((volatile __near __bitf_T *)0xFFE6)->no1)
|
||||
#define SRMK1 (((volatile __near __bitf_T *)0xFFE6)->no1)
|
||||
#define SREMK1 (((volatile __near __bitf_T *)0xFFE6)->no2)
|
||||
#define TMMK03H (((volatile __near __bitf_T *)0xFFE6)->no2)
|
||||
#define IICAMK0 (((volatile __near __bitf_T *)0xFFE6)->no3)
|
||||
#define TMMK00 (((volatile __near __bitf_T *)0xFFE6)->no4)
|
||||
#define TMMK01 (((volatile __near __bitf_T *)0xFFE6)->no5)
|
||||
#define TMMK02 (((volatile __near __bitf_T *)0xFFE6)->no6)
|
||||
#define TMMK03 (((volatile __near __bitf_T *)0xFFE6)->no7)
|
||||
#define ADMK (((volatile __near __bitf_T *)0xFFE7)->no0)
|
||||
#define RTCMK (((volatile __near __bitf_T *)0xFFE7)->no1)
|
||||
#define ITMK (((volatile __near __bitf_T *)0xFFE7)->no2)
|
||||
#define KRMK (((volatile __near __bitf_T *)0xFFE7)->no3)
|
||||
#define TMMK04 (((volatile __near __bitf_T *)0xFFE7)->no7)
|
||||
#define PR00 (*(volatile __near unsigned short *)0xFFE8)
|
||||
#define PR00L (*(volatile __near unsigned char *)0xFFE8)
|
||||
#define PR00L_bit (*(volatile __near __bitf_T *)0xFFE8)
|
||||
#define PR00H (*(volatile __near unsigned char *)0xFFE9)
|
||||
#define PR00H_bit (*(volatile __near __bitf_T *)0xFFE9)
|
||||
#define WDTIPR0 (((volatile __near __bitf_T *)0xFFE8)->no0)
|
||||
#define LVIPR0 (((volatile __near __bitf_T *)0xFFE8)->no1)
|
||||
#define PPR00 (((volatile __near __bitf_T *)0xFFE8)->no2)
|
||||
#define PPR01 (((volatile __near __bitf_T *)0xFFE8)->no3)
|
||||
#define PPR02 (((volatile __near __bitf_T *)0xFFE8)->no4)
|
||||
#define PPR03 (((volatile __near __bitf_T *)0xFFE8)->no5)
|
||||
#define PPR04 (((volatile __near __bitf_T *)0xFFE8)->no6)
|
||||
#define PPR05 (((volatile __near __bitf_T *)0xFFE8)->no7)
|
||||
#define CSIPR020 (((volatile __near __bitf_T *)0xFFE9)->no0)
|
||||
#define IICPR020 (((volatile __near __bitf_T *)0xFFE9)->no0)
|
||||
#define STPR02 (((volatile __near __bitf_T *)0xFFE9)->no0)
|
||||
#define CSIPR021 (((volatile __near __bitf_T *)0xFFE9)->no1)
|
||||
#define IICPR021 (((volatile __near __bitf_T *)0xFFE9)->no1)
|
||||
#define SRPR02 (((volatile __near __bitf_T *)0xFFE9)->no1)
|
||||
#define SREPR02 (((volatile __near __bitf_T *)0xFFE9)->no2)
|
||||
#define DMAPR00 (((volatile __near __bitf_T *)0xFFE9)->no3)
|
||||
#define DMAPR01 (((volatile __near __bitf_T *)0xFFE9)->no4)
|
||||
#define CSIPR000 (((volatile __near __bitf_T *)0xFFE9)->no5)
|
||||
#define IICPR000 (((volatile __near __bitf_T *)0xFFE9)->no5)
|
||||
#define STPR00 (((volatile __near __bitf_T *)0xFFE9)->no5)
|
||||
#define CSIPR001 (((volatile __near __bitf_T *)0xFFE9)->no6)
|
||||
#define IICPR001 (((volatile __near __bitf_T *)0xFFE9)->no6)
|
||||
#define SRPR00 (((volatile __near __bitf_T *)0xFFE9)->no6)
|
||||
#define SREPR00 (((volatile __near __bitf_T *)0xFFE9)->no7)
|
||||
#define TMPR001H (((volatile __near __bitf_T *)0xFFE9)->no7)
|
||||
#define PR01 (*(volatile __near unsigned short *)0xFFEA)
|
||||
#define PR01L (*(volatile __near unsigned char *)0xFFEA)
|
||||
#define PR01L_bit (*(volatile __near __bitf_T *)0xFFEA)
|
||||
#define PR01H (*(volatile __near unsigned char *)0xFFEB)
|
||||
#define PR01H_bit (*(volatile __near __bitf_T *)0xFFEB)
|
||||
#define CSIPR010 (((volatile __near __bitf_T *)0xFFEA)->no0)
|
||||
#define IICPR010 (((volatile __near __bitf_T *)0xFFEA)->no0)
|
||||
#define STPR01 (((volatile __near __bitf_T *)0xFFEA)->no0)
|
||||
#define CSIPR011 (((volatile __near __bitf_T *)0xFFEA)->no1)
|
||||
#define IICPR011 (((volatile __near __bitf_T *)0xFFEA)->no1)
|
||||
#define SRPR01 (((volatile __near __bitf_T *)0xFFEA)->no1)
|
||||
#define SREPR01 (((volatile __near __bitf_T *)0xFFEA)->no2)
|
||||
#define TMPR003H (((volatile __near __bitf_T *)0xFFEA)->no2)
|
||||
#define IICAPR00 (((volatile __near __bitf_T *)0xFFEA)->no3)
|
||||
#define TMPR000 (((volatile __near __bitf_T *)0xFFEA)->no4)
|
||||
#define TMPR001 (((volatile __near __bitf_T *)0xFFEA)->no5)
|
||||
#define TMPR002 (((volatile __near __bitf_T *)0xFFEA)->no6)
|
||||
#define TMPR003 (((volatile __near __bitf_T *)0xFFEA)->no7)
|
||||
#define ADPR0 (((volatile __near __bitf_T *)0xFFEB)->no0)
|
||||
#define RTCPR0 (((volatile __near __bitf_T *)0xFFEB)->no1)
|
||||
#define ITPR0 (((volatile __near __bitf_T *)0xFFEB)->no2)
|
||||
#define KRPR0 (((volatile __near __bitf_T *)0xFFEB)->no3)
|
||||
#define TMPR004 (((volatile __near __bitf_T *)0xFFEB)->no7)
|
||||
#define PR10 (*(volatile __near unsigned short *)0xFFEC)
|
||||
#define PR10L (*(volatile __near unsigned char *)0xFFEC)
|
||||
#define PR10L_bit (*(volatile __near __bitf_T *)0xFFEC)
|
||||
#define PR10H (*(volatile __near unsigned char *)0xFFED)
|
||||
#define PR10H_bit (*(volatile __near __bitf_T *)0xFFED)
|
||||
#define WDTIPR1 (((volatile __near __bitf_T *)0xFFEC)->no0)
|
||||
#define LVIPR1 (((volatile __near __bitf_T *)0xFFEC)->no1)
|
||||
#define PPR10 (((volatile __near __bitf_T *)0xFFEC)->no2)
|
||||
#define PPR11 (((volatile __near __bitf_T *)0xFFEC)->no3)
|
||||
#define PPR12 (((volatile __near __bitf_T *)0xFFEC)->no4)
|
||||
#define PPR13 (((volatile __near __bitf_T *)0xFFEC)->no5)
|
||||
#define PPR14 (((volatile __near __bitf_T *)0xFFEC)->no6)
|
||||
#define PPR15 (((volatile __near __bitf_T *)0xFFEC)->no7)
|
||||
#define CSIPR120 (((volatile __near __bitf_T *)0xFFED)->no0)
|
||||
#define IICPR120 (((volatile __near __bitf_T *)0xFFED)->no0)
|
||||
#define STPR12 (((volatile __near __bitf_T *)0xFFED)->no0)
|
||||
#define CSIPR121 (((volatile __near __bitf_T *)0xFFED)->no1)
|
||||
#define IICPR121 (((volatile __near __bitf_T *)0xFFED)->no1)
|
||||
#define SRPR12 (((volatile __near __bitf_T *)0xFFED)->no1)
|
||||
#define SREPR12 (((volatile __near __bitf_T *)0xFFED)->no2)
|
||||
#define DMAPR10 (((volatile __near __bitf_T *)0xFFED)->no3)
|
||||
#define DMAPR11 (((volatile __near __bitf_T *)0xFFED)->no4)
|
||||
#define CSIPR100 (((volatile __near __bitf_T *)0xFFED)->no5)
|
||||
#define IICPR100 (((volatile __near __bitf_T *)0xFFED)->no5)
|
||||
#define STPR10 (((volatile __near __bitf_T *)0xFFED)->no5)
|
||||
#define CSIPR101 (((volatile __near __bitf_T *)0xFFED)->no6)
|
||||
#define IICPR101 (((volatile __near __bitf_T *)0xFFED)->no6)
|
||||
#define SRPR10 (((volatile __near __bitf_T *)0xFFED)->no6)
|
||||
#define SREPR10 (((volatile __near __bitf_T *)0xFFED)->no7)
|
||||
#define TMPR101H (((volatile __near __bitf_T *)0xFFED)->no7)
|
||||
#define PR11 (*(volatile __near unsigned short *)0xFFEE)
|
||||
#define PR11L (*(volatile __near unsigned char *)0xFFEE)
|
||||
#define PR11L_bit (*(volatile __near __bitf_T *)0xFFEE)
|
||||
#define PR11H (*(volatile __near unsigned char *)0xFFEF)
|
||||
#define PR11H_bit (*(volatile __near __bitf_T *)0xFFEF)
|
||||
#define CSIPR110 (((volatile __near __bitf_T *)0xFFEE)->no0)
|
||||
#define IICPR110 (((volatile __near __bitf_T *)0xFFEE)->no0)
|
||||
#define STPR11 (((volatile __near __bitf_T *)0xFFEE)->no0)
|
||||
#define CSIPR111 (((volatile __near __bitf_T *)0xFFEE)->no1)
|
||||
#define IICPR111 (((volatile __near __bitf_T *)0xFFEE)->no1)
|
||||
#define SRPR11 (((volatile __near __bitf_T *)0xFFEE)->no1)
|
||||
#define SREPR11 (((volatile __near __bitf_T *)0xFFEE)->no2)
|
||||
#define TMPR103H (((volatile __near __bitf_T *)0xFFEE)->no2)
|
||||
#define IICAPR10 (((volatile __near __bitf_T *)0xFFEE)->no3)
|
||||
#define TMPR100 (((volatile __near __bitf_T *)0xFFEE)->no4)
|
||||
#define TMPR101 (((volatile __near __bitf_T *)0xFFEE)->no5)
|
||||
#define TMPR102 (((volatile __near __bitf_T *)0xFFEE)->no6)
|
||||
#define TMPR103 (((volatile __near __bitf_T *)0xFFEE)->no7)
|
||||
#define ADPR1 (((volatile __near __bitf_T *)0xFFEF)->no0)
|
||||
#define RTCPR1 (((volatile __near __bitf_T *)0xFFEF)->no1)
|
||||
#define ITPR1 (((volatile __near __bitf_T *)0xFFEF)->no2)
|
||||
#define KRPR1 (((volatile __near __bitf_T *)0xFFEF)->no3)
|
||||
#define TMPR104 (((volatile __near __bitf_T *)0xFFEF)->no7)
|
||||
#define MDAL (*(volatile __near unsigned short *)0xFFF0)
|
||||
#define MULA (*(volatile __near unsigned short *)0xFFF0)
|
||||
#define MDAH (*(volatile __near unsigned short *)0xFFF2)
|
||||
#define MULB (*(volatile __near unsigned short *)0xFFF2)
|
||||
#define MDBH (*(volatile __near unsigned short *)0xFFF4)
|
||||
#define MULOH (*(volatile __near unsigned short *)0xFFF4)
|
||||
#define MDBL (*(volatile __near unsigned short *)0xFFF6)
|
||||
#define MULOL (*(volatile __near unsigned short *)0xFFF6)
|
||||
#define PMC (*(volatile __near unsigned char *)0xFFFE)
|
||||
#define PMC_bit (*(volatile __near __bitf_T *)0xFFFE)
|
||||
#define MAA (((volatile __near __bitf_T *)0xFFFE)->no0)
|
||||
|
||||
|
||||
#define INTWDTI 0x0004
|
||||
#define INTLVI 0x0006
|
||||
#define INTP0 0x0008
|
||||
#define INTP1 0x000A
|
||||
#define INTP2 0x000C
|
||||
#define INTP3 0x000E
|
||||
#define INTP4 0x0010
|
||||
#define INTP5 0x0012
|
||||
#define INTCSI20 0x0014
|
||||
#define INTIIC20 0x0014
|
||||
#define INTST2 0x0014
|
||||
#define INTCSI21 0x0016
|
||||
#define INTIIC21 0x0016
|
||||
#define INTSR2 0x0016
|
||||
#define INTSRE2 0x0018
|
||||
#define INTDMA0 0x001A
|
||||
#define INTDMA1 0x001C
|
||||
#define INTCSI00 0x001E
|
||||
#define INTIIC00 0x001E
|
||||
#define INTST0 0x001E
|
||||
#define INTCSI01 0x0020
|
||||
#define INTIIC01 0x0020
|
||||
#define INTSR0 0x0020
|
||||
#define INTSRE0 0x0022
|
||||
#define INTTM01H 0x0022
|
||||
#define INTCSI10 0x0024
|
||||
#define INTIIC10 0x0024
|
||||
#define INTST1 0x0024
|
||||
#define INTCSI11 0x0026
|
||||
#define INTIIC11 0x0026
|
||||
#define INTSR1 0x0026
|
||||
#define INTSRE1 0x0028
|
||||
#define INTTM03H 0x0028
|
||||
#define INTIICA0 0x002A
|
||||
#define INTTM00 0x002C
|
||||
#define INTTM01 0x002E
|
||||
#define INTTM02 0x0030
|
||||
#define INTTM03 0x0032
|
||||
#define INTAD 0x0034
|
||||
#define INTRTC 0x0036
|
||||
#define INTIT 0x0038
|
||||
#define INTKR 0x003A
|
||||
#define INTTM04 0x0042
|
||||
#define INTTM05 0x0044
|
||||
#define INTTM06 0x0046
|
||||
#define INTTM07 0x0048
|
||||
#define INTP6 0x004A
|
||||
#define INTP7 0x004C
|
||||
#define INTP8 0x004E
|
||||
#define INTP9 0x0050
|
||||
#define INTP10 0x0052
|
||||
#define INTP11 0x0054
|
||||
#define INTMD 0x005E
|
||||
#define INTFL 0x0062
|
||||
|
||||
#endif
|
||||
17
Living_SDK/platform/arch/rl78/ccrl/startup/main.c
Normal file
17
Living_SDK/platform/arch/rl78/ccrl/startup/main.c
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :Main.c */
|
||||
/* DATE : */
|
||||
/* DESCRIPTION :Main Program */
|
||||
/* CPU TYPE : */
|
||||
/* */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
void main(void);
|
||||
|
||||
void main(void)
|
||||
{
|
||||
|
||||
}
|
||||
67
Living_SDK/platform/arch/rl78/ccrl/startup/stkinit.asm
Normal file
67
Living_SDK/platform/arch/rl78/ccrl/startup/stkinit.asm
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
; Copyright (C) 2014 Renesas Electronics Corporation
|
||||
; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY.
|
||||
; This program must be used solely for the purpose for which
|
||||
; it was furnished by Renesas Electronics Corporation. No part of this
|
||||
; program may be reproduced or disclosed to others, in any
|
||||
; form, without the prior written permission of Renesas Electronics
|
||||
; Corporation.
|
||||
;---------------------------------------------------------------------
|
||||
; _stkinit
|
||||
;
|
||||
; void _stkinit(void __near * stackbss);
|
||||
;
|
||||
; input:
|
||||
; stackbss = AX (#LOWW(_stackend))
|
||||
; output:
|
||||
; NONE
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
; NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
|
||||
.PUBLIC _stkinit
|
||||
|
||||
.textf .CSEG TEXTF
|
||||
_stkinit:
|
||||
MOVW HL,AX ; stack_end_addr
|
||||
MOV [SP+3],#0x00 ; [SP+0]-[SP+2] for return address
|
||||
MOVW AX,SP
|
||||
SUBW AX,HL ; SUBW AX,#LOWW _@STEND
|
||||
BNH $LSTINIT3 ; goto end
|
||||
SHRW AX,5 ; loop count for 32 byte transfer
|
||||
MOVW BC,AX
|
||||
CLRW AX
|
||||
LSTINIT1:
|
||||
CMPW AX,BC
|
||||
BZ $LSTINIT2
|
||||
MOVW [HL],AX
|
||||
MOVW [HL+2],AX
|
||||
MOVW [HL+4],AX
|
||||
MOVW [HL+6],AX
|
||||
MOVW [HL+8],AX
|
||||
MOVW [HL+10],AX
|
||||
MOVW [HL+12],AX
|
||||
MOVW [HL+14],AX
|
||||
MOVW [HL+16],AX
|
||||
MOVW [HL+18],AX
|
||||
MOVW [HL+20],AX
|
||||
MOVW [HL+22],AX
|
||||
MOVW [HL+24],AX
|
||||
MOVW [HL+26],AX
|
||||
MOVW [HL+28],AX
|
||||
MOVW [HL+30],AX
|
||||
XCHW AX,HL
|
||||
ADDW AX,#0x20
|
||||
XCHW AX,HL
|
||||
DECW BC
|
||||
BR $LSTINIT1
|
||||
LSTINIT2:
|
||||
MOVW AX,SP
|
||||
CMPW AX,HL
|
||||
BZ $LSTINIT3 ; goto end
|
||||
CLRW AX
|
||||
MOVW [HL],AX
|
||||
INCW HL
|
||||
INCW HL
|
||||
BR $LSTINIT2
|
||||
LSTINIT3:
|
||||
RET
|
||||
27
Living_SDK/platform/arch/rl78/iar/k_types.h
Normal file
27
Living_SDK/platform/arch/rl78/iar/k_types.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#ifndef TYPES_H
|
||||
#define TYPES_H
|
||||
|
||||
#define RHINO_TASK_STACK_OVF_MAGIC 0xdeadu /* 32 bit or 64 bit stack overflow magic value */
|
||||
#define RHINO_INTRPT_STACK_OVF_MAGIC 0xdeadu /* 32 bit or 64 bit stack overflow magic value */
|
||||
#define RHINO_MM_CORRUPT_DYE 0xFEFE
|
||||
#define RHINO_MM_FREE_DYE 0xABAB
|
||||
#define RHINO_INLINE static inline /* inline keyword, it may change under different compilers */
|
||||
|
||||
typedef char name_t;
|
||||
typedef uint32_t sem_count_t;
|
||||
typedef uint16_t cpu_stack_t;
|
||||
typedef uint32_t hr_timer_t;
|
||||
typedef uint32_t lr_timer_t;
|
||||
typedef uint32_t mutex_nested_t;
|
||||
typedef uint8_t suspend_nested_t;
|
||||
|
||||
typedef uint64_t ctx_switch_t;
|
||||
typedef uint32_t cpu_cpsr_t;
|
||||
|
||||
|
||||
#endif /* TYPES_H */
|
||||
|
||||
29
Living_SDK/platform/arch/rl78/iar/port.h
Normal file
29
Living_SDK/platform/arch/rl78/iar/port.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#ifndef PORT_H
|
||||
#define PORT_H
|
||||
#include <intrinsics.h>
|
||||
|
||||
|
||||
void cpu_intrpt_switch(void);
|
||||
void cpu_first_task_start(void);
|
||||
void *cpu_task_stack_init(cpu_stack_t *base, size_t size, void *arg, task_entry_t entry);
|
||||
|
||||
RHINO_INLINE uint8_t cpu_cur_get(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define cpu_task_switch() __break()
|
||||
|
||||
#define cpu_intrpt_save() __get_interrupt_state();__disable_interrupt()
|
||||
#define cpu_intrpt_restore(cpsr) __set_interrupt_state(cpsr)
|
||||
|
||||
#define CPSR_ALLOC() uint32_t cpsr
|
||||
#define RHINO_CPU_INTRPT_DISABLE() { cpsr = cpu_intrpt_save(); }
|
||||
#define RHINO_CPU_INTRPT_ENABLE() { cpu_intrpt_restore(cpsr); }
|
||||
|
||||
#endif /* PORT_H */
|
||||
|
||||
24
Living_SDK/platform/arch/rl78/iar/port_c.c
Normal file
24
Living_SDK/platform/arch/rl78/iar/port_c.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
||||
*/
|
||||
|
||||
#include <k_api.h>
|
||||
|
||||
void *cpu_task_stack_init(cpu_stack_t *stack_base, size_t stack_size,
|
||||
void *arg, task_entry_t entry)
|
||||
{
|
||||
cpu_stack_t *stk;
|
||||
stk = (cpu_stack_t *)(stack_base + stack_size);
|
||||
*--stk = (cpu_stack_t)((uint32_t)arg >> 16);
|
||||
*--stk = (cpu_stack_t)arg;
|
||||
*--stk = (cpu_stack_t)(((uint32_t)entry >> 16) & 0x000F) | 0x8600;
|
||||
*--stk = (cpu_stack_t)entry;
|
||||
*--stk = 0x1100;
|
||||
*--stk = 0x3322;
|
||||
*--stk = 0x5544;
|
||||
*--stk = 0x7766;
|
||||
*--stk = 0x0F00;
|
||||
|
||||
return stk;
|
||||
}
|
||||
|
||||
43
Living_SDK/platform/arch/rl78/iar/port_cpu.inc
Normal file
43
Living_SDK/platform/arch/rl78/iar/port_cpu.inc
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
EXTERN _g_active_task
|
||||
EXTERN _krhino_intrpt_enter
|
||||
EXTERN _krhino_intrpt_exit
|
||||
|
||||
RSEG CODE:CODE:NOROOT(1)
|
||||
|
||||
PUSHALL MACRO
|
||||
PUSH RP0
|
||||
PUSH RP1
|
||||
PUSH RP2
|
||||
PUSH RP3
|
||||
MOV A, CS
|
||||
MOV X, A
|
||||
MOV A, ES
|
||||
PUSH RP0
|
||||
ENDM
|
||||
|
||||
POPALL MACRO
|
||||
POP RP0
|
||||
MOV ES, A
|
||||
MOV A, X
|
||||
MOV CS, A
|
||||
POP RP3
|
||||
POP RP2
|
||||
POP RP1
|
||||
POP RP0
|
||||
ENDM
|
||||
|
||||
sys_isr_enter MACRO
|
||||
PUSHALL
|
||||
MOVW RP2, _g_active_task
|
||||
MOVW RP0, SP
|
||||
MOVW [RP2], RP0
|
||||
CALL _krhino_intrpt_enter
|
||||
ENDM
|
||||
|
||||
sys_isr_exit MACRO
|
||||
CALL _krhino_intrpt_exit
|
||||
POPALL
|
||||
RETI
|
||||
ENDM
|
||||
|
||||
49
Living_SDK/platform/arch/rl78/iar/port_cpu.s
Normal file
49
Living_SDK/platform/arch/rl78/iar/port_cpu.s
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include "port_cpu.inc"
|
||||
|
||||
NAME ?cpu_port
|
||||
|
||||
PUBLIC ___interrupt_0x7E
|
||||
PUBLIC _cpu_first_task_start
|
||||
PUBLIC _task_switch
|
||||
PUBLIC _cpu_intrpt_switch
|
||||
|
||||
EXTERN _g_preferred_ready_task
|
||||
EXTERN _g_active_task
|
||||
|
||||
SECTION .text:CODE:ROOT(1)
|
||||
|
||||
_cpu_first_task_start:
|
||||
MOVW RP1, _g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
POPALL
|
||||
RETI
|
||||
|
||||
___interrupt_0x7E:
|
||||
_task_switch:
|
||||
PUSHALL
|
||||
MOVW RP2, _g_active_task
|
||||
MOVW RP0, SP
|
||||
MOVW [RP2], RP0
|
||||
MOVW RP0, _g_preferred_ready_task
|
||||
MOVW _g_active_task, RP0
|
||||
|
||||
MOVW RP1, _g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
|
||||
POPALL
|
||||
|
||||
RETI
|
||||
|
||||
_cpu_intrpt_switch:
|
||||
MOVW RP0, _g_preferred_ready_task
|
||||
MOVW _g_active_task, RP0
|
||||
MOVW RP1, _g_preferred_ready_task
|
||||
MOVW RP0, 0x0000[RP1]
|
||||
MOVW SP, RP0
|
||||
POPALL
|
||||
RETI
|
||||
|
||||
END
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue