当前位置: 首页 > news >正文

Rk3568驱动开发_开发环境的搭建_1

1、环境说明:

需要用官方的程序包,这个程序需要在虚拟机里编译再将镜像烧录到板子里,本质上是给板子上一套Linux操作系统,镜像是.img文件
Linux操作系统被分成了多个模块,编译好后储存在镜像里,本质上就和程序编译好后变成可执行文件一样

Linux系统镜像文件通常是多个模块的集合,不同镜像封装不同功能组件,常见类型包括:
引导镜像(如u-boot.img)
封装内容:引导加载程序(如U-Boot),负责初始化硬件并加载内核。
作用:提供启动流程控制、环境变量管理、内核加载入口。
内核镜像(如vmlinuz或bzImage)
封装内容:内核核心代码,包含进程调度、内存管理、VFS等模块的二进制代码。
作用:驱动硬件、管理系统资源、提供基础服务(如系统调用)。
根文件系统镜像(如rootfs.img)
封装内容:用户空间工具(如BusyBox)、配置文件(/etc)、设备节点(/dev)和库文件(/lib)。
作用:提供用户交互环境、应用程序运行依赖、设备访问接口。
完整系统镜像(如system.iso)
封装内容:整合引导程序、内核、根文件系统及附加组件(如驱动程序、网络工具)。
作用:用于系统安装、备份或虚拟机部署。
专用功能镜像(如initramfs.img)
封装内容:临时根文件系统,包含硬件初始化脚本和必要驱动。
作用:在系统启动早期加载,辅助内核挂载主根文件系统。

在这里插入图片描述

驱动开发主要操作内核模块

2、大致编译流程:

1.解压代码

解压 atk-rk3568_linux5.10_release_v1.2_20250104.tgz
tar -vxf 解压
python3 .repo/repo/repo sync -l -j16 同步将dl包解压到buildroot文件夹下,dl包是编译代码的一些依赖软件包,否则编译会失败
tar -vxzf dl.tgz

2.SDK中指定设备我的是rk3568

./build.sh lunch
或者./build.sh BoardConfig-rk3568-atk-evb1-ddr4-v10.mk (建议使用)

3.若需要所有镜像文件则需要全编译,否则只编译一个模块如内核模块

全编译
./build.sh all

4.打包img文件,为了后续方便烧录

./build.sh updateimg

5.烧录镜像,只用烧update.img即可他是上述镜像模块的集合体

在这里插入图片描述
按住开发板上的 UPDATE 按键,然后给开发板上电或复位,此时设备便会进入 Maskrom 模式
在这里插入图片描述
点击升级即可烧录,注意一点是烧录后的串口波特率为1500000

烧录后用uname -r可查内核版本
在这里插入图片描述
配置一下ip后续需要用tftp传输ko文件做挂载

ifconfig eth0 192.168.11.10 netmask 255.255.255.0

在这里插入图片描述

http://www.lryc.cn/news/543571.html

相关文章:

  • Solr中得Core和Collection的作用和关系
  • Visual Studio Code 远程开发方法
  • 如何看到 git 上打 tag 的时间
  • 【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
  • 如何设置HTTPOnly和Secure Cookie标志?
  • 几个api
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 基于 DeepSeek+AutoGen 的智能体协作系统
  • 博客系统笔记总结 2( Linux 相关)
  • 计算机毕业设计SpringBoot+Vue.js电影评论网站系统(源码+文档+PPT+讲解)
  • 精美登录注册UI,登录页面设计模板
  • 《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
  • 【EB-03】 AUTOSAR builder与EB RTE集成
  • HTML——前端基础1
  • AI回答:Linux C/C++编程学习路线
  • 螺旋数字矩阵
  • Jupyter Notebook切换虚拟环境(Kernel管理)
  • linux下软件安装、查找、卸载
  • vuetify项目添加代理跨域请求
  • H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞
  • 【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介
  • 基础知识|原型在什么时候用和类的区别
  • 【FFmpeg】拉流
  • LangChain构建行业知识库实践:从架构设计到生产部署全指南
  • 解决jupyter notebook不是内部或外部命令问题
  • MySQL----case的用法
  • Unity XR-XR Interaction Toolkit开发使用方法(十)组件介绍(XR Interaction Group)
  • 深入理解 并查集LRUCaChe
  • 详解 c++ 中的 namespage
  • 50周学习go语言:第五周 复合类型与词频统计