全志編譯環境分析

2021-08-24 20:42:46 字數 2680 閱讀 2921

全志編譯環境分析(cqa64_ubuntu16.04_bv3_20180515)

~/: 編譯環境的根目錄

常用環境變數值

$        ~/buildroot/

$ ~/out/$/$/common/buildroot/ ~/out/sun50iw1p1/ubuntu16/common/buildroot/

$ ~/linux-3.10

$ ~/linux-3.10/output/lib/modules/3.10.105

$ ~/linux-3.10

~/buildroot/scripts/build.sh 解壓交叉編譯工具鏈

mkkernel -> prepare_toolchain -> ~/linux-3.10/scripts/build.sh(build_kernel -> build_modules -> build_ramfs -> gen_output -> [0;31;1msun50iw1p1 compile kernel successful)
1) build_kernel

1.拷貝 rootfs.cpio.gz

cp -f rootfs.cpio.gz output/

2.拷貝配置檔案 .config

cp arch/$/configs/$ .config

$"arm64"$""

arch/$/configs/ 目錄下有以下預設配置 .config 檔案:

defconfig sun50iw1p1smp_defconfig sun50iw1p1smp_android_defconfig sun50iw1p1smp_min_defconfig

3.編譯所有模組

make arch=$ cross_compile=$ -j$

all modules

4.更新核心版本,並更新 lichee_mod_dir 變數

update_kern_ver

5.找到所有 drivers sound crypto block fs security net 驅動路徑並拷貝到$

for

file

in$(find drivers sound crypto block fs security net -name "*.ko");

do cp $file

$done

問題:

vmlinux是什麼檔案,有什麼作用

module.symvers是什麼檔案,有什麼作用

2) build_modules

1.安裝系統驅動檔案,即將 *.ko 檔案拷貝到$

2.編譯安裝 nand 驅動檔案

3.編譯安裝 aw_schw 驅動檔案

4.編譯安裝 gpu 驅動檔案

3) build_ramfs

$        ./out/sun50iw1p1/ubuntu16/common/
1.生成 boot.img

$ --kernel $ \

--ramdisk $ \

--board $ \

--base $ \

--kernel_offset $ \

--ramdisk_offset $ \

-o output/boot.img

$ ~/tools/pack/pctools/linux/android/mkbootimg

$ sun50i

$ 當前函式中有賦值

$ 當前函式中有賦值

4) gen_output

編譯安卓平台,才會呼叫

$        ~/out/sun50iw1p1/ubuntu16/common

$dtc_compiler ~/linux-3.10/scripts

/dtc

1) do_prepare

2) do_ini_to_dts

1.通過 sys_config.fex 檔案 生成 dtb 裝置樹檔案

$dtc_compiler -o dtb -o $/sunxi.dtb    \

-b 0 \

-i $dtc_src_path \

-f$dtc_ini_file \

-d $dtc_dep_file

$dtc_src_file

3) do_common

問題:

script sys_config.fex > /dev/null

4) do_pack_$

5) do_finish

原創 效能測試之 網路環境分析

這裡指的是頻寬網速的單位計算方式方法及關係。在計算機網路 idc機房中,其寬頻速率的單位用bps 或b s 表示 換算關係為 1byte 8bit 1b 8b 1b s 8b s 或1bps 8bps 1kb 1024b 1kb s 1024b s 1mb 1024kb 1mb s 1024kb s...

ubuntu 12 04編譯全志 SDK FAQ

bin sh 1 a unexpected operator awk line 4 function strtonum never defined awk line 4 function strtonum never defined 解決辦法 bin sh 1 a unexpected operat...

全志平台linux啟動流程分析

2015 08 02 16 31 一 brom階段 機器上電之後會執行固化在brom裡面的一段引導程式,這個程式會依次遍歷所有支援的啟動介質,直到找到第乙個支援的。目前支援的啟動介質是sd mmc卡 nand和spinor。當程式初始化啟動介質成功後,就從固定位置讀入bootloader的boot0...