📄 bootromfwr.bak
字号:
// Texas Instruments
// Name: BootRomFWR.c
// Revision: 1.0
// Description: Write/ErasePage Flash Data/Program using BootRom Routine
// Using MSC1210-DAQEVM
#include <REG1210.H>
#include <stdio.h>
#define FDM 1 // Flash Data Memory
#define FPM 0 // Flash Program Memory
extern char page_erase (int faddr, char fdata, char fdm);
extern char write_flash_chk (int faddr, char fdata, char fdm);
void main(void)
{
xdata char xchar _at_ 0x0400;
code char cchar _at_ 0x1000;
char error=0;
CKCON &= 0xf8; // 0 MOVX cycle stretch
PDCON &= 0xfd; // turn on sys timer
USEC = 2-1; // Flash Related Timer Setup
MSEC = 1843-1;
RCAP2 = 65535; // UART0 setup: 57600 Baud @ 1.8432MHz
T2CON = 0x34; // T2 as baudrate generator
SCON = 0x52; // Async mode 1, 8-bit UART, enable rcvr, TI=1, RI=0
printf("\x1b[46;37m\x1b[25C\x1b[2J");
printf("MSC1210 VonNeumann SRAM Routines for Flash Data/Program Memory Write/Erase\n");
//init_VonNeumann();
if (!write_flash_chk(&xchar,0x55,FDM) && xchar==0x55 )
printf("Pass: Write Xdata 0x0400 with 0x55\n"); else error=1;
if (!page_erase(&xchar, 0xff, FDM) && xchar== 0xff)
printf("Pass: Erase Xdata 0x400~0x47F\n"); else error=1;
if (!write_flash_chk(&cchar,0xAA,FPM) && cchar==0xAA )
printf("Pass: Write Code 0x1000 with 0xAA\n"); else error=1;
if (!page_erase(&cchar, 0xff, FPM) && cchar== 0xff)
printf("Pass: Erase Code 0x1000~0x107F\n"); else error=1;
if (error==1) printf("Error found. Testing fail.\n");
while(1){;}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -