欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

在BeagleBoard上運行QNX系統(一)

系統 2335 0

折騰了好幾天,終于成功在BeagleBoard上運行QNX系統,如果說在BeagleBoard上運行Android費了一些手腳的話,在BeagleBoard上運行QNX可以說是費盡周折。秉承本博客的主旨,將折騰過程記錄下來,供各位同學參考,以后可以少繞一些彎子。

為了在BeagleBoard上運行QNX系統,我參考了一些書和網上的資料,同時將制作Android系統的sh文件打開仔細讀了一下,得出的主要思路如下:

1. 首先要將啟動的SD卡進行分區和格式化,讓其中一個分區成為啟動分區。

2. BeagleBoard提供了MLO和u-boot.bin文件,將他們拷貝到SD卡的啟動分區后,BeagleBoard啟動時會啟動MLO程序,然后MLO程序會調用u-boot.bin。其中u-boot.bin可以用來裝載QNX系統鏡像。

3. 需要去QNX官網上下載BeagleBoard的QNX BSP文件,導入到QNX Momentics環境中,用于生成QNX的系統鏡像文件(英文資料說的是OS Image)

4. 將生成的QNX系統鏡像文件拷貝到SD卡啟動分區中,u-boot.bin啟動后會裝載QNX系統鏡像。

有了基本思路就開始開干,第一步是對SD卡進行分區和格式化。

為了保持之前的WinCE系統和Android系統,我另外找了一個2G的卡,又是幾十塊錢出去了。。。。

網上有一些資料關于如何格式化SD卡的,有Windows操作系統的方法,也有Linux系統的方法。反正我的Ubuntu已經安裝好了,而且Linux系統上的方法說的詳細一點,就采用了Linux系統上的方法。

我做SD卡的過程主要是參考了foundry27的一篇文章,鏈接是:

http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AM_OMAP_boot_resources

將SD卡裝如讀卡器,將讀卡器插入PC上,從VMWare菜單上設置在Ubuntu虛擬機上使用USB設備。

于是在我的Ubuntu上就可以看到自動mount出來的SD卡內容了。

關掉自動顯示的SD卡內容窗口(主要是擔心一會umount SD卡的時候會出問題)

啟動Ubuntu的terminal窗口,開始在命令行界面下格式化SD卡。

a)通過df命令查看SD卡的設備名,df的輸出里有類似/dev/sdb1 .... /media/的一行,表示SD卡的設備名是sdb,下面統一使用sdx作為SD卡的設備名,如果你的情況有所不同,請作相應調整,如將umount /dev/sdx1 調整成umount /dev/sdb1

b) 通過umount命令釋放sbd: umount /dev/sdx1

c) 通過以下命令清除sdb的內容,如果遇到權限問題,請使用sudo,或者直接設置root的密碼后su 到root上執行:

dd if=/dev/zero of=/dev/sdx bs=1M count=1


d)啟動fdisk:

fdisk /dev/sdx

c) 在fdisk界面下先通過命令p查看一下情況,如果c)步驟完成的話,顯示出來的應該只用磁盤信息,沒有分區信息。在我參考的文檔中建議通過磁盤信息計算一下分區時分多少柱面,計算方法是字節總量除以255再除以63再除以512,我自己用的是2G的卡,計算結果和他的相同,就按他的結果(239)做了。

Command (m for help): p
Disk /dev/sdx: 1973 MB, 1973420032 bytes


d)通過x命令進入高級模式:

Command (m for help): x


e)通過h命令設置head數量,通過s命令設置setor數量,通過c命令設置cylinder數量,這里的cylinder(柱面)使用的值就是上面算出來的值。其中的255,63就是上一步的除數。

Expert command (m for help): h
Number of heads (1-256, default 4): 255

Expert command (m for help): s
Number of sectors (1-63, default 62): 63
Warning: setting sector offset for DOS compatiblity

Expert command (m for help): c
Number of cylinders (1-1048576, default 1011): 239

f)通過r命令回到普通模式,使用n命令創建分區:

Expert command (m for help): r

Command (m for help): n

Command action

e extended

p primary partition (1-4) p

Partition number (1-4): 1

First cylinder (1-15, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-15, default 15): 15

g)讓分區成為啟動分區:

Command (m for help): a Partition number (1-4): 1

h)通過t命令設置分區為FAT32格式的分區:

Command (m for help): t

Selected partition 1 Hex code (type L to list codes): c

Changed system type of partition 1 to c (W95 FAT32 (LBA))

i)通過p命令確認分區情況:
Command (m for help): p

Disk /dev/sdx: 1973 MB, 1973420032 bytes 255 heads, 63 sectors/track, 239 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa2b8daf8 Device Boot Start End Blocks Id System /dev/sdx1 * 1 15 120456 c W95 FAT32 (LBA)

j)通過w命令寫入分區信息:
Command (m for help): w

The partition table has been altered! Calling ioctl() t re-read partition table.


k)通過mkfs.vfat命令格式化分區:
# mkfs.vfat -F 32 /dev/sdx1 mkfs.vfat 3.0.3 (18 May 2009)

好的,通過一連串的命令后SD卡已經格式化完成了,下一步是將MLO和u-boot.bin拷貝到SD卡中。我上次做Android系統的時候我的Ubuntu上已經有MLO文件和u-boot.bin文件了,所以決定將Android上使用過的MLO和u-boot.bin拷貝進去。 當時主要的想法是這兩個文件已經驗證是可用的,使用它們可以保證不出其他問題,后來發生的事情證明我犯了一個嚴重錯誤。這里正確的做法應該是去QNX官網上通過指定的鏈接下載MLO和u-boot.bin文件,那個版本才是對的。

我繼續記錄我錯誤的做法,雖然是錯誤的,但是還是成功啟動QNX了。


將剛格式化得分區mount進來,拷貝MLO程序和u-boot.bin程序,注意一定要第一個拷貝MLO程序,保證它在0磁道上,BeagleBoard才能啟動它:
mount /dev/sdx1 /mnt
cp MLO /mnt cp u-boot.bin /mnt
umount /dev/sdx1


拷貝了MLO文件和u-boot.bin文件后需要做QNX的系統影像文件了。
到QNX官網下載BSP文件,頁面鏈接如下:
http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/Bspdown_ti_omap_3730_beagle
注意這個頁面就有MLO和u-boot.bin的鏈接,一塊將他們下載下來,后面可以使用

下載的文件是:
2011_July_19th_QNX_650_BEAGLEBOARD_XM_BSP.zip
解壓以后在images目錄可以找到已經做好的QNX系統影像文件bsp-TI-beagleboard-xm.ifs
將這個bsp-TI-beagleboard-xm.ifs拷貝到剛才格式化的SD卡中(可以直接在windows系統里拷貝,剛才的SD卡分區時FAT32分區,當SD卡插入windows系統是可以認到)

按我的思路,應該可以啟動了,將SD卡插入BeagleBoard中,插上5V電源,啟動后SD卡旁邊的燈長亮,液晶屏沒有任何顯示。

查了一輪資料,主要是參考的是文檔《QNX 6.5.0 and 6.4.1 BSPs for BeagleBoard-xM》,里面提到啟動過程需要通過串口發送啟動命令才行。

所以我還需要將BeagleBoard和PC通過串口線連接起來,可惡的是我的手提電腦沒有串口,于是聯系ChipSee買了一個串口轉USB的連接器,大家也可以自己去買,但是ChipSee這個他們測試過,應該保險一些。

連接器到貨后里面是一個連接線和一個光盤,光盤里有啟動程序,安裝啟動程序后系統將它對應到了com7上。

QNX Momentics環境里有串口顯示窗口,選擇Windows -> show view -> terminal -> terminal可以顯示串口顯示窗口。
串口配置如下:
Baud: 115200

Bits: 8

Stop bits: 1

Parity: none

Flow control: none

將串口線插到beagleBoard上,另一頭連接USB轉串口的連接器上,連接器的U口插入PC上。
BeagleBoard通電啟動,從串口顯示窗口會出現uboot的啟動文字。
uboot啟動后在串口顯示窗口輸入如下命令啟動beagleBoard:

fatload mmc 0 0x80100000 bsp-TI-beagleboard-xm.ifs;
go 80100000

成功啟動!!!! 提醒各位同學,這里的配置過程有些問題的,有關正確的做法大家請關注我后面的博文。
最后上圖,辛苦的結果:
在BeagleBoard上運行QNX系統(一)

在BeagleBoard上運行QNX系統(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美9999| 欧美一区二区三区视频 | 国产精品第1页 | 午夜剧场直接免费观看 | 精品视频在线播放 | 国产精品999| 五月久久亚洲七七综合中文网 | 欧美精品成人免费视频 | 午夜精品久久久久久91 | 天天射天天做 | 香港毛片| 开心深爱激情 | 欧美成人精品一区二区三区 | 欧美激情一区二区三区视频高清 | 奇米第四色网站 | 久久国产a | 伦理一区 | 免费日韩在线 | 久久福利一区 | 天堂在线v| 富二代精品视频 | 免费视频拗女稀缺一区二区 | 91在线视频播放 | www.日韩| 一级毛片特级毛片免费的 | 九九视频精品全部免费播放 | 成人激情视频在线观看 | 久久草在线| 欧美一级久久久久久久久大 | 日韩欧美中文字幕在线播放 | 欧美日韩亚洲精品国产色 | 国产青青| 日韩毛片大全免费高清 | 色678黄网站全部免费 | 欧美久久天天综合香蕉伊 | 玖玖精品视频在线观看 | 欧美va亚洲 | 免费日韩在线 | 黄色精品 | 久久精品亚洲精品国产欧美kt∨ | 亚洲日本香蕉 |