H-flasher的設置
1; flash selection
2; cofiguration
16-bit x 1-chip
flash start address: 0x0
RAM start address: 0x10000000 這是s3c44b0的內部RAM地址,如果有問題可改爲外部RAM試試
0xc0000000(查datasheet memorry contorller)
其他可不填
3; init scripts setmem 32-bit 0x01c00000 0
ADS的設置
讓燒寫的程序能夠在ROM中運行要把debugrel settings->linker->
arm linker的output選項中的ro base 設置爲0x0, rw base設置爲
0xc0000000
option選項的image entry point 設置爲0x0
layout 選項的object/symbol 設置爲44binit.o
section 設置爲init
OK........
H-JTAG與H-FLASHER的配置文件
2010-01-04 00:20
HFC文件是H-FLASHER使用的配置文件,這個文件除了包含初始化腳本,還包括了FLASH的配置等其他信息。
HIS是H-JTAG SERVER使用的配置文件,這個文件只包含初始化腳本。
H-JTAG官方網站資料:http://www.hjtag.com/forum/viewthread.php?tid=446
自己整理的HFC(H-FLASHER配置文件):
S3C2440+SST39VF1601
FLASH SECTION:
SST
SST39VF1601 //FLASH型號
MEMORY SECTION:
16-BIT X 1-CHIP
0x00000000
0x30000000
XTAL SECTION:
NULL
TCK SECTION:
-1
-1
SCRIPT SECTION:
SoftReset+++
Setmem+32-Bit+0x53000000+0x00000000 //看門狗控制寄存器WTCON,關閉看門狗
Setmem+32-Bit+0x4A000008+0xFFFFFFFF //中斷掩碼寄存器INTMSK,關閉所有中斷
Setmem+32-Bit+0x4A00001C+0x000007FF //中斷子掩碼寄存器INTSUBMSK,關閉所有中斷
Setmem+32-Bit+0x53000000+0x00000000 //看門狗控制寄存器WTCON,關閉看門狗
Setmem+32-Bit+0x56000050+0x000055AA //配置F口的引腳,GPF0~GPF3配置爲外部中斷
//EINT0~EINT3,GPF4~GPF7配置爲輸出
Setmem+32-Bit+0x4C000014+0x00000003 //時鐘分頻控制寄存器CLKDIVN,UCLK=UPLL時鐘,
//HCLK=FCLK/2,PCLK=HCLK/2
//時鐘之間的關係參考博文“http://home.eeworld.com.cn/my/space.php?uid=143675&do=blog&id=25098”
Setmem+32-Bit+0x4C000000+0x00FFFFFF //PLL lock time count register LOCKTIME,低16位是MPLL lock time
//count value,高16位是UPLL lock time count value。
Setmem+32-Bit+0x4C000004+0x00074012 //MPLL配置寄存器MPLLCON
Setmem+32-Bit+0x4C000008+0x00058042 //UPLL配置寄存器UPLLCON
Setmem+32-Bit+0x48000000+0x22111120 //存儲器總線寬度&等待狀態控制寄存器,
//BANK7不用UB/LB禁止等待32位,
//BANK6不用UB/LB禁止等待32位,BANK5不用UB/LB禁止等待16位,
//BANK4不用UB/LB禁止等待16位,BANK3不用UB/LB禁止等待16位,
//BANK2不用UB/LB禁止等待16位,BANK1不用UB/LB禁止等待32位,
//UB/LB是指高/低字節選通線,在16位寬的數據先上分開訪問高/低字節時要用到。
//等待使能時,當存儲器bank被激活,nOE信號低電平有效持續時間可以被外部引腳nWAIT所延長。
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC //BANK0~5控制寄存器,設置Tacs(nGCSn前的地址建立時間),Tcos(nOE前的片選建立時間),Tacc(訪問週期),Tcoh(nOE後的片
//選保持時間),Tcah(nGCSn後的地址保持時間),Tacp(Page模式下的訪問週期),PMC(Page模式配置)
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005 //BANK6、BANK7控制寄存器,類型爲Sync.DRAM,然後設置與BANK0~5相同的時間參數,另外再設置Trcd(RAS到CAS延時)爲
//3個時鐘,SCAN(列地址位數)設置爲9位。
Setmem+32-Bit+0x48000024+0x008E0459 //SDRAM刷新控制器,
Setmem+32-Bit+0x48000028+0x00000032 //可調的BANK大小寄存器,禁止ARM內核突發操作,SDRAM power down模式有效,SCLK僅當訪問週期才被激活。
//BANK6/7的存儲分佈爲128MB/128MB。
Setmem+32-Bit+0x4800002C+0x00000030 //模式寄存器集寄存器BANK6
Setmem+32-Bit+0x48000030+0x00000030 //模式寄存器集寄存器BANK7
PGMOPTION SECTION:
http://hjtag.com/forum/viewthread.php?tid=1474&extra=page%3D1 燒寫Norflash的問題
如果看到CAN'T OPEN SPECIFY INIT SCRIPT錯誤,是因爲H-JTAG裏面打開了AUTO INIT,但沒有在H-JTAG裏設置初始化腳本。這裏指的腳本不是H-FLASHER裏的初始化腳本。
要消除這個錯誤提示,只需要在H-JTAG裏把AUTO INIT給禁用掉就可以了。
http://blog.chinaunix.net/u2/75270/article_103900.html
http://blog.ednchina.com/longhaihai/38471/category.aspx
http://blog.s135.com/post/242/1/1/
針對mini2440(S3C2440)的H-Flasher_mini2440.hfc文件內容如下
FLASH SECTION:
SPANSION
NULL
MEMORY SECTION:
16-BIT X 1-CHIP
0x00000000
0x40000000
XTAL SECTION:
NULL
TCK SECTION:
-1
-1
SCRIPT SECTION:
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x008E0459
Setmem+32-Bit+0x48000028+0x00000032
Setmem+32-Bit+0x4800002C+0x00000030
Setmem+32-Bit+0x48000030+0x00000030
PGMOPTION SECTION:
ENABLE_SKIP_ID_CHECK
ADDON SECTION:
NULL