中文資料:vxwork bsp的制作2
發(fā)布時間:2008/8/5 0:00:00 訪問次數(shù):651
vxworks下bsp制作教程1 vxworks概述vxworks是wind river公司的產(chǎn)品。作為一種商用的嵌入式操作系統(tǒng)?vxworks擁有強(qiáng)大的功能和友好的用戶界面。與免費(fèi)的嵌入式操作系統(tǒng)相比?商用操作系統(tǒng)經(jīng)過嚴(yán)格的測試?具有良好的實(shí)時性?易用性和大量的文檔支持?但是它的源碼是不公開的并且價格昂貴;免費(fèi)的嵌入式操作系統(tǒng)有很多?大都是linux的移植?公開源代碼?但缺乏文檔?要對照源碼進(jìn)行開發(fā)。
2 bsp的流程bsp流程分成兩部分。首先是位于bootrom中的boot代碼?它的作用是實(shí)現(xiàn)配置硬件和啟動vxworks下載程序。接下來是下載后跳轉(zhuǎn)到vxworks的入口地址運(yùn)行操作系統(tǒng)和應(yīng)用程序。
流程入圖:rom中的啟動代碼部分:rominit在文件在文件rominit.s中。它是運(yùn)行的開始?實(shí)現(xiàn)這一部分是首先的。
它實(shí)現(xiàn)判斷啟動類型?配置內(nèi)核和非內(nèi)核寄存器以及內(nèi)存和外圍設(shè)備的讀寫時序?因此可以在此處加入內(nèi)存檢測功能。在bsp中無法進(jìn)行調(diào)試?只能通過閃燈實(shí)現(xiàn)云信正確與否的判斷。閃燈功能函數(shù)也要在此加入。
判斷啟動類型和配置寄存器?這一部分不需要改動。
配置內(nèi)存和外圍設(shè)備讀寫時序?要進(jìn)行改動。這一部分的sdram?rom?flash?fpga有相應(yīng)的模板可以參考。它的實(shí)現(xiàn)是通過使用宏定義來實(shí)現(xiàn)的。但是要改動的話也不難?一般是改動空間大小的屏蔽位?讀寫位數(shù)?以及片選寄存器or和br.至于特殊外設(shè)的讀寫有待討論。
內(nèi)存檢測在這里實(shí)現(xiàn)較復(fù)雜?它根據(jù)相應(yīng)的內(nèi)存檢測算法實(shí)現(xiàn)。主要是對地址線和數(shù)據(jù)線的檢測。通過寫入數(shù)據(jù)再會讀出數(shù)據(jù)來判斷。使用"走步1"和"走步0"算法。這一部分較多的依賴硬件?可移植性較差?根據(jù)自己的單板改動。
閃燈在這一部分是強(qiáng)烈推薦的。因?yàn)殚W燈才能定位程序的運(yùn)行位置。閃燈函數(shù)可移植?一般要改動?因?yàn)闊艨赡芙釉诓煌膇/o口上。另外注意860sar的port b是32位的。具體的端口見相應(yīng)的cpu的i/o口的參數(shù)?配置相應(yīng)的寄存器。
rominit在函數(shù)結(jié)尾跳入romstart. romstart在bootint.c文件中。它是系統(tǒng)運(yùn)行的第一個c函數(shù)。這一部分是wind river公司提供的標(biāo)準(zhǔn)程序?一般不需改動。該函數(shù)是c的入口函數(shù),由匯編程序調(diào)用,主要完成清內(nèi)存,將rom中的程序拷貝到ram,解壓并跳至解壓后的程序處運(yùn)行。
usrinit在bootconfig.c文件中。它主要是實(shí)現(xiàn)硬件的初始化。其中涉及到串口?網(wǎng)口的初始化?console的配置等。
其中串口和網(wǎng)口的配置是bsp的重要部分?但860cpu對串口和王口有很好的支持?只要做很小的改動即可?串口很簡單?網(wǎng)口較復(fù)雜一些。
usrroot在bootconfig.c文件中。它主要是實(shí)現(xiàn)vxworks文件的下載?并且跳轉(zhuǎn)到vxworks的入口地址。從而進(jìn)入到操作系統(tǒng)中去。
vxworks文件中的代碼部分:sysinit在sysalib.s中。它是vxworks的啟動代碼。它與rominit的作用相同?對于這個文件?我們一般不需要去改動它。
usrinit在usrconfig.c中。它的作用與boot中的usrinit的作用相同?
他們都調(diào)用syslib.c中的子函數(shù)。實(shí)現(xiàn)相同的硬件初始化功能。
usrroot在usrconfig.c中。它的作用與boot中的usrroot的作用類似。但是這里的usrroot是最終進(jìn)入到應(yīng)用程序中去。
vxworks下bsp制作教程1 vxworks概述vxworks是wind river公司的產(chǎn)品。作為一種商用的嵌入式操作系統(tǒng)?vxworks擁有強(qiáng)大的功能和友好的用戶界面。與免費(fèi)的嵌入式操作系統(tǒng)相比?商用操作系統(tǒng)經(jīng)過嚴(yán)格的測試?具有良好的實(shí)時性?易用性和大量的文檔支持?但是它的源碼是不公開的并且價格昂貴;免費(fèi)的嵌入式操作系統(tǒng)有很多?大都是linux的移植?公開源代碼?但缺乏文檔?要對照源碼進(jìn)行開發(fā)。
2 bsp的流程bsp流程分成兩部分。首先是位于bootrom中的boot代碼?它的作用是實(shí)現(xiàn)配置硬件和啟動vxworks下載程序。接下來是下載后跳轉(zhuǎn)到vxworks的入口地址運(yùn)行操作系統(tǒng)和應(yīng)用程序。
流程入圖:rom中的啟動代碼部分:rominit在文件在文件rominit.s中。它是運(yùn)行的開始?實(shí)現(xiàn)這一部分是首先的。
它實(shí)現(xiàn)判斷啟動類型?配置內(nèi)核和非內(nèi)核寄存器以及內(nèi)存和外圍設(shè)備的讀寫時序?因此可以在此處加入內(nèi)存檢測功能。在bsp中無法進(jìn)行調(diào)試?只能通過閃燈實(shí)現(xiàn)云信正確與否的判斷。閃燈功能函數(shù)也要在此加入。
判斷啟動類型和配置寄存器?這一部分不需要改動。
配置內(nèi)存和外圍設(shè)備讀寫時序?要進(jìn)行改動。這一部分的sdram?rom?flash?fpga有相應(yīng)的模板可以參考。它的實(shí)現(xiàn)是通過使用宏定義來實(shí)現(xiàn)的。但是要改動的話也不難?一般是改動空間大小的屏蔽位?讀寫位數(shù)?以及片選寄存器or和br.至于特殊外設(shè)的讀寫有待討論。
內(nèi)存檢測在這里實(shí)現(xiàn)較復(fù)雜?它根據(jù)相應(yīng)的內(nèi)存檢測算法實(shí)現(xiàn)。主要是對地址線和數(shù)據(jù)線的檢測。通過寫入數(shù)據(jù)再會讀出數(shù)據(jù)來判斷。使用"走步1"和"走步0"算法。這一部分較多的依賴硬件?可移植性較差?根據(jù)自己的單板改動。
閃燈在這一部分是強(qiáng)烈推薦的。因?yàn)殚W燈才能定位程序的運(yùn)行位置。閃燈函數(shù)可移植?一般要改動?因?yàn)闊艨赡芙釉诓煌膇/o口上。另外注意860sar的port b是32位的。具體的端口見相應(yīng)的cpu的i/o口的參數(shù)?配置相應(yīng)的寄存器。
rominit在函數(shù)結(jié)尾跳入romstart. romstart在bootint.c文件中。它是系統(tǒng)運(yùn)行的第一個c函數(shù)。這一部分是wind river公司提供的標(biāo)準(zhǔn)程序?一般不需改動。該函數(shù)是c的入口函數(shù),由匯編程序調(diào)用,主要完成清內(nèi)存,將rom中的程序拷貝到ram,解壓并跳至解壓后的程序處運(yùn)行。
usrinit在bootconfig.c文件中。它主要是實(shí)現(xiàn)硬件的初始化。其中涉及到串口?網(wǎng)口的初始化?console的配置等。
其中串口和網(wǎng)口的配置是bsp的重要部分?但860cpu對串口和王口有很好的支持?只要做很小的改動即可?串口很簡單?網(wǎng)口較復(fù)雜一些。
usrroot在bootconfig.c文件中。它主要是實(shí)現(xiàn)vxworks文件的下載?并且跳轉(zhuǎn)到vxworks的入口地址。從而進(jìn)入到操作系統(tǒng)中去。
vxworks文件中的代碼部分:sysinit在sysalib.s中。它是vxworks的啟動代碼。它與rominit的作用相同?對于這個文件?我們一般不需要去改動它。
usrinit在usrconfig.c中。它的作用與boot中的usrinit的作用相同?
他們都調(diào)用syslib.c中的子函數(shù)。實(shí)現(xiàn)相同的硬件初始化功能。
usrroot在usrconfig.c中。它的作用與boot中的usrroot的作用類似。但是這里的usrroot是最終進(jìn)入到應(yīng)用程序中去。
熱門點(diǎn)擊
- CPU學(xué)習(xí) (Cache Coherence
- The MathWorks推出R2008a版
- 基于uc/os-ii的嵌入式GUI研究與應(yīng)用
- u-blox的LEA-5T精確授時GPS模塊
- 英飛凌針對M2M應(yīng)用推出安全微控器系列
- 凌華科技重磅推出嵌入式計(jì)算機(jī)GEME-120
- 嵌入式uClinux下的CAN總線設(shè)備驅(qū)動程
- Marvell推出了該公司內(nèi)部開發(fā)的新一代C
- 全路由器掃描
- AMCC推出高級PowerPC 460SX存
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究