硬體環境p2020,作業系統vxworks6.9
板卡狀態:可以啟動uboot,啟動不了bootrom。
前期板卡啟動bootrom無果,可能是遇到了版型適配的問題。
解決無果,只能另尋他路。從uboot去引導vxworks。
網上看了一堆相關uboot啟動vxworks的方法。
主要思路為:(1)燒寫uboot;(2)設定uboot環境變數;(3)配置引導vx;
(1)燒寫uboot就不贅述了,這一步沒完成,就別想其他了。
(2)uboot環境變數配置:
第一步:
->setenv bootaddr
bootaddr的值在vxworks的bsp中有體現:
the default value is
* (local_mem_local_adrs + boot_line_offset) as defined by
* vxworks bsp. for example, on powerpc it defaults to 0x4200.
第二步,->setenv bootargs
若第二步沒定義
->setenv bootdev
->setenv bootfile
->setenv ipaddr
->setenv serverip
->setenv gatewayip
->setenv hostname
->setenv othbootargs
- vxworks boot parameters:
bootvx constructs a valid bootline using the following
environments variables: bootdev, bootfile, ipaddr, netmask,
serverip, gatewayip, hostname, othbootargs.
it loads the vxworks image pointed bootfile.
note: if a "bootargs" environment is defined, it will overwride
the defaults discussed just above.
至此,uboot環境變數設定完畢。
(3)配置vx;
目前還不清楚需不需要修改vx映象配置內容,網上有提及vxworks的law與uboot適配的問題,還有關於uboot的mmu開啟的問題。還有關於ubootccsbar配置問題。
至此,所有的配置工作完成。
下面開始啟動vx操作:
第一步,通過tftp將vxworks映象拷貝到0x1000000位址處。
tftp 0x1000000 vxworks
第二步,啟動vx。
=> bootvx
列印輸出如下:
## ethernet mac address not copied to nv ram
## using bootline (@ 0x4200): motetsec(0,0)host:vxworks h=10.0.1.230 e=10.0.1.88 u=vxworks pw=vxworks f=0x0host:vxworks e=10.0.1.88:ff000000 h=10.0.1.230 g=10.0.1.1 tn=unknown
## starting vxworks at 0x00100000 ...
目前的除錯工作到這步卡住了,問題可能出在兩個地方,乙個是環境變數修改,這個好解決。另乙個是關於uboot和vx映象不適配的問題。
VxWorks啟動解析
一,啟動順序的一些概念 上電啟動vxworks image發生事件的順序 處理器跳到rom或flash中的boot strap程式的起點,主要作用 關閉中斷 來自cpu內部 初始化目標記憶體 裝載要執行的vxworks iamge segment jumps to code to place tar...
VxWorks 基本啟動方式
rom型啟動方式 vxworks直接從rom中執行,不借助於bootrom引導程式。此時vxworks核心映像被燒入rom 中,無bootrom程式。對於不同的啟動方式,vxworks作業系統核心映像的組成也略有不同。bootrom引導程式一般稱為vxworks boot image。該程式由如下檔...
uboot啟動流程概述 uboot啟動流程
u boot系統啟動流程 大多數bootloader都分為stage1和stage2兩大部分,u boot也不例外。依賴於cpu體系結構的 如裝置初始化 等 通常都放在stage1,且可以用組合語言來實現,而stage2則通常用c語言來實現,這樣可以實現複雜的功能,而且有更好的可讀性和移植性。2.1...