FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證
3.2 Bootloader的設(shè)置
Bootloader啟動(dòng)一般分為兩個(gè)階段。第一階段主要包含依賴(lài)于微處理器的體系結(jié)構(gòu)硬件初始化的代碼,設(shè)置堆棧并跳轉(zhuǎn)到第二階段的C程序入口點(diǎn),通常采用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。第二階段通常用C語(yǔ)言完成,以便實(shí)現(xiàn)更復(fù)雜的功能,也使程序有更好的可讀性和可移植性。在μVision3.63軟件自帶的示例工程“Hello”中,通過(guò)下面3行代碼實(shí)現(xiàn)了兩個(gè)階段的工作交接:
由于本文討論的微處理器只是在FreeARM7基礎(chǔ)之上做了一些基本的擴(kuò)展,微處理器的體系結(jié)構(gòu)硬件單一,因此第一階段主要是對(duì)堆棧位置和大小進(jìn)行設(shè)置。對(duì)USB接口的初始化在第二階段的C程序中進(jìn)行,初始化程序如下:
4 微處理器的功能驗(yàn)證
在完成前面的工作之后,借助FPGA對(duì)微處理器進(jìn)行了功能驗(yàn)證。選用Altera公司DE2開(kāi)發(fā)板作為硬件邏輯的實(shí)現(xiàn)載體,微處理器IP核工作時(shí)鐘為開(kāi)發(fā)板上27 MHz晶振輸入,USB控制器IP核工作時(shí)鐘為27 MHz晶振倍頻至48 MHz。功能驗(yàn)證流程如圖3所示,在主機(jī)上利用μVision 3.63編寫(xiě)、編譯驗(yàn)證程序后,微處理器進(jìn)入下載模式接收主機(jī)對(duì)設(shè)備的代碼下載,之后進(jìn)入用戶(hù)模式接收主機(jī)端傳送的驗(yàn)證程序參數(shù)值,在運(yùn)行代碼后將執(zhí)行結(jié)果返回至主機(jī),通過(guò)與主機(jī)軟件模擬結(jié)果比較達(dá)到驗(yàn)證微處理器運(yùn)行結(jié)果的目的。本文引用地址:http://m.butianyuan.cn/article/162272.htm
評(píng)論