IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> buildroot 构建文件系统配置过程 -> 正文阅读

[嵌入式]buildroot 构建文件系统配置过程

文件系统构建方式

自己使用过的构建系统方式主要有busybox、yocto、buildroot三种吧,openwrt也可以,目前还没有使用过,公司另个一mesh项目中使用了这种方式。
刚学习嵌入式的时候当然是用busybox构建系统了,这样搭建一个最简的文件系统,但是实际开发工程中可能要移植很多东西,比如项目就要求后续要支持python开发环境,而后边的几种可以通过make menuconfig的方式选配比较适合在框架基础上添加很多软件功能。
大概了解了一下yocto工具,常被车载IC行业选中,一般厂商提供的SDK很大,编译过程复杂些。buildroot,常被低层嵌入式电子设备行业选中,而我也使用的就是这个

buildroot源码包获取

可以从buildroot官网(http://buildroot.uclibc.org/download.html)获取buildroot源码包,我采用了官方资料里的13版,现在都更新到21版了,当然吃了不少亏,后来自己重新移植了20版。

源码包的使用

将源码包复制到XXX目录下,并解压tar -xvf buildroot-2013.02.tar.gz
进入目录,执行配置命令:cd /XXX/buildroot-2013.02
执行:make ARCH=arm menuconfig
配置界面如下:

target options配置

配置CPU参数:ARM (little endian) 指的是小端存储;二进制格式是ELF(和bin不同的是elf依赖于操作系统运行的二进制文件);CPU是Cortex-A8;
在这里插入图片描述

toolchain配置

将Toolchain type配置为External toolchain,表示要使用外部的编译器,然后在Toolchain中选择交叉编译工具的版本,如Linaro 2013.03,在Toolchain origin中选择Pre-installed toolchain,后面编译时,buildroot将会根据Toolchain path找到我们的交叉编译工具(我们的交叉编译工具安装到了/opt目录下,这个根据自己的编译器路径修改)。
在这里插入图片描述

System configuration

在system hostname一栏中输入开发板的名称,比如EVB335X,在system banner中可输入欢迎语,如welcome to EVB335X。在Init system中选择BusyBox,在/dev management中选择Dynamic using udev,即使用udev设备节点的方式,然后在Path to thepermission tables中选择设备节点的配置表,这里我们一定要选择system/device_table_dev.txt,否则后面在dev目录下将不会生成各 种设备节点。当然我们也可以手动的配置该文件,添加必要的节点或删除不需要的节点。Root password为配置进入linux控制台终端后的密码,为空则登录时不需要密码,默认登录用户名为root。Port to run a getty(login prompt)on 选择ttyo0,因为我们的调试uart就是这个。
在这里插入图片描述

Filesystem images

这个根据自己具体的需要生成镜像,我就生成了一个根文件系统的tar归档包,解压就是文件系统
在这里插入图片描述

Package Selection for the target

这个选项可以根据自己的需求选择,这些软件包都会在TOP_DIR的dl目录下,如果选配了就会加载到文件系统中,第一次会默认的需要下载源码包到dl目录下。

最后就是make等待啦

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 12:12:35  更:2021-08-30 12:12:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:43:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码