MSC1210如何使能Boot ROM?
如题,也就是MSC1210如何才能在程序中调用Boot ROM中的程序,需要配置寄存器还是需要硬件改动?例如:void autobaud(void),此程序在ROM.H中有声明,
另外就是在程序中获取ADC采样结果的程序long bipolar(void)在哪有定义?
ROM.h文件内容如下:
extern void put_string(char code *string);
extern char page_erase (int faddr, char fdata, char fdm);
extern char write_flash (int faddr, char fdata, char fdm);
extern char write_flash_chk (int faddr, char fdata, char fdm);
extern char write_flash_byte (int faddr, char fdata, char fdm);
extern char faddr_data_read(char);
extern char data_x_c_read(int addr);
extern void tx_byte(char);
extern void tx_hex(char);
extern void putok(void);
extern char rx_byte(void);
extern char rx_byte_echo(void);
extern char rx_hex_echo(void);
extern char rx_double_echo(void);
extern char rx_word_echo(void);
extern void autobaud(void);
extern void putspace4(void);
extern void putspace3(void);
extern void putspace2(void);
extern void putspace1(void);
extern void putcr(void);
从数据手册中找到函数地址的定义, 用强制地址函数来实现, 应该也有预先定义的函数或库吧
首先谢谢你的热心答复。
1.ROM.h里面有预先定义的函数,但是在实际使用中,我进行了测试,首先调用autobaut();然后调用putok()函数,但是使用串口助手并没有接收到信号。
2,你所提到的“强制地址函数”如何实现?
强制地址函数实现是如下文章所述的方式吗?
http://blog.csdn.net/jipingyuan/article/details/39297409
由于篇幅较大,附链接。恕没有直接拷贝
根据文中介绍格式如下:
答案1. (*(void(*)(void))0x100000)();
答案2. ((void(*)(void))0x100000)();
例如我要使用autobaud()函数,使用
(*(void(*)(void))0xFFF3)();
请问这样正确吗?我一会也去试一下。