燒寫B(tài)ios到Nor Flash或者Nan Flash是嵌入式系統(tǒng)開發(fā)硬件完成后的第一步涉及到軟件的工作,很重要。燒寫Nor Flash的工具和方法很多,近期網(wǎng)上有一篇用J-Link ARM間接燒寫Nor Flash的方法: avr.com/bbs/bbs_content.jsp?bbs_sn=3228953&bbs_page_no=1&search_mode=1&search_text=jlink&bbs_id=9999">http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3228953&bbs_page_no=1&search_mode=1&search_text=jlink&bbs_id=9999
本文引用地址:http://www.butianyuan.cn/article/201611/318961.htm本人按部就班,試了一把,感覺還可以,只是有些麻煩。嘗試著用J-Flash ARM來燒寫,該方法非常簡(jiǎn)單方便。
前段時(shí)間心血來潮,花了近800大洋,買了一個(gè)Mini2440的開發(fā)板。該開發(fā)板有一片2M的Nor Flash和64M的Nand Flash。買回家,一不做、二不休將所有里面的BootLoader全部擦除了。整個(gè)系統(tǒng)就成了什么也干不了的“裸板”。主要原因就是不想吃現(xiàn)成的,逼迫自己,從零開始,構(gòu)建好完整的系統(tǒng)。熟悉整個(gè)過程的原理和操作。
要啟動(dòng)嵌入式系統(tǒng),必須要將BootLoader燒寫到Nor Flash 或者Nand Flash(系統(tǒng)上電會(huì)拷貝MCU片內(nèi)的內(nèi)部的4Kb的SDRAM去開始執(zhí)行)。這類似于PC機(jī)的Bios。
從難易程度來說,因?yàn)镹or Flash是并行的操作相對(duì)容易;Nand是串行的,操作起來麻煩一些。所以,就選這Nor Flash作為燒寫對(duì)象吧。一旦將BootLoader(比如U-Boot之類的,我的開發(fā)板可以選用的是SuperVivi)燒寫到Nor Flash以后,選擇Nor Flash啟動(dòng)BootLoader,就可利用它燒寫Nand Flash以及實(shí)現(xiàn)其他工作了。
J-Flash ARM的使用方法,可以參考用戶手冊(cè)。按照手冊(cè),我們只需要直接燒寫就可以了。但是速度很慢的。要加快速度,就要用MCU內(nèi)部的RAM。這樣就必須初始化MCU的PLL了和RAM了,并且燒寫之前必須將看門狗關(guān)掉。
我們可以查閱芯片手冊(cè),利用J-Flash的初始化命令的功能,輸入初始化命令序列,就可以直接利用RAM加速燒寫了。這并不難,只需要簡(jiǎn)單的指令的可以,但是得去查芯片手冊(cè),對(duì)于沒有查看芯片手冊(cè)習(xí)慣的人來說,還是挺麻煩的。為此,我們需要更簡(jiǎn)單、直觀的方法:那就是分兩步實(shí)現(xiàn)。
先不用RAM加速,直接燒寫初始化程序,比如我用的init.bin(芯片公司一般會(huì)提供的,小于1K),我用的init.bin只有280字節(jié)。該程序燒完以后就可以完成初始化了。
啟用RAM加速功能,燒寫最終的SuperVivi了到Nor Flash。
總結(jié)一下:
1. 不用Ram加速,用J-Flash ARM 燒寫init.bin到Nor Flash,為Ram加速提供條件。
2. 啟用Ram加速,用J-Flash ARM 燒寫SuperVivi.bin到Nor Flash。
評(píng)論