2013-8-16 22:22 上傳
點擊文件名下載附件
資料占用情況:Program Size: data=207.1 xdata=1024 code=58590
振南首發(fā)于51hei論壇的znFAT--單片機上的FAT32文件系統(tǒng)
QQ 987582714
所謂“離線燒錄器”,是指不使用計算機,而使用嵌入式、便攜式設備完成對單片機或微處理器芯片的程序燒錄。說白了,就是“用單片機給另一個單片機下載程序”。如下圖所示:
其實很簡單。我們來想想,計算機給單片機下載程序,計算機在這個過程中起到的作用:1、存儲HEX、BIN等程序執(zhí)行碼;2、提供用于下載與數(shù)據(jù)通信的硬件接口;3、對下載協(xié)議和流程的實現(xiàn)。這三點,我們完全可以使用單片機或更高級的微處理器來完成,這就形成了所謂的“離線燒錄器”。與待燒錄的目標芯片的硬件接口,可以使用IO端口來連接;下載協(xié)議和流程通過寫程序生成固件來完成(其實就相當于計算機上的下載軟件);可執(zhí)行的代碼文件,我們可以放在EEPROM、FLASHROM或是其它的一些存儲設備上。
“離線燒錄器”的好處是不言而喻的!在實際工程中、工業(yè)應用現(xiàn)場..........我們希望對設備的固件進行升級或更新,無需帶著計算機,只需要帶上一個“離線燒錄器”,便可以完成對設備的升級工作。
本實驗中,使用STC51單片機對另一片51單片機(AT89S52)的程序燒錄。可執(zhí)行代碼文件格式為BIN,存在SD卡上。如下圖:
我們把待燒錄的BIN文件,放在SD卡上,文件系統(tǒng)為FAT32格式。這樣我們就可以很方便的存儲代碼文件。另外,我們還可以把很多的BIN文件都放到SD卡上,因為SD卡的存儲容量比較大。而且,還可以通過電腦將BIN文件直接拷入,十分方便。在實際燒錄的時候,我們可以選擇不同的BIN文件來進行燒錄。
最大的問題在于:我們?nèi)绾斡脝纹瑱C去讀取SD卡上的BIN文件?
在這里我們使用 振南的znFAT,一種專門在嵌入式平臺上使用的FAT32文件系統(tǒng)的方案。通過它,我們就可以很輕松方便的去操作SD卡上的文件了。
接下來,我們來看一下“離線燒錄器”的實驗演示視頻:
實驗說明:SD卡中有三介BIN文件,分別為BINCTR-8k.bin、PENDB-8k.bin與twoball-2k.bin。實驗中依次打開各個BIN文件,燒錄到AT89S52中。每燒錄完一個BIN,會讓AT89S52運行3秒鐘,用來演示剛剛燒錄進去的BIN。這三個BIN的具體功能是三種不同的流水燈。
STC51+SD卡+znFAT+BIN文件+AT89S52 實現(xiàn) 離線程序燒錄器
SD卡中的BIN文件:
實驗串口信息:
硬件平臺: