1. 程式人生 > >在Beaglebone Black上執行QNX7.0

在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 啟動方式啟動完畢

 

https://blog.csdn.net/GaryLiu1104/article/details/17463483

https://blog.csdn.net/keyboardOTA/article/details/6768569