aosp與kernel編譯成功後,接著進行韌體燒寫的工作,首先我們需要生成boot.img, 步驟如下:
1. git clone
2. git checkout -b hikey970-v4.9
3. mkdir tools (該tools建立在與linux目錄平級)
4. cp aosp_path/system/core/mkbootimg/mkbootimg ./tools
5. cp aosp_path/out/target/product/hikey970/ramdisk.img ./tools
6. 建立build_kernel.sh指令碼,內容如下:
#!/bin/bash
dtb=1
local_dir=$(pwd)
kernel_dir=$/linux
product_out=$/out/target/product/hikey970
gen_images_dir=$/tools
hikey970_kernel=$/tools
mkboottool_dir=$/tools
current_dir=$
ncpu=`grep -c ^processor /proc/cpuinfo`
if [ ! -e $ ]
then
mkdir -p $
fiexport mini_sys=true
export arch=arm64
export cross_compile=aosp_path/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
check_build_result()
if [ $? != 0 ]; then
echo -e "\033[31m $1 build fail! \033[0m"
exit -1
else
echo -e "\033[32m $1 build success! \033[0m"
fiif [ "$" != true ]; then
source ./build/envsetup.sh && lunch hikey970-userdebug && make -j$[ncpu*2] $2
check_build_result "android system"
ficd $
make hikey970_defconfig && make -j$[ncpu*2] image.gz modules
check_build_result "kernel image"
rm -f arch/arm64/configs/hikey970_temp_defconfig
cp arch/arm64/boot/image.gz $
if [ $dtb -eq 1 ]; then
make hisilicon/kirin970-hikey970.dtb
check_build_result "hikey970 dtb"
cp arch/arm64/boot/dts/hisilicon/kirin970-hikey970.dtb $
ficd $
if [ $ ];
then
make -j$[ncpu*2] userdataimage-nodeps
check_build_result "hikey970 need repack userdataimage"
fiif [ "$" = true ]; then
ramdisk=$/ramdisk.img
else
ramdisk=$/ramdisk.img
if [ ! -e $ramdisk ]; then
echo -e "\033[33m $ramdisk is not exist! please build ramdisk first.
\033[0m"
echo -e "\033[33m . ./build/envsetup.sh && lunch hikey960-userdebug
&& make ramdisk \033[0m"
exit -1
fifi
#uefi boot.img = image + dtb + ramdisk
cat $/arch/arm64/boot/image $/arch/arm64/boot/dts/hisilicon/kirin970-hikey970.dtb > $/image-dtb
check_build_result "image-dtb"
$/mkbootimg --kernel $/image-dtb --ramdisk $ --cmdline "androidboot.hardware=hikey970 firmware_class.path=/system/etc/firmware loglevel=15 buildvariant=userdebug androidboot.selinux=permissive clk_ignore_unused=true" --base 0x0 --tags_offset 0x07a00000 --kernel_offset 0x00080000 --ramdisk_offset 0x07c00000 --os_version 9.0 --os_patch_level 2018-11-21 --output $/boot.img
check_build_result "boot image"
echo -e "\033[36m build boot.img complete! \033[0m"
7. 執行上面的build_kernel.sh,然後生成boot.img
8.根據的內容燒寫開發板
Hikey970環境配置
前段時間在機械人端架著pc跑slam演算法,但是pc太沉導致機械人系統運動受影響,所以嘗試使用hikey970開發板去執行slam演算法,目前仍在探索中。本文主要是整理了一些網上能查到的關於環境配置的資料,方便日後使用。學習論壇 相關文件 環境配置 在win10系統下安裝乙個驅動和faseboot工...
hikey970命令模式操作GPIO
今天解決了之前遇到了的問題,寫個部落格來記錄一下。通過開發手冊hikey970 user manual,我們可以發現他的gpio口輸出是1.8v的,io口截圖如下 圖一 hikey970 user manual 我們要用的就是通過這個和hikey970 hi3670 v100 data sheet裡...
Librepilot Spark2韌體的燒寫
1 通過usb連線librepilot spark2飛控,啟動librepilot gcs地面站 博主的gcs是16.09版本 介面如下。2 點選firmware標籤頁,點選終止系統 若板子未帶系統,無需此步驟 如下圖。介面右側將顯示no link警告。3 接下來就可以進行韌體燒寫了。在裝置資訊欄中...