px30 buildroot系统开发环境的搭建

2023-12-14 13:59

本文主要是介绍px30 buildroot系统开发环境的搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

产品特性

  • 采用Rockchip公司Cortex-A35四核PX30处理器,运行最高速度为1.3GHZ;
  • 支持Mali-G31GPU,支持OpenGL ES3.2, Vulkan 1.0, OpenCL 2.0
  • 支持1080P 视频编码,支持H.264,VP8;多格式1080P 60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8) 
  • 支持双屏异显;支持RGB888/LVDS/MIPI-DSI,分辨率最高1920x1080;
  • 支持SDIO3.0,USB2.0 HOST&OTG,4路I2C,6路UART,2路SPI,8路PWM
  • 支持512-2G  Bytes DDR3 SDRAM;
  • 支持EMMC 4G-32G大容量电子盘,可启动;
  • 可定制宽温产品,替换AM335X
  • 稳定的操作系统的支持,可预装Android8.0或者LINUX 4.4;
  •      超小体积,邮票孔设计160pins, 尺寸为:45*45MM

CoM-PX30|RK3358的部件组成图:

 

EVB-PX30简单介绍和功能图:

工业宽温设计,工作更稳定:

CoM-PX30 隶属于盈鹏飞嵌入式Computer-on-Module (CoM)系列,该产品集成了四核 Cortex-A35 1.3GHz(MAX)  PX30 处理器,稳定运行Android 8.0/Ubuntu 20.04/Linux 4.4 CoM-PX30提供了3.3V I/O接口,可提供宽温的工业组件,运行于条件恶劣的工业现场! 

提供开发套件,可快速应用 

开发套件中包括主板、各种LCD配件,提供开发工具以及API函数、参考代码、详细的使用手册,让客户快速上手。

 1、buildroot系统开发环境搭建

1.1、安装操作系统

硬件平台:台式主机,x86_64架构

操作系统版本:Ubuntu 16.04.5 LTS (内核版本:GNU/Linux 4.4.0-131-generic x86_64)

详细安装步骤请参考《虚拟机安装ubuntu指导手册》,如果条件允许,建议直接在实体主机上安装ubuntu操作系统,因为虚拟机不能发挥最大的性能。

1.2、下载buildroot软件包

从服务器下载buildroot代码在ubuntu终端下运行:git clone git@192.168.0.252:/git/com-px30/evb-x301-linux.git下载buildroot代码如下图1-1所示:

图1-1

注:代码目前仅保存在内网服务器。 

 1.3、安装依赖文件 

安装软件包:

sudo apt-get install expect-dev repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools \linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make \binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget \libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client \subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo \liblz4-tool genext2fs lib32stdc++6 expect

依赖库安装完成后如下图1-2所示:

图1-2

交叉编译链、环境变量等交叉编译链位于SDK的rk3399-xpc3399-linux目录,环境变量写入脚本,在执行编译脚本(或命令)时,会调用脚本设置相应的环境变量。

1.4、安装cmake 

cmake 主要有两大功能:

⑴、配置和生成各大平台的工程(vs的vcxproj,Qt的Pro):比如设置输出目录,设置编译对象的debug后缀,设置源码在工程中的那个文件夹(Filter),配置需要依赖的第三方的头文件目录,库目录等属性。

⑵、生成makefile文件:计算机编译源文件的时候是一条指令一条指令的发送给编译器执行的,这样效率很低下,所以就产生了一种文件,把所有的命令写到一个文件中,这个文件就是makefile。

cmake生成了这个makeFile之后,各大平台的编译器都会拿到这个makeFile然后解析它。将他的命令解析出来一条一条执行。sudo apt-get install cmake安装过程如下图1-3所示:

 图1-3

1.5、编译buildroot

 自动编译,切换到evb-x301-linux目录下;

# ./build.sh lunch

# ./build.sh all

注:

① 编译前,先导出环境变量。执行./build.sh lunch ,弹出配置菜单,编译EVB-PX30,选择BoardConfig_evbx301.mk 配置前序号。如图1-4所示:

                                                                       图1-4

② 该操作自动编译u-boot、kernel、buildroot、recovery,并最终生成固件,输出文件在/rk3399-xpc3399-linux/rockdev/目录下,如图1-5所示:

                                                                     图1-5

1.5.1、单步编译u-boot

# ./build.sh uboot

u-boot固件编译生成的固件uboot.img,trust.img在u-boot目录下,如下图1-6所示:

 图1-6

 1.5.2单步编译kernel:

# ./build.sh kernel

编译生成的镜像boot.img、kernel.img、resource.img在kernel目录下,boot.img是内核镜像集成有kernel.img和resource.img两个镜像文件,只需烧写boot.img镜像。如下图1-7所示:

 图1-7

 固件支持LVDS屏的分辨率为800*600,如需要点亮不同分辨率的LVDS显示屏,修改dts文件即可,再重新编译kernel。

dts在kernel/arch/arm64/boot/dts/rockchip/目录下,px30-eac-lcd-lvds-1024x768.dtsi  与px30-eac-lcd-lvds-800x600.dtsi两各dtsi分别支持g150xtn06p0与g121sn01v4两个显示屏。若要点其它分辨率的LVDS显示屏,新增dtsi并在px30-evb-x301-linux.dts中包含,注意同一时刻只能包含一个LVDS屏的dtsi。

 图1-8

1.5.3、单步编译rootfs(buildroot)

rootfs默认编译的是buildroot,如何打包ubuntu与Debian见 1.5.4 打包ubuntu镜像 与1.5.5 打包Debian镜像

# ./build.sh rootfs

1.5.4 、打包ubuntu镜像

Ubuntu 16.04镜像包括ubuntu_core.img  与 ubuntu.img ,前者无桌面环境,后者带ubuntu桌面系统。

在编译完成其他部分后(执行build.sh all编译完毕),再打包ubuntu update image,操作如下:

1、复制开发光盘目录下的src/buildroot/Ubuntu 目录到buildroot SDK 根目录下,当中包含ubuntu与ubuntu_core两个镜像,如下图所示:

 图1-9

这篇关于px30 buildroot系统开发环境的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492797

相关文章

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境