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
    +关注

    关注

    135

    文章

    9611

    浏览量

    394338
  • 嵌入式
    +关注

    关注

    5212

    文章

    20763

    浏览量

    338744
  • 编译
    +关注

    关注

    0

    文章

    697

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式T153开发板试用】嵌入式T153开发板如何编译源码

    收到嵌入式T153开发板以及几周了,为大家先简单介绍嵌入式T153开发板的基本功能和数据
    发表于 05-21 16:41

    嵌入式T153开发板试用】初识嵌入式T153开发板

    0.4mm,LGA 封装引脚间距 0.47mm),用户可根据场景灵活配置硬件,配套的 OK153-S 开发板进一步优化接口布局,简化二次开发流程。 这是
    发表于 05-20 20:08

    保姆级教程 | i.MX 93开发板适配Zephyr RTOS全解析

    对于嵌入式RTOS选型、工业级产品开发的团队而言,嵌入式OK-MX9352-C开发板+Zephyr RTOS是兼顾
    的头像 发表于 04-28 08:03 1.1w次阅读
    保姆级教程 | i.MX 93<b class='flag-5'>开发板</b>适配Zephyr RTOS全解析

    简单认识嵌入式OK1126B-S开发板

    边缘 AI 视觉、工业物联网开发总被算力不足、接口受限、开发门槛高困住?嵌入式 OK1126B-S
    的头像 发表于 04-27 16:02 776次阅读
    简单认识<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>OK</b>1126B-S<b class='flag-5'>开发板</b>

    嵌入式RV1126B开发板试用体验】初识嵌入式RV1126B开发板

    排列也整齐合理。下面是嵌入式RV1126B开发板的详细介绍,文字中有链接可以到达嵌网站做详细了解。
    发表于 04-13 17:27

    嵌入式RV1126B开发板试用体验】+ 2. 编译与运行

    接着第一篇:【嵌入式RV1126B开发板试用体验】+ 1. 开发环境搭建https://bbs.elecfans.com/jishu_2512000_1_1.html 3
    发表于 03-17 10:52

    精灵(ElfBoard)技术|如何在ELF-RK3506开发板上实现GPIO复用

    2026年全国大学生嵌入式芯片与系统设计竞赛报名已正式启动。本次瑞芯微&嵌入式赛题共设置了三个参赛平台(ELF2开发板、ELF-RV1126B开发板、ELF-RK3506
    的头像 发表于 03-16 14:55 6582次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>精灵(ElfBoard)<b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如何在ELF-RK3506<b class='flag-5'>开发板</b>上实现GPIO复用

    嵌入式RV1126B开发板】+两款开发板之比较

    用户二次开发。 就开发工具而言,可支持ubuntu与docker、支持在线交叉编译环境及纯Python开发方式。 就开发板的外观及功能来看,
    发表于 03-05 23:32

    嵌入式RK3568开发板的TFTP烧写文件系统指南

    本文基于搭载瑞芯微RK3568处理器的OK3568-C开发板Linux4.19.206标准开发环境开展测试,其网络基础稳定,可满足TFTP协议传输需求。
    的头像 发表于 11-21 08:03 2385次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式RK<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>的TFTP烧写文件系统指南

    【作品合集】嵌入式OK527N-C开发板测评

    嵌入式OK527N-C开发板测评作品合集 产品介绍: OK527-C开发板采用核心
    发表于 09-22 15:54

    送啦!嵌入式联合NXP邀您参加OK-MX9596-C开发板试用活动

    送啦!嵌入式联合NXP邀您参加OK-MX9596-C开发板试用活动
    的头像 发表于 08-22 08:03 1238次阅读
    送啦!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式联合NXP邀您参加<b class='flag-5'>OK-MX9596-C</b><b class='flag-5'>开发板</b>试用活动

    T527N开发板试用】7寸RGB屏幕适配与TP驱动

    Touchscreens input device support---> 再选中 Focaltech Touchscreen 然后重新编译kernel。按照[【T527N开发板
    发表于 08-15 18:06

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

    RK3568是一款64位处理器,嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568
    的头像 发表于 07-19 08:49 4659次阅读
    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 1627次阅读
    5分钟学会网络服务搭建!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>i.MX9352<b class='flag-5'>开发板</b> + Linux 6.1实战示例