uboot 啟動 VxWorks除錯記錄

2021-10-04 00:28:03 字數 1790 閱讀 1397

硬體環境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...