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

    文章

    9040

    浏览量

    366724
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302940
  • 编译
    +关注

    关注

    0

    文章

    652

    浏览量

    32800
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    嵌入式FET3568/3568J-C核心现已适配OpenHarmony4.1

    核心赋予了更强大的功能,也为开发者们提供了更加广阔的创新空间。FET3568/3568J-C核心作为
    的头像 发表于 05-31 14:17 646次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式FET<b class='flag-5'>3568</b>/<b class='flag-5'>3568J-C</b>核心<b class='flag-5'>板</b>现已适配OpenHarmony4.1

    鸿蒙OpenHarmony【标准系统编译】 (基于RK3568开发板

    DevEco Device Tool支持Rockchip RK3568开发板源码一键编译功能,提供编译工具链和
    的头像 发表于 04-24 20:55 1084次阅读
    鸿蒙OpenHarmony【标准系统<b class='flag-5'>编译</b>】 (基于RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>)

    通过RK3568开发板进行OTA本地程序升级

    将通过嵌入式OK3568-C开发板来为大家介绍OTA升级的流程,本地升级程序recovery执行升级的流程及技术细节。 1. 制作
    发表于 04-20 11:23

    技术帖 | RK3568开发板的OTA升级教程

    通过嵌入式OK3568-C开发板来为大家介绍OTA升级的流程,本地升级程序recovery执行升级的流程及技术细节。
    的头像 发表于 04-20 08:01 1536次阅读
    <b class='flag-5'>技术</b>帖 | RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>的OTA升级教程

    【活动】4款AI开发板任你选,紧跟人工智能的风口

    试用名额有限,为了让更多朋友低门槛得到产品 嵌入式还设置了优惠券,复制下方淘口令, 即可获得对应产品的8.5折现金优惠券⬇️⬇️OK3588-C开发板优惠券:
    发表于 04-19 13:31

    RK3568开发板源码编译过程

    本文将为大家介绍在嵌入式OK3568-C开发板上进行源码编译的过程,希望能够对各位工程师小伙
    发表于 04-18 15:30

    嵌入式RK3568开发板蓝牙收、发文件测试

    本文由电子发烧友论坛用户fsdzdzy提供,感谢分享。嵌入式每月定期开展新的开发板体验活动,欢迎更多工程师朋友的关注和参与。嵌入式
    的头像 发表于 02-02 16:31 1803次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>蓝牙收、发文件测试

    嵌入式OK3568-C-AMP-hal_用户使用手册_V1

    OK3568-C开发板-AMP-hal_用户使用手册_V1.0_20231227
    发表于 01-23 16:36 14次下载

    OK3568-C开发板_AMP_Linux4.19.232+QT5.15.8_用户编译手册_V1.0

    OK3568-C_AMP_Linux4.19.232+QT5.15.8_用户编译手册_V1.0_20231227
    发表于 01-23 16:28 11次下载

    技术帖 | 嵌入式T113-i开发板的休眠及唤醒操作

    嵌入式OK113i-S开发板支持两种休眠方式:freeze和mem。本篇内容小编会为大家介绍如何让
    的头像 发表于 12-29 08:02 1193次阅读
    <b class='flag-5'>技术</b>帖 | <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式T113-i<b class='flag-5'>开发板</b>的休眠及唤醒操作

    OK113i-S开发板试用】软件开发环境搭建

    OK113i-S开发板试用】软件开发环境搭建
    发表于 12-25 12:06

    OK113i-C全志T113-i开发板rtl8723du WIFI功能测试及蓝牙驱动移植

    OK113i-C 全志T113-i开发板板载一个RTL8723du wifi/蓝牙二合一模块,板子出厂已经移植好了WIFI驱动但是蓝牙驱动没有,所以这篇文章我们主要做蓝牙驱动的移
    的头像 发表于 12-11 13:52 2271次阅读

    体验官分享 | 用户眼中的嵌入式OK3588-C开发板究竟有多优秀?

    今天小编就与大家分享一篇来自体验官@EmbedIoT的原创内容——OK3588-C开发板体验报告
    的头像 发表于 12-08 11:33 1469次阅读
    体验官分享 | 用户眼中的<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>OK3588-C</b><b class='flag-5'>开发板</b>究竟有多优秀?