milkv-duo启动流程分析:手动构建fip.bin [2/2]

本文详细描述了如何在RISC-V架构下手动编译FSBL以获取bl2.bin,解决编译过程中的错误,并使用fiptool.py创建fip.bin的过程,包括设置CPU参数和加载二进制文件。

手动合成fip.bin和boot.sd [2/2]

编译FSBL

编译FSBL是为了得到bl2.bin。注意到我们需要配置一些参数:

ARCH ?=

ifneq ($(origin CROSS_COMPILE),command line)
ifeq ($(ARCH),riscv)
CROSS_COMPILE := ${CROSS_COMPILE_GLIBC_RISCV64}
BOOT_CPU ?= riscv
else
CROSS_COMPILE := ${CROSS_COMPILE_64}
BOOT_CPU := aarch64
ARCH := aarch64
endif
endif

ifeq (${CHIP_ARCH},)
$(error CHIP_ARCH is undefined)
endif

ifeq (${CROSS_COMPILE},)
$(error CROSS_COMPILE is undefined)
endif

我们需要

make ARCH=riscv CROSS_COMPILE=riscv64-buildroot-linux-musl- BOOT_CPU=riscv CHIP_ARCH=cv180x PROJECT_FULLNAME=cv1800b_milkv_duo_sd bl2

此时又报错:

lib/cpu/riscv/bl2_entrypoint.S: Assembler messages:
lib/cpu/riscv/bl2_entrypoint.S:60: Error: unknown CSR 
帮我看一下这个报错:06-12 03:36:49.417 5514 5514 E AndroidRuntime: Process: wifip2p.wifi.com.wifip2p, PID: 5514 06-12 03:36:49.417 5514 5514 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{wifip2p.wifi.com.wifip2p/wifip2p.wifi.com.wifip2p.activity.SendFileActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.wifi.p2p.WifiP2pManager$Channel android.net.wifi.p2p.WifiP2pManager.initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager$ChannelListener)' on a null object reference 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3469) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3663) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.os.Looper.loop(Looper.java:272) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7971) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:986) 06-12 03:36:49.417 5514 5514 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.wifi.p2p.WifiP2pManager$Channel android.net.wifi.p2p.WifiP2pManager.initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager$ChannelListener)' on a null object reference
最新发布
06-13
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值