上一篇文章介紹了,怎么在調試開發板以及開發板上運行程序
本篇文章介紹,怎么更新開發板系統?
一、開發板開發流程介紹
開發板裸機開發流程
對于功能簡單僅包括應用程序的嵌入式系統一般不使用操作系統,我們可使用類似單片機開發的步驟完成整個開發。
1.硬件開發(PCB、原理圖 ——硬件工程師 2.啟動代碼(硬件初始化)——芯片廠商(匯編) 3.設備驅動(裸機下驅動——驅動工程師 4.應用程序(單任務)——應用工程師
開發板帶操作系統開發流程
當設計較復雜的程序時,可能就需要一個操作系統(OS)來管理控制內存、多任務、周邊資源等
1.硬件開發(PCB、原理圖) 2.啟動加載程(bootloader) 3.操作系統內核(kernel) 4.根文件系統 (root) 5.設備驅動 (driver) 6.應用程序 (進程、線程、GUI、網絡、數據庫等)
二、開發板系統組成(軟件)
bootloader、kernel(driver)、rootfs、app層次
2.1 BootLoader
定義:
系統加電后,在操作系統內核或用戶應用程序運行之前運行的一段或多段程序
作用:
將系統的軟件硬件環境帶到一個合適的狀態,為調用操作系統內核準備好正確的環境,類似于pc上的BIOS.(PC在BIOS之后仍然會啟動bootloader)
2.2 linux內核
是linux系統軟件的核心,它的性能對整個系統的性能起決定作用 由linus領導的開源社區對其進行甄別和修改最終決定是否進入到linux主線內核源碼中 http://www.kernel.org是內核源碼的主要來源,所有來自全世界的對linux源碼的修改最終都會匯總到這個網站 linux內核實現了操作系統的五大功能模塊: 進程管理\內存管理\文件系統\設備控制\網絡
2.3 linux驅動程序
驅動程序就是溝通用戶與各式各樣、千變萬化硬件的橋梁 驅動程序也是一類程序,其作用是驅動硬件正常工作,沒有他,嵌入式將寸步難行 例如:lcd、flash、ad、網絡等正常工作都需要相應的驅動程序來支持
2.4根文件系統
存放linux系統所需:重要文件、命令、應用程序等都保存在根文件系統中,操作系統起來后可以直接使用 在啟動內核后需要掛載根文件系統 1、包含linux內核啟動必須的配置文件,如:開機密碼、網絡配置腳本、環境變量等 2、應用程序運行需要的庫函數等 3、常用應用程序:ftp、vi、telnet、web服務器等
2.5 linux應用程序
嵌入式linux應用程序開發可以說是嵌入式系統中最重要的組成部分 我們做出來產品最終是什么,完全看應用程序怎么寫 基于本地圖形庫:QT、miniGUI、MicroWindows 基于網絡:CS結構、BS結構、路由轉發、組網 基于數據存儲與處理:sqllite等 基于設備控制:uart、can、iic、spi等
三、bootloader、內核、根文件系統燒寫
bootloader是系統加電后運行的第一段程序,因此需要我們把bootloader燒入以下介質,完成啟動。
USB更新系統步驟
step1:初始化USB,準備與上位機通信。 step2:在上位機(XP)上運行fastboot軟件。 step3:修改開發板的環境變量。
step1:初始化USB,準備與上位機通信
讓開發板停在bootloader命令行界面: 開發板的串口1和電腦的串口通過串口線連接后,打開開發板電源。當串口軟件上出現"Hit any key to stop autoboot"時迅速按下電腦鍵盤上一任意按鍵。
開發板上的USB OTG口(如下圖)通過USB線和電腦USB相連。
在bootloader命令行界面中敲入fastboot命令并回車的界面如下圖所示:
輸入fastboot命令后開發板會初始化USB OTG口,讓其準備好和上位機通信。
第一次使用fastboot命令時,電腦出現硬件安裝向導。此時應安裝fastboot驅動。
安裝成功,黃色感嘆號消失。
step2:在XP上運行fastboot軟件
雙擊fastboot目錄下的sp_linux_image_down.bat則會運行fastboot.exe軟件,往開發板上燒入Linux系統。
step3:結束
在命令行顯示如下內容時表示燒寫結束
注意:如果是安卓系統第一次燒寫
step1:同上
step2:在XP上運行fastboot軟件,腳本文件應修改為如下所示,先燒引導程序,后重啟
step3:分區
分區命令1
mmc erase 0x400 0x40
分區命令2
fdisk 2 8 100000:4000000 4100000:2f200000 33300000:1ac00000 4e000000:800000 4e900000:160000050000000:0xc800000 0x5c900000:0x1f400000 0x7be00000:0x0
重啟:
reset
step4:在XP上運行fastboot軟件,腳本文件應修改為如下所示