1. 程式人生 > >VxWorks6.6 pcPentium BSP 使用說明(一):基本概念

VxWorks6.6 pcPentium BSP 使用說明(一):基本概念

“VxWorks6.6 BSP 使用說明”將釋出pcPentium和idp945兩個系列的BSP的使用說明。每個系列約5篇文章。之後還將釋出由這兩個官方提供的BSP的實戰移植方法。

本說明適用範圍

pcPentium/2/3/4 - 386/486 和 Pentium/2/3/4

引言

該參考文件提供執行pcPentium,pcPentium2,pcPentium3和pcPentium4的VxWorks BSP的板卡特性資訊。

在板卡上執行VxWorks之前,核實板卡執行在正確的配置,通過檢測是否採用原廠ROM,是否設定正確的跳線和連線串列埠讀取配置資訊。

請注意,pc386,pc486,pcPentium,pcPentium2,pcPentium3和pcPentium4的BSP是針對通用PC機主機板的通用BSP包。

為了達到最佳效果,本文件應結合板卡供應商的說明文件一起使用。

如果此BSP(pcPentium4)是用於一些特定的目標板,包括英特爾E7520晶片組(Allagash),那麼vxBus序列驅動的支援是必需的。若想以WDB連線方式通過任何串列埠載入bootrom和系統映象,都必須配置支援vxBus序列驅動程式。見第3節使用vxBus序列驅動的說明:“建立一個BootROM映象”。

引導過程

當一個標準的採用AT電源方式的計算機開機時,系統的BIOS程式碼會被載入並引導執行。引導載入程式是基於8088的16位組合語言。BIOS從引導扇區引導啟動,這可能是如下幾種方式:軟盤,硬碟,或一些其他的介質如ROMCARD或TFFS卡。

BIOS找到引導載入器後將轉交給其繼續執行。引導載入程式找到bootrom.sys檔案,將它載入記憶體,並跳轉到romInit開始執行。

TrueFFS支援

該BSP支援TrueFFS及其配置。要使用TrueFFS,安裝軟體並在BSP的config.h檔案中定義包含INCLUDE_TFFS

TrueFFS被設計為使用M - Systems公司的DiskOnChip 2000(快閃記憶體)和雙PCMCIA插槽的採用dosFs的磁碟驅動。

如果你想從DiskOnChip啟動,更改config.hSYS_WARM_TYPE的定義,由SYS_WARM_FD變為SYS_WARM_TFFS

“無線區域網支援”

該BSP支援可選的無線區域網晶片創銳訊(Atheros)AR521X MAC。為了啟用無線區域網支援,安裝硬體並配置BSPconfig.h檔案包含定義INCLUDE_AR521X_END

啟動映象

通常AT電源方式PC的典型啟動方式採用的是的啟動盤而不是啟動晶片。啟動盤包括啟動扇區(0扇區)和一個有啟動映象檔案bootrom.sys的DOS檔案系統。該引導映像可以是如下幾種形式之一。注意,工程會建立vxWorks_romCompress.bin和vxWorks_romResident.bin。 VxWorks_rom.bin可以被工程或者命令列建立。其他映象由個命令列建立。

映象
映象名稱 說明 壓縮 映象載入
vxWorks_rom.bin 可引導的VxWorks 高記憶體
vxWorks.st_rom.bin 可引導的vxWorks.st 高記憶體
bootrom.bin 引導映象 高記憶體
bootrom_uncmp.bin 引導映象 高記憶體
vxWorks_romCompress.bin 可引導的VxWorks 高記憶體
vxWorks_romResident.bin 可引導的VxWorks 低記憶體

VxWorks.st是一個包含基本命令列,符號表和網路介面的獨立完整映象。不過請注意,網路介面沒有初始化。

引導映像必須被複制到軟盤(A:)或IDE硬碟(C:)中,使用DOS引導工具“mkboot.bat”,或VxWorks的引導工具“mkbootFd”(對軟盤),或“mkbootAta”(對硬碟)。

請注意,為避免重新啟動的問題,適當地調整工作區中的SYS_WARM_TYPE引數並確保引數更新應用到工程中。預設是採用軟盤啟動。

在主機端製作啟動盤包括兩個步驟。建立BootROM的映象檔案,並準備啟動盤。

建立一個BootROM映象

1、首先從6種支援的啟動映象中選擇合適的並改變副檔名為.bin,如vxWorks_rom.bin,vxWorks.st_rom.bin,bootrom.bin和bootrom_uncmp.bin。請記住,低記憶體啟動映像(vxWorks_romResident.bin)不得大於640KB。

2、選擇一個適當的引導方式,通過Workbench定義DEFAULT_BOOT_LINE,或直接在config.h中定義。DEFAULT_BOOT_LINE的示例如下:

"fei(0,0)host:/path/name/vxWorks h=90.0.0.3 e=90.0.0.50 u=bob"(通過網路下載引導啟動)"fd=0,0(0,0)host:/fd0/vxWorks e=90.0.0.50 u=jane o=fei"(通過軟盤引導啟動)"ata=0,0(0,0)host:/ata0disk0/vxWorks e=90.0.0.50 u=steve o=fei"(通過IDE硬碟0通道主盤引導啟動)"ata=0,1(0,0)host:/ata0disk1/vxWorks.st"(通過IDE硬碟0通道從盤引導啟動)

3、如果要建立一個基於E7520晶片組目標板的引導映象,如英特爾\tbAllagash,必要修改config.h配置以包括vxBus和16550串列埠支援。DEFAULT_BOOT_LINE定義後加入以下行。

#define INCLUDE_VXBUS#define INCLUDE_SIO_UTILS#define DRV_SIO_NS16550#define INCLUDE_PARAM_SYS#define INCLUDE_HWMEM_ALLOC#define INCLUDE_PLB_BUS#define INCLUDE_PCI_BUS#define INCLUDE_PENTIUM_PCI#define HWMEM_POOL_SIZE 50000

3、通過在BSP目錄下執行“make image_name”來編譯啟動映象或閱讀Wind River Workbench User's Guide來引導怎樣通過Workbench編譯一個可啟動的映象。

準備一個啟硬碟/軟盤。

4、引導載入器在軟盤上搜索的檔案bootrom.sys。副檔名為.bin的引導檔案可以被重新命名為bootrom.sys。而所有其他的啟動映象則需要一個轉換工具來轉換為bootrom.sys。

相關推薦

VxWorks6.6 pcPentium BSP 使用說明基本概念

“VxWorks6.6 BSP 使用說明”將釋出pcPentium和idp945兩個系列的BSP的使用說明。每個系列約5篇文章。之後還將釋出由這兩個官方提供的BSP的實戰移植方法。 本說明適用範圍 p

Python爬蟲基本概念

popu 通用 字符 spider dai 自身 部分 螞蟻 people 網絡爬蟲的定義 網絡爬蟲(Web Spider。又被稱為網頁蜘蛛。網絡機器人,又稱為網頁追逐者),是一種依照一定的規則,自己主動的抓取萬維網信息的程序或者腳本。另外一些不常使用

各種音視訊編解碼學習詳解之 編解碼學習筆記基本概念

最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.htm

JVM調優總結基本概念

一、資料型別   Java虛擬機器中,資料型別可以分為兩類:基本型別和引用型別。   基本型別的變數儲存原始值,即:他代表的值就是數值本身; 而引用型別的變數儲存引用值。“引用值”代表了某個物件的引用,而不是物件本身,物件本身存放在這個引用值所表示的地址的位置。

iOS/OS X記憶體管理基本概念與原理

CSDN移動將持續為您優選移動開發的精華內容,共同探討移動開發的技術熱點話題,涵蓋移動應用、開發工具、移動遊戲及引擎、智慧硬體、物聯網等方方面面。如果您想投稿、尋求《近匠》報道,或給文章挑錯,歡迎傳送郵件至tangxy#csdn.net(請把#改成@)。  在Objective-C的記憶體管理中,其實就

GCD教程基本概念

什麼是GCD? Grand Central Dispatch或者GCD,是一套低層API,提供了一種新的方法來進行併發程式編寫。從基本功能上講,GCD有點像NSOperationQueue,他們都允許程式將任務切分為多個單一任務然後提交至工作佇列來併發地或者序列地執行。

Spark2.3.2原始碼解析 6. SparkContext原始碼分析 SparkEnv

    SparkContext 是通往 Spark 叢集的唯一入口,可以用來在 Spark 叢集中建立 RDDs 、 累加器( Accumulators )和廣播變數( Broadcast Variables ) 。 SparkContext 也是整個 Spark 應用程式(

Liferay 6.1開發學習環境搭建

一、資源準備 liferay-plugins-sdk-6.1.1(Plugins SDK)liferay-portal-6.1.1-ce-ga2(Bundled with Tomcat)liferay-portal-src-6.1.1-ce-ga2(Portal Sour

前端學習基本類型

關系 大小寫 變量 def 兩個 num eof 初始化 string類 ECMAScript中有5中基本數據類型:Undefined、Null、Boolean、Number、String。 Undefined類型:之所以會出現這個值,就是在當你聲明了一個變量時,並未對其賦

Python地理位置資訊庫geopy的使用基本使用

geopy是Python關於地理位置的一個第三方庫,用這個庫來進行地址位置資訊的查詢和轉換非常方便,本文介紹關於geopy的常用的幾種用法 geopy的安裝 pip install geopy 根據地址查詢座標及詳細資訊 >>> import json, logging &

Spring AOP學習筆記基礎概念

AOP產生背景 AOP(Aspect Oriented Programming),即面向切面程式設計,可以說是OOP(Object Oriented Programming,面向物件程式設計)的補充和完善。OOP引入封裝、繼承、多型等概念來建立一種物件層次結構,用於模擬公共行為的一個集合。不

【C++併發實戰】併發基本概念

  什麼是併發 併發,最簡單的理解就是,兩個或者以上的活動同時進行。舉個比較實際的例子,你可以手腳並用,兩隻手做不同的動作等等。 在計算機中的“併發”,是指一個系統可以同時執行多個獨立的活動。在以前大多數計算機都只有一個處理單元(或者核心),這種計算機在同一時刻只能執行一個任務,任務

我對hyperledger fabric1.1.0的執著基本環境整理

我用的作業系統為:centos7.4,語言準備用java開發。 整理包括:linux核心升級(若升級失敗,可參考https://blog.csdn.net/tianshuhao521/article/details/84021064),jdk安裝,docker(docker ce,docker-

【AI實戰】快速掌握Tensorflow基本操作

Tensorflow是Google開源的深度學習框架,來自於Google Brain研究專案,在Google第一代分散式機器學習框架DistBelief的基礎上發展起來。Tensorflow於2015年11月在GitHub上開源,在2016年4月補充了分散式版本,最新版本為1.10,2018年

概率論基礎知識概率論基本概念

概率論 0. 前言 本文主要旨在對概率論的基礎概念與知識進行概要的總結,以便於使用到時可以參考。 概率論是數理統計的基礎,也是很多機器學習模型的支撐,概率論在機器學習中佔主要地位,因為概率論為機器學習演算法的正確性提供了理論依據。 1. 概率論的基本概念 1.

SPI匯流排基本原理篇

1、什麼是SPI?       SPI是序列外設介面(Serial Peripheral Interface)的縮寫。是 Motorola 公司推出的一  種同步序列介面技術,是一種高速的,全雙工,同步的通訊匯流排。 2、SPI優點  支援全雙工通訊  通訊簡單  資料傳

從頭開始寫專案Makefile基本規則

【版權宣告:轉載請保留出處:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 一般一個稍大的linux專案會有很多個原始檔組成,最終的可執行程式也是由這許多個原始檔編譯連結而成的。編譯是把一個.c或.cpp檔案編譯成

Vue.js教程基本使用

vue.js是一套漸進式Javascript框架。是一個小巧好用的框架。 簡介 Vue既然是一個js框架,那麼基本上js能做的事情它都能做。Vue跟大多數js框架類似,都是優化js對DOM的操作。什麼是DOM操作呢?看下面: <div id="app"

MongoDB入門系列基礎概念和安裝

概述   MongoDB是目前非常流行的一種非關係型資料庫,作為入門系列的第一篇本篇文章主要介紹Mongdb的基礎概念知識包括命名規則、資料型別、功能以及安裝等。 環境: OS:Windows Version:3.4 一、安裝 1.下載解壓 在官網下載對應作業系統版本的安裝包,然後解壓;

Netty 入門基本元件與執行緒模型

  Netty 的學習內容主要是圍繞 TCP 和 Java NIO 這兩個點展開的,後文中所有的內容如果沒有特殊說明,那麼所指的內容都是與這兩點相關的。由於 Netty 是基於 Java NIO 的 API 之上構建的網路通訊框架,Java NIO 中的幾個元件,都能在 Netty 中找到對應的封裝。下面我們