资源简介

包括时钟,IO以及定时器等G128的必备底层驱动,注意,不是用PE工具生成的,代码可读性好,层次分明。在最新的FreeRTOS上实现移植,完整的codewarrior工程文件

资源截图

代码片段和文件信息

/******************************************************************************
  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  2018-03-28 16:22  G128_RTOS - 副本\
     文件          21  2018-03-28 16:21  G128_RTOS - 副本\.gitignore
     目录           0  2018-03-28 16:22  G128_RTOS - 副本\bin\
     文件      219182  2018-03-28 16:11  G128_RTOS - 副本\bin\Project.abs
     文件        6862  2018-03-28 16:11  G128_RTOS - 副本\bin\Project.abs.phy
     文件        6822  2018-03-28 16:11  G128_RTOS - 副本\bin\Project.abs.s19
     文件      119633  2018-03-28 16:11  G128_RTOS - 副本\bin\Project.map
     目录           0  2018-03-28 16:22  G128_RTOS - 副本\cmd\
     文件        1511  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Erase_unsecure_hcs12p.cmd
     文件          59  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Postload.cmd
     文件          60  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Preload.cmd
     文件          60  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Reset.cmd
     文件          59  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Startup.cmd
     文件          77  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Vppoff.cmd
     文件          78  2018-03-28 13:17  G128_RTOS - 副本\cmd\TBDML_Vppon.cmd
     文件         855  2018-03-28 13:17  G128_RTOS - 副本\C_Layout.hwl
     文件         161  2004-06-15 15:46  G128_RTOS - 副本\Default.mem
     文件       62933  2018-03-28 16:13  G128_RTOS - 副本\G128_RTOS.mcp
     目录           0  2018-03-28 16:22  G128_RTOS - 副本\G128_RTOS_Data\
     文件        4350  2018-03-28 16:13  G128_RTOS - 副本\G128_RTOS_Data\CWSettingsWindows.stg
     目录           0  2018-03-28 16:22  G128_RTOS - 副本\G128_RTOS_Data\Standard\
     目录           0  2018-03-28 16:22  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\
     文件        9136  2018-03-28 13:18  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\datapage.c.o
     文件        7720  2018-03-28 14:36  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\flash_task.c.o
     文件        7288  2018-03-28 13:39  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\heap_1.c.o
     文件        7508  2018-03-28 16:11  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\init.c.o
     文件        7248  2018-03-28 14:36  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\led.c.o
     文件        8289  2018-03-28 13:39  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\list.c.o
     文件        4212  2018-03-28 14:16  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\main.c.o
     文件      159893  2018-03-28 13:18  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\mc9s12g128.c.o
     文件       10048  2018-03-28 15:45  G128_RTOS - 副本\G128_RTOS_Data\Standard\objectCode\port.c.o
............此处省略48个文件信息

评论

共有 条评论