📄 resetprg.c
字号:
/***********************************************************************/
/* */
/* FILE :resetprg.c */
/* DATE :Sun, Jul 27, 2008 */
/* DESCRIPTION :initialize for C language. */
/* CPU GROUP :62P */
/* */
/* This file is generated by Renesas Project Generator (Ver.4.8). */
/* */
/***********************************************************************/
/*********************************************************************
* STARTUP for M16C/60,30,20,10
* Copyright(c) 2004 Renesas Technology Corp.
* And Renesas Solutions Corp.,All Rights Reserved.
* resetprg.c : startup file
*
* Function:initialize each function
*
*
* $Date: 2006/09/29 05:40:30 $
* $Revision: 1.9 $
*********************************************************************/
#include "sfr62p.h"
#include "typedefine.h"
#include "resetprg.h"
extern _UINT _stack_top,_istack_top;
//DEF_BANKSELECT;
DEF_SBREGISTER;
#pragma entry start
void start(void);
extern void initsct(void);
extern void _init(void);
void exit(void);
void main(void);
#pragma section program interrupt
void start(void)
{
_isp_ = &_istack_top; // set interrupt stack pointer
/*
prcr = 0x02; // change protect mode register
pm0 = 0x00; // set processor mode register
prcr = 0x00; // change protect mode register
*/
prcr = 0x03; // change protect mode register
pm1 = 0x08; // set processor mode register
cm0 = 0x0A;///////////////////////////
cm1 = 0x20;//////////////////////////
plc0 = 0x92;
cm1 = 0x22;
prcr = 0x00;
_flg_ = __F_value__; // set flag register
#if __STACKSIZE__!=0
_sp_ = &_stack_top; // set user stack pointer
#endif
_sb_ = 0x400; // 400H fixation (Do not change)
// set variable vector's address
_asm(" ldc #((topof vector)>>16)&0FFFFh,INTBH");
_asm(" ldc #(topof vector)&0FFFFh,INTBL");
initsct(); // initlalize each sections
#if __STACKSIZE__!=0
_sp_ = &_stack_top; // set user stack pointer
#else
_isp_ = &_istack_top; // set interrupt stack pointer
#endif
#if __HEAPSIZE__ != 0
heap_init(); // initialize heap
#endif
#if __STANDARD_IO__ != 0
_init(); // initialize standard I/O
#endif
_fb_ = 0; // initialize FB registe for debugger
main(); // call main routine
exit(); // call exit
}
void exit(void)
{
while(1); // infinite loop
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -