菜鸟学习物联网---辨析基于Andriod 5.1,Linux,Windows10开发Dragon Board 410c板
點(diǎn)擊打開(kāi)鏈接
?諸位親最近怎么樣?剛過(guò)完年上班是不是很不情愿?自古做事者,不唯有堅(jiān)韌不拔之志,亦或有超世之才。所以,諸位好好加油。今天小編想給大家系統(tǒng)性總結(jié)一下Dragon?Board?410c板基于Andriod?5.1,Linux,Windows10三種操作系統(tǒng)開(kāi)發(fā)特點(diǎn)(Dragon?Board?410c同時(shí)支持三種操作系統(tǒng)開(kāi)發(fā))。
??文章有點(diǎn)長(zhǎng),大家耐心看完。
初識(shí)DragonBoard?410c
???????DragonBoard?410c是一款搭載Qualcomm?Snapdragon?410(64位的四核處理器)的開(kāi)發(fā)板,它功能齊全,具有強(qiáng)大的處理能力,內(nèi)置?8GB?eMMC?(支持標(biāo)準(zhǔn)microSD卡槽),并且還內(nèi)置wifi、藍(lán)牙、和GPS模塊,具有HDMI?輸出及USB?接口?(3個(gè))。
??????同時(shí)兼容96Boards消費(fèi)版(CE)規(guī)范。(96Boards?是?ARM?開(kāi)放平臺(tái)規(guī)范,是第一個(gè)定義?Cortex-A?開(kāi)發(fā)板的開(kāi)放規(guī)范,該規(guī)范由Linaro社區(qū)委員會(huì)組織維護(hù)。標(biāo)準(zhǔn)化擴(kuò)展?Peripheral?I/O?總線,顯示和相機(jī)等。定位移動(dòng)、嵌入及數(shù)字家庭領(lǐng)域。允許硬件生態(tài)系統(tǒng)開(kāi)發(fā)一系列兼容組件的產(chǎn)品,在其生命周期可以在任意兼容?96Boards?的平臺(tái)上使用)。?同時(shí)支持win10?IOT操作系統(tǒng),系統(tǒng)包可以在微軟官方網(wǎng)站里下載。
系統(tǒng)環(huán)境
下載Android源碼
????大家可以通過(guò)repo命令下載代碼:
上面的release版本是今年9月份的,如果大家想下載最新版本應(yīng)該怎么辦呢?下面給大家介紹一下如何查找代碼庫(kù)的位置。?
首先打開(kāi)CodeAurora網(wǎng)站https://www.codeaurora.org/,點(diǎn)擊TOP?PROJECTS的Android?for?MSM進(jìn)入對(duì)應(yīng)的project
進(jìn)入Android?for?MSM頁(yè)面后點(diǎn)擊下圖中紅色圓圈的Wiki按鈕,訪問(wèn)此project的wiki頁(yè)面。
在Wiki頁(yè)面中查找Branch?Release章節(jié),你可以找到代碼下載方法(紅框處)。我們要下載Release分支的代碼,所以點(diǎn)擊下圖中紅圈處的release鏈接,會(huì)進(jìn)入release列表頁(yè)面。
在此頁(yè)面就可以找到自己想要代碼的Manifest了,DragonBoard?410c用的是Snapdragon?410芯片,所以我們選擇的Chipset是msm8916_64。
Linux
1、交叉編譯環(huán)境準(zhǔn)備
????DragonBoard?410c是一個(gè)64位的ARMv8平臺(tái),所以在PC機(jī)上編譯ARM架構(gòu)的代碼需要交叉編譯環(huán)境。首先下載Linaro?GCC?cross?compiler,然后將下載的壓縮包解壓到你自己指定的目錄下:
2、下載Linux?Kernel源碼
Linux?Kernel的代碼信息可以通過(guò)?Linaro?Qualcomm?Landing?Team?git?repository來(lái)查找
根據(jù)tags信息,我們可以看到,DragonBoard?410c的最新Linux源碼是15.09版本,下面我們來(lái)下載Linux源碼。
?????DragonBoard?410c支持win10?IOT操作系統(tǒng),系統(tǒng)包可以在微軟官方網(wǎng)站里下載。鏈接:http://ms-iot.github.io/content/en-US/Downloads.htm
打開(kāi)鏈接網(wǎng)頁(yè),找到?Download?Windows?10?lot?Core?for?Dragonboard?410c,點(diǎn)擊進(jìn)入如下圖紅色方框所標(biāo)識(shí)。
下載完成后的系統(tǒng)包如下:
開(kāi)發(fā)環(huán)境總結(jié)
以上是三種操作系統(tǒng)的環(huán)境,我們可以看出Dragon?Board?410c開(kāi)源性非常好,三種操作系統(tǒng)代碼都可以進(jìn)行支持。確實(shí)很值得每一個(gè)人都去學(xué)習(xí)。
編譯準(zhǔn)備
修改確認(rèn)kernel的UART配置
下載完代碼后,我們需要對(duì)kernel的UART進(jìn)行簡(jiǎn)單配置,具體配置參數(shù)可以參考kernel的devicetree文檔(kernel/Documentation/devicetree/bindings/tty/serial/msm_serial.txt)。
?
首先,確認(rèn)kernel/arch/arm64/boot/dts/qcom/msm8916.dtsi里的blsp1_uart2設(shè)置,具體設(shè)置如下:
然后,確認(rèn)kernel/arch/arm64/boot/dts/qcom/msm8916-pinctrl.dtsi里的uartconsole設(shè)置
最后,確認(rèn)kernel/drivers/clk/qcom/clock-gcc-8916.c中的blsp1_uart2_apps_clk_src?,如下:
確認(rèn)修改完以上的配置后就可以編譯系統(tǒng)了。
總結(jié):只有Andriod需要配置編譯系統(tǒng)。
編譯源碼
????通過(guò)以下命令編譯Android系統(tǒng)。編譯完的image可以通過(guò)fastboot命令燒寫到DragonBoard?410c上。
編譯kernel
首先,我們先要設(shè)置環(huán)境變量:
前面第一步我們已經(jīng)下載了交叉編譯器,所以CROSS_COMPILE設(shè)置為如下:
在15.09版本上存在一個(gè)build的問(wèn)題,所以我們需要通過(guò)cherry-pick來(lái)修復(fù)一下:
已經(jīng)萬(wàn)事俱備了,下面我們開(kāi)始編譯kernel:
編譯boot?image
??????boot?image是由三部分組成的:設(shè)備樹(shù)表鏡像(dt.img)、kernel鏡像(Image)和init?ramdisk鏡像。kernel鏡像我們?cè)谏厦嬉呀?jīng)編譯出來(lái)了,下面我們來(lái)看看其他兩部分從哪里獲取。
?
? 首先,我們需要下載安裝dt工具以及鏡像生成工具
然后,編譯dt鏡像:
init?ramdisk鏡像可以通過(guò)以下命令獲取:
已經(jīng)都準(zhǔn)備好了,下面我們就可以生成boot?image了。
編譯源碼總結(jié):我們看到,在Andriod?,Linux是需要編譯源碼的,Windows10則不需要。
安裝界面
????安裝Windows10?IOT?Update?Tool?for?dragonboard。在QDN網(wǎng)站里可以找到相關(guān)的工具,如下圖所示,根據(jù)電腦主機(jī)系統(tǒng)選擇相應(yīng)的版本的工具。
在Windows系統(tǒng)環(huán)境下直接安裝該工具,安裝成功會(huì)在桌面生成相應(yīng)的快捷方式:
雙擊直接打開(kāi)工具,界面如下圖所示:
點(diǎn)擊Browse按鈕,選擇默認(rèn)路徑下:C:\Program?Files\Microsoft?IoT\FFU\QCDB410C\flash.ffu文件。
連接Dragonboard?410c的Micro?USB到電腦主機(jī),把Dragonboard?410c的啟動(dòng)開(kāi)關(guān)設(shè)置為"1000",把USB?BOOT開(kāi)關(guān)撥到箭頭方向,如下圖所示。
插上電源適配器Adapter,系統(tǒng)上電后,工具界面連接狀態(tài)燈變?yōu)榫G色,可以開(kāi)始燒錄系統(tǒng)。
點(diǎn)擊工具界面的Program按鈕,幾分鐘后系統(tǒng)安裝完成,并彈出安裝成功的對(duì)話框。
?此時(shí)可以拔出電源Adapter,把啟動(dòng)開(kāi)關(guān)設(shè)置"0000",即默認(rèn)狀態(tài)。用HDMI線連接Dragonboard?410c和外部顯示器,連接USB鼠標(biāo)、鍵盤。
插入電源Adapter,開(kāi)始啟動(dòng)Windows10?IOT。
上圖是進(jìn)入Windows10?IOT系統(tǒng)后默認(rèn)界面,Enjoy
總結(jié)
Windows10作為系統(tǒng)是直接與板子相連的,而Andriod和Linux需要在各自系統(tǒng)上進(jìn)行編譯。
總結(jié)
以上是生活随笔為你收集整理的菜鸟学习物联网---辨析基于Andriod 5.1,Linux,Windows10开发Dragon Board 410c板的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高通msm8994手动提升性能脚本
- 下一篇: android 修改framework下