一、環境搭建
VMware+ubantu+android7.0
1、安裝VMware虛擬機。
2、安裝ubantu,下載android7.0到ubantu的目錄N08735B_git/alps。
3、搭建“MTK編譯服務器”,見https://download.csdn.net/download/weixin_40779546/10713235。
4、創建VMware虛擬機共享文件夾,方便數據傳輸,我共享了F盤,所以路徑爲:/mnt/hgfs/F/
二、編譯android7.0內核
1、打開虛擬機終端:ctrl+alt+T。
2、進入目錄:cd N08735B_git/alps
3、添加環境:source build/envsetup.sh
4、選擇Build目標設備及類型:lunch
選擇要編譯的項目,我的選擇的20,回車
(注:xxxx-eng爲工程模式,在系統運行時候會生成很多log調試信息,相應的功耗會變大,手機卡頓;xxxx-usr爲用戶模式,正式生
產時用這個模式下編譯。)
5、輸入1,回車
6、Build內核:make 2>&1|tee build.log
7、等待Build,電腦配置不同所需時間不同。
8、Build完成後生成的.img文件路徑:/home/N08735B_git/alps/out/target/product/joyasz8735b_3tb_n
所需文件:boot.img
cache.img
lk.bin
logo.bin
MT6737M_Android_scatter.txt
preloader.img
preloader_joyasz8735b_3tb_n.bin
recovery.img
secro.img
system.img
trustzone.bin
userdata.img
items.ini
共13個文件。
三、下載內核到設備
1、拷貝編譯生成的13個文件到PC上自己的工作區域。
2、下載工具包:SP_Flash_Tool_exe_Windows_v5.1708.02.000
解壓,打開flash_tool.exe
3、點擊“下載DA”,選擇“MTK_AllInOne_DA.bin”
4、點擊“配置文件”,選擇“MT8735M_Android_scatter.txt”
5、選擇“固件升級”
6、都勾選
7、點擊“下載”
8、關機狀態下,連接數據線到PC,flash_tool.exe會升級固件,等待結束對話框,完成。
四、驅動開發
1、安裝ADB。
2、Build自己的驅動文件,如helloworld.cpp+Android.mk,步驟如下。
3、切換root用戶:su 輸入密碼即可。
4、拷貝驅動文件到目錄/home/james/1_WorlkSpace/alps/:cp -r /mnt/hgfs/F/ /home/james/1_WorlkSpace/alps/
5、打開路徑:/home/james/1_WorlkSpace/alps/。
6、添加環境:source build/envsetup.h
7、選擇Build目標設備及類型:lunch
選擇要編譯的項目,回車
8、生成可執行程序:在cmd打開目錄/home/james/1_WorlkSpace/alps/helloworld/,輸入命令mm -B;如果有安裝mmm指令,也可以打開目錄/home/james/1_WorlkSpace/alps/,輸入指令mmm external/helloworld/。
9、生成的可執行程序在目錄:/home/james/1_WorlkSpace/alps/out/target/product/gxxx/system/bin/
10、拷貝可執行程序到ADB文件夾
11、連接android設備到PC
12、打開adb
13、將可執行文件用adb指令放到路徑/mnt/user,賦權限,執行。