HiKey970韌體燒寫

2021-09-01 12:35:22 字數 2843 閱讀 3451

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 接下來就可以進行韌體燒寫了。在裝置資訊欄中...