rv1126-rv1109-编译的剖析


./build.sh uboot:cmds

./build.sh uboot

cd u-boot
make rv1126_defconfig
make menuconfig
### 保存配置到对应的⽂件rv1126_defconfig
make savedefconfig
cp defconfig configs/rv1126_defconfig
//剖析 ./build.sh uboot
//调用 ./mk-loader.sh

build.sh -> mk-all.sh -> mk-loader.sh -> make.sh

这个就是调用的脚步

RK_UBOOT_CFG=rv1126

根据make rv1126_defconfig -j8

ARG_BOARD = rv1126

所以

./build.sh uboot


================================
cd u-boot 
./make.sh rv1126

===============================
make rv1126_defconfig -j8
make -j8
 

============================================================================


============Start building kernel============
TARGET_KERNEL_VERSION =4.19
TARGET_KERNEL_ARCH   =arm
TARGET_KERNEL_CONFIG =rv1126_defconfig
TARGET_KERNEL_CONFIG_FRAGMENTS =
TARGET_KERNEL_DTS    =rv1126-evb-ddr3-v13
==========================================

经验证都是rv1126_defconfig

RK_KERNEL_CFG = rv1126_defconfig

RK_KERNEL_DTS_NAME = rv1126-evb-ddr3-v13

TARGET_KERNEL_CONFIG_FRAGMENTS是附加的config,在rv1126_defconfig基础上添加(后面补充)

rv1126-evb-ddr3-v13.dtb是指定好的

 build.sh -> mk-all.sh -> mk-kernel.sh

//∴ ./build.sh kernel


//./build.sh lunch : rockchip_defconfig  ///

make ARCH=arm rv1126_defconfig
make ARCH=arm rv1126-evb-ddr3-v13.img -j8
 

补充:

这里就修改了uboot的,调用rv1126-emmc-tb-defconfig

这里添加了RK_KERNEL_CFG_FRAGMENTS

覆盖rv1126_defconfig一些共有的

在文档快速开机的文档Rockchip_Developer_Guide_RV1126_RV1109_Battery_Product_CN.pdf

在这里说了

make ARCH=arm rv1126_defconfig rv1126-tb.config
cp .config rv1126.config
make ARCH=arm rv1126_defconfig rv1126-tb.config rv1126-battery-evb.config
ARCH=arm make menuconfig
# 进行修改
make savedefconfig
scripts/diffconfig -m rv1126.config .config > arch/arm/configs/rv1126-battery-evb.config

 这里就是关于rv1126-xxxx.config的用法

===========================================================================

./build.sh rootfs
source envsetup.sh rockchip_rv1126_rv1109
make menuconfig
make update-defconfig

然后跟随mk-all.sh->mk-rootfs.mk ->mk-buildroot.sh

mk-rootfs.mk里面做了选择,是buildroot/yocto/debian

默认是buildroot

根据rockchip_rv1126_rv1109_defconfig里面的变量来编译

//∴ ./build.sh rootfs


//source envsetup.sh : rockchip_rv1126_rv1109  

make -j8



///打包
./build.sh updateimg

///
./mkfirmware.sh

 ===========================================================================


### 回答1: rv32-toolchain是一个特定的工具链,用于开发和编译RISC-V 32位架构的代码。RISC-V是一个开放的指令集架构,rv32表示该架构下的32位版本。 rv32-toolchain提供了一系列工具,用于将开发者编写的代码转换为可在RISC-V 32位系统上运行的机器码。这个工具链包含了编译器、汇编器、链接器和调试器等工具,使得开发者可以方便地编译、连接和调试他们的代码。 编译器是rv32-toolchain中最重要的组件之一。它将开发者编写的高级语言代码(如C语言)翻译成RISC-V指令集所能理解的低级机器码。汇编器则将汇编语言代码转换成机器码。链接器将多个编译后的目标文件链接在一起,生成最终的可执行文件。 除了编译、汇编和链接代码外,rv32-toolchain还提供了调试功能。调试器可以帮助开发者查找和修复代码中的错误。开发者可以在代码中设置断点,以便在特定位置停止,并逐步跟踪代码执行过程,帮助他们理解代码的运行情况。 总的来说,rv32-toolchain是一个专门为RISC-V 32位架构开发的工具链,它提供了一系列工具,用于编译、汇编、链接和调试代码。使用rv32-toolchain,开发者可以方便地开发和调试RISC-V 32位架构下的应用程序。 ### 回答2: rv32-toolchain是为RISC-V架构设计的工具链。RISC-V是一种基于精简指令集计算机(RISC)原则的新型处理器架构。rv32-toolchain由一系列的编译器、汇编器、链接器和调试器等工具组成,在RISC-V系统的软件开发中起到核心作用。 rv32-toolchain的主要功能是将高级语言(如C、C++等)编写的程序转化为RISC-V架构可执行的机器代码。首先,编译器负责将源代码编译成中间代码,然后由汇编器将中间代码翻译成汇编语言,再由链接器将多个汇编文件进行连接,最终生成可执行文件。同时,rv32-toolchain还提供调试器,用于调试程序的执行过程,帮助开发人员查找和修复错误。 使用rv32-toolchain,开发人员可以方便地进行RISC-V架构的软件开发。这个工具链具有跨平台的特性,可以在不同的操作系统上运行。开发人员可以通过在命令行中输入相关的编译、汇编和链接命令来使用rv32-toolchain完成代码的构建和生成。 rv32-toolchain的存在使得开发人员能够更加简单地进行RISC-V架构的软件开发工作,提高了开发效率。同时,由于rv32-toolchain是开源的,开发人员还可以根据自己的需求进行定制和修改,从而满足特定的开发需求。 总之,rv32-toolchain是专门为RISC-V架构设计的工具链,通过提供编译器、汇编器、链接器和调试器等一系列工具,方便开发人员进行RISC-V架构的软件开发工作,提高开发效率。同时,rv32-toolchain的跨平台特性和开源性也使其具有更高的灵活性和扩展性。 ### 回答3: rv32-toolchain是一个为RISC-V架构开发的工具链。它包含了一系列工具和编译器,用于将高级语言编写的程序转换成RISC-V指令集所支持的机器码。 工具链的核心组成部分是编译器,它负责将高级语言源代码翻译成汇编语言代码。rv32-toolchain使用的编译器通常是GCC或Clang,它们针对RISC-V架构进行了调整和优化,以获得更好的性能和兼容性。 此外,rv32-toolchain还包括了汇编器和链接器。汇编器将汇编语言代码转换为机器码指令,而链接器则将多个目标文件合并为一个可执行文件。这样,开发人员可以将编写好的代码进行编译、汇编和链接,生成可在RISC-V架构上运行的程序。 除了编译器和相关的工具,rv32-toolchain还提供了一些辅助工具,如调试器和性能分析器。调试器可以帮助开发人员在程序执行过程中进行断点调试和变量查看,以便更好地理解程序的执行情况。性能分析器则可以帮助开发人员评估程序的性能,并进行优化。 总的来说,rv32-toolchain是一个为RISC-V架构开发的全套工具链,它使得开发人员能够方便地编写、编译和调试RISC-V架构的程序,为RISC-V生态系统的进一步发展做出了重要贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋风旋风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值