在Beaglebone Black上執行QNX7.0
手頭上有一塊beaglebone black 板,之前一直在 TI 437的板子上用qnx ,最近有興致在 BBB 上安裝並執行qnx 7.0 看了幾篇部落格都是關於6.5 和6.6的, 根據manual 這裡介紹兩種方法 uboot和 spl方式.
關於uboot 啟動的方式, 重要的主要是 img不同.
關於spl啟動方式 有空的時候再過來總結補充一下
如果感興趣的同學想試試,又沒有 image檔案的可以留下郵箱,我看到可以發你學習學習,宣告僅供學習之用
-----------------------------------------下面補充一下--------------------------------------------------
首先格式化 SD卡 格式為FAT32
sd卡啟動有兩種方式來引導BBB 上的QNX Neturino RTOS
1. 通過 MLO/U-Boot 啟動方式
1. 獲得 MLO 和 u-boot.img 檔案;
2. 按下所列順序拷貝檔案到 microSD卡的DOS/FAT32分割槽中
a.mlo 注意: 如果mlo 不是拷貝到SD卡的第一個檔案,bbb將不會啟動,解決這個問題需要重新格式化並按正確的拷貝順序拷貝檔案.
b. u-boot.img
c. ifs-ti-am335x-beaglebone.bin(QNX Neutrino IFS image存放在$BSP_ROOT_DIR/images目錄下 )
3.將sd卡插到卡槽中, 如果還未通電,就現在通電,如果已經通電了就按下S1按鈕重啟電源
4. 在終端中你將會看到板子正在重啟動,立馬按下enter鍵,如果沒有及時按下的話,重新按S1按鈕重新按,直到看到U-boot引導.
5.U-boot引導,按下下面的命令載入並啟動QNX IFS image:
• mmcinfo
• fatload mmc 0 0x81000000 ifs-ti-am335x-beaglebone.bin
• go 0x81000000
然後就可以正常看到啟動資訊了
2. 通過QNX IPL 引導 IFS
首先將編譯好的ipl 與mlo檔案準備好,或者從供應商那裡得到.
1.將記憶體卡在host開發主機上格式化,開啟終端,cd到bsp編譯的路徑下;
2. 將ipl-sd-am335x-beaglebone.bin(IPL file)重新命名為mlo並拷貝到格式化好的SD卡中.如果是window系統,可以直接重新命名以後將mlo拖到你的SD中.
$cp $BSP_ROOT_DIR/images/ipl-sd-arm335x-beaglebone.bin microSD_card_location/mlo
注意:IPL file 必須是第一個放進SD的檔案,否則系統無法正常啟動.
3. 將IFS 檔案拷貝到SD卡中,並重新命名為qnx-ifs
$ cp $BSP_ROOT_DIR/images/ifs-ti-am335x-beaglebone.bin microSD_card_location/qnx-ifs
4. IPL 的啟動,將SD插到beaglebone black的卡槽裡.
5. 按下SD boot按鍵(S2),同時供電.如果已經供電,請重新上電
6.提前連線好串列埠列印,可以看到如下資訊 :
QNX Neutrino Initial Program Loader for AM335x Board
Command:
Press 'S' for SERIAL download, using the 'sendnto' utility to download file qnx-ifs .
Press 'M' for SDMMC download, file qnx-ifs assumed.
Press 'r' followed by physical address to read memory
Press 'w' followed by write address, followed by new value to write to memory
7. 鍵盤輸入M 可以看到如下啟動資訊
load image from SD ...
Load QNX image QNX-IFS from SDMMC...
Partition entry 0:
Boot Indicator: 0x00000080
Partition type: 0x0000000B
Begin C_H_S: 32 33 0
END C_H_S: 254 127 217
Start sector: 2048
Partition size: 7624704
Found image @ 0x84000008
Jumping to startup @ 0x81002760
__________Board ID__________
header: ee3355aa
name: A335BNLT
____________________________
BeagleBone Black detected
MMFLAGS=1
cpu0: unmapping startup [81000000, 827fc3fc)
VFPv3: fpsid=410330c3
Welcome to QNX Neutrino 7.0 on the Texas Instruments AM335x BeagleBone (ARMv7 Cortex-A8 core) - Board
Starting MMC/SD driver...
starting I2C driver...
starting WDT reset utility...
Starting random service ...
starting Board ID driver...
Board ID
header: ee3355aa
name: A335BNLT
version: 00C0
serial: 1516BBBK183E
config: ÿÿÿÿÿÿ
Setting OS Clock from on-board RTC
Path=0 - omap
target=0 lun=0 Direct-Access(0) - SDMMC: SA04G Rev: c.c
Sat Jan 01 00:00:01 GMT 2000
Starting USB OTG Host driver...
Starting SPI driver...
Starting network driver...
starting leds driver...
Setting environment variables...
done.
Starting Screen Graphics...
done.
Starting HDMI Audio driver...
#
至此 IPL 啟動方式啟動完畢