VxWorks下BSP原始檔結構

2021-06-19 07:13:43 字數 2182 閱讀 6414

tornado開發環境安裝完成後,在target/config目錄下包含由官方提供的一些bsp以及公用目錄all,all目錄被所有的bsp使用,具體檔案介紹如下:

vxworks核心檔案

檔名說明usrconfig.c

包含usrinit,usrroot等函式

bootinit.c

包含romstart函式定義,負責**從rom拷貝到ram中

version.c

版本資訊檔案,使用_data_和_time_表示映像的建立時間

datasegpad.c

當使用vxvmi元件時,該檔案中的**確保資料和**段使用不同的物理頁面

configall.c

定義了一系列系統預設元件和系統常量

bootrom包含檔案

檔名說明bootconfig.c

包含usrinit,usrroot等函式

bootinit.c

包含romstart函式定義,負責**從rom拷貝到ram中

version.c

版本資訊檔案,使用_data_和_time_表示映像的建立時間

datasegpad.c

當使用vxvmi元件時,該檔案中的**確保資料和**段使用不同的物理頁面

configall.c

定義了一系列系統預設元件和系統常量

tornado編譯環境對bsp目錄下的檔案有特殊要求,在bsp目錄下必須包含以下三個檔案:

1.rominit.s

該檔案定義了rominit函式,是整個系統啟動的入口函式,系統上電時,執行的第一行**是rominit函式實現的第一條語句,主要完成平台的初始化,初始化c函式呼叫環境(棧初始化),呼叫romstart函式。

2.sysalib.s

3.syslib.c

該檔案必須實現一些具有指定函式名和指定功能的函式.

函式名功能

sysbsprev

返回bsp版本號和子版本號

sysclkconnect

註冊系統時鐘中斷處理函式

sysclkdisable

禁止系統時鐘中斷

sysclkenable

使能系統時鐘中斷

sysclkint

系統時鐘中斷處理函式

sysclkrateget

返回系統時鐘中斷間隔時間

sysclkrateset

設定系統時鐘中斷間隔時間

syshwinit

外圍裝置初始化函式,必須完成所有外圍裝置的基本初始化工作,不可進行中斷

相關的任何操作

syshwinit2

所有需要中斷配合的外圍裝置二次初始化函式,完成所有涉及中斷的初始化工作

sysmemtop

返回vxworks核心可用記憶體的最大位址值

sysmodel

返回平台cpu識別符號

sysnvramset

獲取指定nvram(非易失性ram)位址處的內容

sysnvramset

向指定nvram位址處寫入內容

sysserialhwinit

串列埠裝置初始化

sysserialhwinit2

串列埠裝置二次初始化,中斷部分初始化

sysserialchanget

獲取串列埠通道對應的sio_chan結構

systomonitor

重新熱啟動

可選擇實現的函式有:

函式名功能sysabortint

abort按鍵中斷處處理函式

sysauxclkdisable

禁止輔助時鐘中斷

sysauxclkrateget

輔助時鐘間隔時間

sysphysmemtop

返回物理記憶體的最大位址

除了上述必須實現的三個檔案外,還需要一些可選檔案:

檔名

說明sysserial.c

串列埠驅動相關的檔案

sysscsi.c

scsi驅動相關**

sysnet.c

區域網lan驅動相關**

Win CE下BSP中的bib檔案學習

在 wince中使用的乙個重要的檔案就是bib檔案,全稱binary image builder file。在wince的編譯過程中會用到bib檔案,應該是在最後的makeimg階段。所有的bib檔案會被合併成ce.bib檔案,然後 romimage.exe會根據bib檔案中的描述來決定哪些檔案最終...

Linux下的原始檔安裝

linux 下原始檔安裝一共需要三步 1 configure 2 make 3 make install 解壓後資料夾為freetype 2.4.10,假設其在根目錄下,進入此資料夾 cd freetype 2.4.10。1 configure configure是乙個可執行指令碼,用來檢查系統是否...

supervisor下更換原始檔報錯

在乙個以 nginx supervisor tornado 為架構的專案中,更換專案原始檔。出現supervisor啟動失敗的問題。更換專案檔案過程中,修改專案檔案對應的 supervisor 配置檔案,修改了對應專案的位址,wq儲存退出,supervisor 當場報錯。修復過程。亂七八糟,一塌糊塗...