iTOP-4412 開發板能夠運行的文件系統不少,在具體的文件系統上實現特定功能前,可
以使用 Linux-C 程序來測試硬件以及驅動。並且這些程序很容易移植到 Android、Qt/E 以及
最小文件系統上。
特別提醒:Linux-C 程序是跨平臺的,只要按照下面介紹的方法去編譯,就能夠將 Linux-
C 的程序和 Android 系統一塊兒運行,使用 Linux-C 的程序測試咱們關注的內容。本質上,咱們
能夠這樣理解,Android 只是一個大的文件而已,如下面第一個 helloworld 爲例,Linux 內核上
運行着兩個程序「helloworld」+「Android」。
Linux-C 的測試程序源碼和可執行程序在網盤目錄「iTOP4412 開發板資料彙總(不含光盤
內容)\iTOP-4412 開發板系統源碼及鏡像(其餘)\小模塊的測試程序」下。
8.1 測試程序的編譯和運行
8.1.1 編譯環境的設置
C 程序的應用程序在 Android 上運行,使用的編譯器是 gcc4.4.1。編譯器的安裝方法參
考第五章。
以下圖所示,修改環境變量。linux
修改完以後,更新一下環境變量,以下圖shell
以下圖所示,輸入「arm」,而後按「TAB」鍵,會顯示後面須要用到的編譯器「arm-
none-linux-gnueabi-gcc-4.4.1」。工具
8.1.2 編譯 helloworld
程序 helloworld.c 的源碼以下。測試
編譯 helloworld 程序,輸入命令「arm-none-linux-gnueabi-gcc-4.4.1 -o helloworld
helloworld.c -static」,以下圖所示。命令行
以下圖,生成可執行文件 helloworld。3d
8.1.3 上傳 helloworld 到開發板
開發板運行出廠自帶的 Android4.0.3 系統,鏈接串口控制檯,啓動開發板,Android 運
行以後接上 OTG 線。orm
將可執行文件 helloworld 拷貝到 fastboot 燒寫目錄中,以下圖所示,這個目錄是燒寫
fastboot 工具所在的目錄。fastboot 工具的使用方法參考 3.6 小節。blog
開發板的 Android 系統運行穩定後,將 OTG 接口和電腦的 USB 鏈接,打開
「USB_fastboot_tool\platform-tools」目錄中的「cmd.exe」,以下圖所示。接口
以下圖所示,輸入命令「adb push helloworld /data」,將程序上傳到開發板的
「/data」目錄中。開發
固然也能夠經過手機助手、TF 卡或者 U 盤來上傳可執行文件 helloworld。
8.1.4 修改程序權限和運行 helloworld
以下圖所示,在超級終端中,輸入「cd /data」進入"/data"目錄,使用「chmod 777
helloworld」修改權限,最後輸入命令「./helloworld」運行程序。超級終端中會打印出
「Hello world!」,代表程序運行成功。
除了經過控制檯修改權限和運行程序,還能夠經過 adb 控制檯修改權限和運行程序。如
下圖所示,上傳 helloworld 程序以後,使用命令「adb shell」打開 adb 命令行(更多 adb
命令參考 3.6.4 小節),使用「cd /data」進入 helloworld 程序上傳目錄「/data」,使用命
令「chmod 777 helloworld」修改權限,接着使用「./helloworld」運行 helloworld 可執行
程序。能夠看到 adb 控制檯打印「Hello World!」。
後面的測試能夠使用串口控制檯運行程序,也能夠使用 adb 命令運行程序。