资源简介
注释比较详细。 供新手学习教学。
代码片段和文件信息
/******************************************************************************
FILE : datapage.c
PURPOSE : paged data access runtime routines
MACHINE : Freescale 68HC12 (Target)
LANGUAGE : ANSI-C
HISTORY : 21.7.96 first version created
******************************************************************************/
#include “hidef.h“
#include “non_bank.sgm“
#include “runtime.sgm“
/*lint --e{957} MISRA 8.1 REQ these are runtime support functions and as such are not meant to be called in user code; they are only invoked via jumps in compiler-generated code */
/*lint -estring(553 __OPTION_ACTIVE__) MISRA 19.11 REQ __OPTION_ACTIVE__ is a built-in compiler construct to check for active compiler options */
#ifndef __HCS12X__ /* it‘s different for the HCS12X. See the text below at the #else // __HCS12X__ */
/*
According to the -Cp option of the compiler the
__DPAGE__ __PPAGE__ and __EPAGE__ macros are defined.
If none of them is given as argument then no page accesses should occur and
this runtime routine should not be used !
To be on the save side the runtime routines are created anyway.
*/
/* Compile with option -DHCS12 to activate this code */
#if defined(HCS12) || defined(_HCS12) || defined(__HCS12__)
#ifndef PPAGE_ADDR
#ifdef __PPAGE_ADR__
#define PPAGE_ADDR __PPAGE_ADR__
#else
#define PPAGE_ADDR (0x30 + REGISTER_base)
#endif
#endif
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
/* Compile with option -DDG128 to activate this code */
#elif defined DG128 /* HC912DG128 derivative has PPAGE register only at 0xFF */
#ifndef PPAGE_ADDR
#define PPAGE_ADDR (0xFF+REGISTER_base)
#endif
#ifndef __PPAGE__ /* may be set already by option -CPPPAGE */
#define __PPAGE__
#endif
#elif defined(HC812A4)
/* all setting default to A4 already */
#endif
#if !defined(__EPAGE__) && !defined(__PPAGE__) && !defined(__DPAGE__)
/* as default use all page registers */
#define __DPAGE__
#define __EPAGE__
#define __PPAGE__
#endif
/* modify the following defines to your memory configuration */
#define EPAGE_LOW_BOUND 0x400u
#define EPAGE_HIGH_BOUND 0x7ffu
#define DPAGE_LOW_BOUND 0x7000u
#define DPAGE_HIGH_BOUND 0x7fffu
#define PPAGE_LOW_BOUND (DPAGE_HIGH_BOUND+1u)
#define PPAGE_HIGH_BOUND 0xBFFFu
#ifndef REGISTER_base
#define REGISTER_base 0x0u
#endif
#ifndef DPAGE_ADDR
#define DPAGE_ADDR (0x34u+REGISTER_base)
#endif
#ifndef EPAGE_ADDR
#define EPAGE_ADDR (0x36u+REGISTER_base)
#endif
#ifndef PPAGE_ADDR
#define PPAGE_ADDR (0x35u+REGISTER_base)
#endif
/*
The following parts about the defines are assumed in the code of _GET_PAGE_REG :
- the memory region controlled by DPAGE is above the area controlled by the EPAGE and
below the area controlled by the PPAGE.
- the lower bound of the PPAGE area is equal to be the higher bound of the DPAGE are
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-05-04 20:43 zuihouyitian_130721\
目录 0 2015-05-04 20:43 zuihouyitian_130721\bin\
文件 192547 2013-07-22 03:56 zuihouyitian_130721\bin\Project.abs
文件 4162 2013-07-22 03:56 zuihouyitian_130721\bin\Project.abs.glo
文件 4156 2013-07-22 03:56 zuihouyitian_130721\bin\Project.abs.s19
文件 108116 2013-07-22 03:56 zuihouyitian_130721\bin\Project.map
目录 0 2013-07-22 23:54 zuihouyitian_130721\cmd\
文件 59 2013-07-21 14:47 zuihouyitian_130721\cmd\Full_Chip_Simulation_Postload.cmd
文件 60 2013-07-21 14:47 zuihouyitian_130721\cmd\Full_Chip_Simulation_Preload.cmd
文件 60 2013-07-21 14:47 zuihouyitian_130721\cmd\Full_Chip_Simulation_Reset.cmd
文件 59 2013-07-21 14:47 zuihouyitian_130721\cmd\Full_Chip_Simulation_SetCPU.cmd
文件 59 2013-07-21 14:47 zuihouyitian_130721\cmd\Full_Chip_Simulation_Startup.cmd
文件 1514 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 59 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 60 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 60 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 59 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 77 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 78 2013-07-22 23:54 zuihouyitian_130721\cmd\P&E_Multili
文件 1514 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Erase_unsecure_hcs12xe.cmd
文件 59 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Postload.cmd
文件 60 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Preload.cmd
文件 60 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Reset.cmd
文件 59 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Startup.cmd
文件 77 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Vppoff.cmd
文件 78 2013-07-21 16:06 zuihouyitian_130721\cmd\TBDML_Vppon.cmd
文件 855 2013-07-21 14:47 zuihouyitian_130721\C_Layout.hwl
文件 161 2004-06-15 15:46 zuihouyitian_130721\Default.mem
文件 1028 2013-07-21 16:06 zuihouyitian_130721\Full_Chip_Simulation.ini
文件 1743 2013-07-22 23:55 zuihouyitian_130721\P&E_Multili
目录 0 2013-07-21 14:47 zuihouyitian_130721\prm\
............此处省略18个文件信息
评论
共有 条评论