對C51而言,生成的HEX文件是有體積限制的,如果ROM過大,那么就要用到分頁技術(shù)將HEX分成幾個文件
具體做法簡單點來說,如下:
===================================================================
1.找到L51_BANK.A51文件加到工程中
2.找到STARTUP.A51文件最后 EXTRN CODE (?B_SWITCH0) CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 原來是注釋掉的,恢復有效
3.剩下的就是設(shè)置了,看下圖
=================================================
更啰嗦的做法見第二個參考鏈接
======================================
再貼一個合成腳本:
在KEIL的OPTION的USER頁下,最后一欄:RUN AFTER BUILD中加入編譯完成后要調(diào)用的動作: Merge256K_4M.bat
然后看這個bat的代碼:
del hex\sparrow.H00
del hex\sparrow.H01
del hex\sparrow.H02
del hex\sparrow.H03
del hex\sparrow.H04
del hex\sparrow.H05
del hex\sparrow.H06
del hex\sparrow.H07
del hex\sparrow.H08 先刪除原來的分頁文件
@echo off
copy output\sparrow.H00 hex\sparrow.H00
copy output\sparrow.H01 hex\sparrow.H01
copy output\sparrow.H02 hex\sparrow.H02
copy output\sparrow.H03 hex\sparrow.H03
copy output\sparrow.H04 hex\sparrow.H04
copy output\sparrow.H05 hex\sparrow.H05
copy output\sparrow.H06 hex\sparrow.H06
copy output\sparrow.H07 hex\sparrow.H07 將新的分頁文件復制到指定地址
HEX2BIN /Q /L524288 hex\sparrow.H00 hex\RTD2668.BIN
HEX2BIN /Q /O65536 /M hex\sparrow.H01 hex\RTD2668.BIN
HEX2BIN /Q /O131072 /M hex\sparrow.H02 hex\RTD2668.BIN
HEX2BIN /Q /O196608 /M hex\sparrow.H03 hex\RTD2668.BIN
HEX2BIN /Q /O262144 /M hex\sparrow.H04 hex\RTD2668.BIN
HEX2BIN /Q /O327680 /M hex\sparrow.H05 hex\RTD2668.BIN
HEX2BIN /Q /O393216 /M hex\sparrow.H06 hex\RTD2668.BIN
HEX2BIN /Q /O458752 /M hex\sparrow.H07 hex\RTD2668.BIN
用HEX2BIN將HEX分頁合成一個BIN文件