|
文件: | hexbin.rar |
大小: | 7KB |
下载: | 下载 |
|
|
文件: |
TestKeil.rar |
大小: |
13KB |
下载: |
下载 | |
(原创)
一.
加入STARTUP.A51 L51_BANK.A51,并把STARTUP.A51文件中的关于BANK的部分功能使能.
EXTRN CODE (?B_SWITCH0)
CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
二.设置如下:
C51选项:
Interrupt verctors at a :0x2000
如果要直接烧录使用时,则需要在前面加入跳转操作.
Target选项:
Code Banking: 0x8000-0xffff
BL51 Locate选项:
Code Range: 0X2000-0X7FFF
Xdata Range: 0X0000-0X7FFF
//如果需要指定C函数的绝对地址定位如些设置Code :?PR?MAIN?TEST(0X2100),?PR?*?TEST
三.修改操作:
修改STARTUP.A51中代码如下
PUBLIC ?C_STARTUP
CSEG AT 2000H
这个不应该是main()的地址,而是STARTUP.A51中的起始地址.
四.使用处理
如果要直接烧录使用时,则需要在前面加入中断跳转操作,如果加入跳转后就可利用JTAG可以直接调试
(调试时不用关心此部分,和不设置时操作相同)
;NAME ?APP_JMP ;模块名
CSEG AT 0H
;DB 12H ; fixed encoding for parity information
LJMP 2000H
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LJMP 2013H
;END
;?CO?Bin_Verify.A51?n SEGMENT OFFS 1000H
NAME ?C_STARTUP
?C_C51STARTUP SEGMENT CODE
?STACK SEGMENT IDATA
RSEG ?STACK
DS 1
EXTRN CODE (?C_START)
PUBLIC ?C_STARTUP
CSEG AT 2000H
?C_STARTUP: LJMP STARTUP1
RSEG ?C_C51STARTUP
STARTUP1:
....................
实际操作时可以直接跳转到BANK4中,在BANK4中加入处理.然后检测COM更新数据,其中可以利用串口,也可不使用.
注意如果从更新跳转到应用时需要在应用的开始就清空所有的数据空间(在STARTUP.A51中有此部分,不应该屏蔽).
其它:
生成BIN应用文件
User选项:
After Buile/ReBuile
Run User Program #1 :../hexbin.exe ../Debug/AC800.hex ../Debug/AC800.bin Intel
阅读(1575) | 评论(1) | 转发(0) |