0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

飞凌技术贴 | OK3568-C开发板源码编译

飞凌嵌入式 ? 2022-09-05 10:50 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

文章来源:飞凌嵌入式官网

搜索【Forlinx】进入飞凌官网了解更多产品详情和行业资讯

主机:Ubuntu18.04

开发板:OK3568-C开发板

本文将为大家介绍在飞凌嵌入式OK3568-C开发板上进行源码编译的过程,希望能够对各位工程师小伙伴有所帮助。话不多说,我们马上进入正题。

1、准备源码

1. 创建工作目录

$mkdir -p ~/rk3568

2. 拷贝源码

将用户资料中的源码文件OK3568-linux-source.tar.bz2.a*拷贝到虚拟机~/rk3568目录。

pYYBAGMSvDeAIjbDAAAdqpfUS8Q769.png

拷贝文件的方式有很多,笔者使用的是共享文件夹方式。

【注】OK3568源码使用分段压缩,每段最大4G,这样方便拷贝,因此有些存储器单文件最大支持4G。

3. 解压源码

$cat OK3568-linux-source.tar.bz2.a* >OK3568-linux-source.tar.bz2

$tar -xvf OK3568-linux-source.tar.bz2

耐心等待完成即可,解压时间有点久。

4. 进入源码

$cd ~/rk3568/OK3568-linux-source

目录结构

pYYBAGMSvDeAJw33AABjLCSxw6k530.png

2、编译SDK

1. 编译前配置

在device/rockchip/ok3568/目录下,有不同板型的配置文件,选择配置文件:

$./build.shBoardConfig-ok3568.mk

相关配置介绍:

poYBAGMSvDiAZsTqAAK86-Lxtho11.jpeg

2. 编译

编译u-boot

$./build.shuboot

pYYBAGMSvDiAc8BLAABKhAM8NM0300.png

……

poYBAGMSvDeAK1YgAABL_QyNpl8317.png

编译kernel

$./build.shkernel

pYYBAGMSvDiARpA3AAAlMEvA4X8551.png

……

poYBAGMSvDiAWqfwAAB4PVQpj8I678.png

【注】编译一段时间后会弹出下图界面,需要选择,提取图中信息,VCCIO4和VCCIO6选择1800000其余选择3300000,使用上下方向按键选择选项,按回车确认选择即可。

pYYBAGMSvDiAJT46AAA8AdRFmEk078.png

编译recovery

$./build.shrecovery

pYYBAGMSvDiAaWDYAAAxyVUzdxc480.png

……

poYBAGMSvDiAQ4Y_AAA0iwilfYA004.png

编译Buildroot根文件系统

$./build.shbuildroot

poYBAGMSvDmAPhbqAABTGMrG-X4702.png

制作文件系统的时间会比较久,请耐心等待编译完成。

【注1】确保作为普通用户编译Buildroot根文件系统,避免不必要的错误;

【注2】如果不想编译文件系统,也可直接从已有的镜像中解压后,将其拷贝到rockdev目录下。

3. 打包固件

更新各部分镜像链接到rockdev/目录:

$./mkfirmware.sh

打包固件,生成的完整固件会保存到rockdev/目录。

$./build.shupdateimg

pYYBAGMSvDmAPWV5AAFOa6zlTRA715.png

[PS]全自动编译

全自动编译会执行上述编译、打包操作,生成完整固件。

$./build.sh

3、分区说明

1. parameter 分区表

parameter.txt文件中包含了固件的分区信息,以parameter-buildroot.txt为例:

路径:

device/rockchip/ok3568/parameter-buildroot-fit.txt

poYBAGMSvDmAEgtTAADBpmDKleA27.jpeg

CMDLINE属性是我们关注的地方,以uboot为例,0x00002000@0x00004000(uboot)中0x00004000为uboot分区的起始位置,0x00002000为分区的大小,以此类推。

2. package-file

package-file文件用于打包固件时确定需要的分区镜像和镜像路径,同时它需要与parameter.txt文件保持一致。

路径:

tools/linux/Linux_Pack_Firmware/rockdev/rk356x-package-file

#NAME Relative path

#

#HWDEF HWDEF

package-filepackage-file

bootloader Image/MiniLoaderAll.bin

parameter Image/parameter.txt

#trust Image/trust.img

uboot Image/uboot.img

misc Image/misc.img

#resource Image/resource.img

#kernel Image/kernel.img

boot Image/boot.img

recovery Image/recovery.img

rootfs Image/rootfs.img

oem Image/oem.img

userdata Image/userdata.img

#要写入backup分区的文件就是自身(update.img)

#SELF 是关键字,表示升级文件(update.img)自身

#在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录

#在解包升级文件时,不解包SELF文件的内容。

backup RESERVED

#update-script update-script

#recover-script recover-script

4、镜像制作

编译源码可直接得到镜像,但是编译时间太长,有些部分不需要再次编译,只需要从已有的镜像中解包,然后再和新编译的部分组合打包即可,下面是制作方法。

1. 工具安装

下载工具包:

$git clone

https://github.com/TeeFirefly/rk2918_tools.git

进入工具包目录:

$cd rk2918_tools

编译:

$make

pYYBAGMSvDmAYockAAAd-TOGOyY344.png

将可执行文件拷贝到用户二进制目录:

$sudo cp afptool img_unpack img_maker mkkrnlimg/usr/local/bin

2. 解包

将update.img拷贝到Ubuntu中,然后使用命令解包:

$img_unpack update.img img

poYBAGMSvDmAW7BJAAAdZzLL1BE766.png

解包到img目录,img目录会自动生成,解析成功之后,img目录下会生成loader.img和update.img。

pYYBAGMSvDmATOKrAAAhBQ0PyO8912.png

接下来进入到img目录,使用afptool-unpack 解压:

$afptool -unpack update.img update

poYBAGMSvDqABURKAAC-hNdr5nQ525.png

解压到update目录

打开update目录,里面有很多img文件。

将需要的文件复制到rockdev目录下。

3. 合成update.img

然后源码目录以下命令即可:

$./build.shupdateimg

poYBAGMSvDmAdP_mAADFZWfOq94893.png

感谢发烧友[ouxiaolong]提供本篇OK3568-C开发板试用体验文章!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9374

    浏览量

    378805
  • 嵌入式
    +关注

    关注

    5159

    文章

    19735

    浏览量

    318750
  • 编译
    +关注

    关注

    0

    文章

    680

    浏览量

    34242
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3568开发板暗藏32位兼容开关?嵌入式带你一键解锁!

    RK3568是一款64位处理器,嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568
    的头像 发表于 07-19 08:49 ?3751次阅读
    RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>暗藏32位兼容开关?<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式带你一键解锁!

    T527N开发板试用】开箱与开发板介绍视频

    嵌入式OK527N-C开发板开箱介绍】 https://www.bilibili.com/video/BV1sfKSzmEtU/?share_source=copy_web&
    发表于 06-26 09:43

    5分钟学会网络服务搭建!i.MX9352开发板 + Linux 6.1实战示例

    本文就将以嵌入式OK-MX9352-C开发板(搭载了在工业物联网领域广泛应用的NXP i.MX9352处理器)为平台,介绍如何在Linux6.1.36
    的头像 发表于 06-13 16:42 ?776次阅读
    5分钟学会网络服务搭建!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>i.MX9352<b class='flag-5'>开发板</b> + Linux 6.1实战示例

    RK3568开发板OTA升级

    下载到SD卡或U盘后,再对设备进行本地升级。 本文将基于飞嵌入式RK3568开发板,详细介绍OTA升级的流程,特别是本地升级程序recovery的执行流程及技术细节。 一、制作rec
    的头像 发表于 04-21 14:32 ?816次阅读
    RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>OTA升级

    从DeepSeek到Qwen,AI大模型的移植与交互实战指南-嵌入式

    在不久前发布的《技术实战|OK3588-C开发板上部署DeepSeek-R1大模型的完整指南》一文中,小编为大家介绍了DeepSeek-R1在
    的头像 发表于 03-28 08:06 ?1730次阅读
    从DeepSeek到Qwen,AI大模型的移植与交互实战指南-<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式

    【贝启科技BQ3568HM开源鸿蒙开发板深度试用报告】系统镜像编译和烧录

    于进行图形界面应用的开发。贝启科技BQ3568HM开源鸿蒙开发板配备了显示屏,可以开发GUI应用。 一、系统镜像编译 参考 BQ
    发表于 03-16 10:53

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开
    的头像 发表于 12-30 10:08 ?892次阅读
    OpenHarmony<b class='flag-5'>源码</b><b class='flag-5'>编译</b>后烧录镜像教程,RK3566鸿蒙<b class='flag-5'>开发板</b>演示

    如何快捷使用瑞芯微RK3568J开发板

    。 硬件平台:嵌入式RK3568/RK3568J 开发板 操作系统:Linux、Android、Ubuntu 目录 1、Linux设备树
    发表于 12-19 16:18

    嵌入式OK3588J-C开发板体验】OK3588J-C开发板开箱评测

    很高兴收到嵌入式提供的OK3588J-C开发板,这是瑞芯微最新的8K旗舰8核SOC,非常适合用来做机器视觉,AI,语音识别,图像处理。 下面来看看
    发表于 12-04 15:23

    嵌入式受邀亮相OpenHarmony人才生态大会

    出席,并展示了其在OpenHarmony 4.1系统适配方面的最新成果。 在大会的静态展示区域,嵌入式携两款明星产品OK3568-C开发板OK
    的头像 发表于 11-29 16:47 ?519次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式受邀亮相OpenHarmony人才生态大会

    迅为RK3568开发板定制扩展分区SDK源码编译-获取Linux-定制扩展分区源码

    、ubuntu24 环境均可在不进行任何配置的情况下编译编译通过。 Linux-定制扩展分区源码网盘下载路径:“iTOP-3568 开发板\
    发表于 11-25 10:24

    瑞芯微RK3568开发板Linux编译报错404怎么办?触觉智能教你轻松解决

    本文介绍瑞芯微RK3568主板/开发板SDK编译流程和编译报错404的解决方法,使用触觉智能EVB3568鸿蒙
    的头像 发表于 11-05 11:02 ?835次阅读
    瑞芯微RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>Linux<b class='flag-5'>编译</b>报错404怎么办?触觉智能教你轻松解决

    [技术] 【嵌入式OK3576-C开发板体验】llama2.c部署

    MCU 上部署。以下是 llama2.cOK3576 开发板上的部署步骤。 工程克隆 首先我们将源码克隆下来:https://github.com/karpathy/llama
    发表于 09-18 23:58

    嵌入式OK3576-C开发板体验】应用编译运行

    源码需要下载的库文件。 编译前准备 环境说明 开发环境操作系统:Ubuntu24.04 64 位版 交叉工具链:aarch64-non-linux-gnu 开发板使用 Bootloa
    发表于 08-26 17:55

    嵌入式OK3576-C开发板体验】开箱报告

    简介 很荣幸参与到本次由嵌入式和电子发烧友提供的OK3576-C开发板的试用机会。 嵌入
    发表于 08-22 02:13