在瑞芯微SDK源码上构建自己的356x编译固件

2023-10-30

整体配置

路径:sdk源码/device/rockchip/rk356x/
如下图:
在这里插入图片描述
有个BoardConfig-rk3568-evb1-ddr4-v10.mk是rk3568平台下的基础配置文件
在这里插入图片描述
这个文件可以配置uboot、kernel内核默认的defconfig,需要编译的设备树
dts,buildroot的默认配置文件,还有一下镜像的分区列表parameter-buildroot-fit.txt

buildroot的构建

buildroot默认的defconfig路径:sdk/buildroot/configs/
可以看到一个文件名为rockchip_rk3568_defconfig的默认配置文件。
我们可以先copy一份,改为自己板子的专属名称。
如我改为:rockchip_rk3568_hyb_defconfig
默认内容如下(包含了文件系统很多模块和默认的选项):
在这里插入图片描述
如果想在这个基础上添加新的选项的话,建议在当前目录下的rockchip文件夹下新建新的模块化文件,可以命名为xxxx.config

编译buildroot时出现的报错

在这里插入图片描述
在这里插入图片描述
这些报错大多数都是下载失败导致的,我们可以在网上手动下载fribidi-1.0.9.tar.xz这个压缩包,然后将压缩包放在sdl源码包/buildroot/dl路径下
在这里插入图片描述

在这里插入图片描述

kernel配置

默认的内核配置:sdk源码/kernel/arch/arm664/configs/rockchip_rk3568_defconfig
为了定制自己的项目,可以先将该配置文件拷贝一份出来,命名为rockchip_rk3568_hyb_defconfig
设备树也需要配置一个自己项目独有的dts,新建一个文件名为:hyb_rk3568.dts

##hyb-rk35688.dts
/*加上其他的文件*/
#include "rk3568-evb1-ddr4-v10.dtsi"
#include "rk3568-linux.dtsi"

报错信息如下:没有ramdisk这个文件。
在这里插入图片描述
在旧的SDK编译的时候也没有这个报错信息,然后通过编译脚本查找:build.sh —> device/rockchip/common/mk-fitimage.sh —>提及到device/rockchip/.BoardConfig.mk–>这个文件是软链接到我们一开始创建的device/rockchip/rk356x/hyb-rk356x.mk
在这里插入图片描述

uboot

使用默认的rk3568-evb.dts

全局编译

选择你要编译的目标项 《3》

#./build.sh lunch
processing option: lunch

You're building on Linux
Launch menu...pick a combo:

0. default BoardConfig.mk
1. BoardConfig-rk3568-evb1-ddr4-v10.mk
2. BoardConfig.mk
3. hyb-rk3568-buildroot.mk

# 单独编译uboot、kernel、buildroot
#./build.sh uboot
#./build.sh kernel
#./build.sh buildroot

#全部编译
#./build.sh

全部编译都没有报错的话,SDK源码/rockdev/目录下会出现一个镜像img。尝试使用RKDevTool.EXE烧写工具把镜像烧入开发板里。
在这里插入图片描述
如果烧写成功后,能正常启动到文件系统的终端上,其实已经离成功不远了,剩下的就是通过自己的需求去修改kernel、buildroot。

遇到的问题

由于我需要更换kernel的logo,然后更换完后,发现生成不了镜像img。是因为我生成的boot.img的镜像大小大于我在分区列表parameter-buildroot-fit.txtwen文件设置的大小。

CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00010000@0x00008000(boot),
0x00017000@0x00018000(recovery),0x00010000@0x0002f000(backup),0x00da0000@0x0003f000(rootfs),0x00040000@0x00ddf000(oem),
-@0x00e1f000(userdata:grow)

####0x00010000@0x00008000(boot)
		>>>>>>0x00010000是分区大小   65536x512/1024/1024= 32MB
		>>>>>>0x00008000是偏移地址
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在瑞芯微SDK源码上构建自己的356x编译固件 的相关文章

随机推荐

  • 丑数 打表+二分查找

    1010 只包含因子2 3 5 的数 题目链接 http www 51nod com Challenge Problem html problemId 1010 引用知识 https baike baidu com item E4 B8 9
  • DevOps系列之 —— 持续开发与集成(六)静态代码检查

    DevOps系列之 DevOps概览 一 软件产业和交付模式发展趋势 DevOps系列之 DevOps概览 二 新型软件技术及交付模式 DevOps系列之 DevOps概览 三 DevCloud HE2E DevOps 框架及其主要服务 D
  • Python头歌合集(题集附解)

    目录 一 Python初识 基本语法 第1关 Hello Python 第2关 我想看世界 第3关 学好Python 第4关 根据圆的半径计算周长和面积 第5关 货币转换 二 turtle简单绘图 第1关 英寸与厘米转换 第2关 绘制等边三
  • java使用easyExcel实现Excel导入和导出

    1 引入依赖
  • CSV文件 分类

    org deeplearning4j examples dataexamples BasicCSVClassifier 数据格式 一定要搞清楚数据格式 输入输出 才能构建网络 对应的是你手头有什么 想要做什么 预测什么 训练日志 这个例子只
  • 第六章:string类

    系列文章目录 文章目录 系列文章目录 前言 为什么学习string类 C语言中的字符串 ASCII Unicode UTF 8 UTF 16 UTF 32 GBK 标准库中的string类 string类 总结 string类的常用接口说明
  • ubuntu环境下 nginx 怎么配置文件

    文章目录 nginx安装 nginx启动 nginx打开 nginx配置 nginx安装 首先是安装nginx 环境依然是ubuntu12 04 64位 通过下面命令 sudo apt get install nginx nginx启动 安
  • Cotex-M0中断及与Cotex-M3的对比

    注 本文内容主要参考cortex M0 权威指南 Cotex M0处理器内置了中断控制器 并且最多支持32个中断请求 IRQ 输入 以及1 个不可屏蔽中断 NMI 输入 另外Cotex M0处理器还支持多个内部异常 而 Cortex M3中
  • android 框架组件,剖析 Android 架构组件之 ViewModel

    本文主要分析 ViewModel 的以下3个方面 获取和创建过程 Configuration Changes 存活原理 销毁过程 1 依赖库implementation androidx fragment fragment 1 0 0 im
  • Uncaught SyntaxError: missing ) after argument list 错误解决

    前一个星期随便玩玩的时候 在jsp里的 a 超链接 a 传递参数请求ajax的时候出现了Uncaught SyntaxError missing after argument list这个错误 去网上查询这个错误 发现是丢失 导致的问题 但
  • 2023年五一杯数学建模A题无人机定点投放问题求解全过程论文及程序

    2023年五一杯数学建模 A题 无人机定点投放问题 原题再现 随着科学技术的不断发展 无人机在许多领域都有着广泛的应用 对于空中执行定点投放任务的无人机 其投放精度不仅依赖于无人机的操作技术 而且还与无人机执行任务时所处状态和环境有关 例如
  • 说说TDD的好处和坏处-对话

    小帆 17 20 谁来科普下TDD的好处和坏处是啥 我们市场VP听说了TDD以后情有独钟 但是大致看了一些好像很难推广 菌菌 17 21 好处是大大的 坏处是成本很高 罗耀秋 17 22 你自己开发写代码 你愿意这样干不 小帆 17 23
  • css div上下左右排序

  • keil如何擦除已经下载的程序_Keil系列教程01_Keil介绍、下载、安装与注册

    说明 本文原创作者 strongerHuang 首发于微信公众号 嵌入式专栏 同时也更新在我的个人网站 EmbeddedDevelop 标签 Keil MDK ARM Vision 该教程基于MDK ARM 大部分内容也适用于Keil其它3
  • 函数指针和函数指针数组

    文章目录 一 函数指针 二 函数指针数组 三 应用 两个数的加减乘除运算 感谢阅读 如有错误请批评指正 一 函数指针 数据在内存中都有自己的地址 地址需要指针变量来保存 我们常见的指针有char int double float 函数也有自
  • QWebEngine应用---基于QWebChannel实现网页与qt层交互

    Qt提供了QWebChannel实现和网页的通信 我们直接拿github上一个能直接运行的demo来做说明 demo是基于Widget 且页面是自己实现的页面 接着会介绍基于QML实现且页面是第三方网站如何使用的 QWebChannel用法
  • 模型只要「变大」就能直通AGI?马库斯再次炮轰:三个危机已经显现!

    视学算法报道 编辑 LRS 导读 模型只管变大 剩下的交给天意 今年5月 DeepMind发布了一个多模态人工智能系统Gato 仅靠一套模型参数即可同时执行600多种不同的任务 一时引起行业内对通用人工智能 AGI 的热议 DeepMind
  • 零基础小白入手hadoop学习路线和教程分享

    这里写图片描述Hadoop技术本身并不是新技术 而是互联网时代成就了它 互联网产生了大量的数据 传统的服务器解决方案成本太高 Hadoop分布式处理技术可以解决这个问题 随着BAT等知名公司的成功案例 越来越多互联网公司也都开始使用 Had
  • 数据结构与算法 ---- 图的广度优先搜索(BFS)和深度优先搜索(DFS)

    1 前言 和树的遍历类似 图的遍历也是从图中某点出发 然后按照某种方法对图中所有顶点进行访问 且仅访问一次 但是图的遍历相对树而言要更为复杂 因为图中的任意顶点都可能与其他顶点相邻 所以在图的遍历中必须记录已被访问的顶点 避免重复访问 根据
  • 在瑞芯微SDK源码上构建自己的356x编译固件

    整体配置 路径 sdk源码 device rockchip rk356x 如下图 有个BoardConfig rk3568 evb1 ddr4 v10 mk是rk3568平台下的基础配置文件 这个文件可以配置uboot kernel内核默认