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