博客
关于我
使用Buildroot为Nxp i.mx6ul制作文件系统
阅读量:223 次
发布时间:2019-03-01

本文共 1449 字,大约阅读时间需要 4 分钟。

使用Buildroot为i.mx6制作文件系统

随着NXP s3c2440、6410等芯片的停产,NXP针对中国市场推出了低成本方案i.mx6ul,适用于商业级和工业级应用,且提供10年超长供货周期,市场潜力显著。本文将详细介绍如何使用Buildroot为i.mx6制作文件系统。

前序

在制作文件系统之前,需要了解以下几个基本概念:

  • Uboot:用于引导操作系统启动的固件。
  • Linux Kernel:操作系统内核,主要关注其稳定性。对于i.mx6ul芯片,建议使用NXP官方提供的内核版本,这些内核已经过优化,稳定性和兼容性较好。
  • 文件系统:包含操作系统所需的各种系统命令(如psinsmodnetstat等)和库文件。开发的应用程序也会部署到文件系统中。
  • 制作文件系统:Buildroot和Yocto是常用的工具框架,提供了便捷的编译环境,支持多种平台,可以帮助快速制作定制化的文件系统。
  • Buildroot相比Yocto更为简单易用,且提供近2000种包支持,适合对稳定性要求较高的工业级应用。

    板子配置

    本文基于米尔科技的i.mx6ulx开发板,板子规格为:

    • 256MB NAND存储器
    • 256MB RAM
    • 支持SD卡扩展

    i.mx6ul采用Cortex-A7架构,支持NEON指令集,适合高性能计算任务。

    Buildroot配置步骤

    第一步:下载Buildroot

    从Buildroot官网下载最新的Buildroot源码:https://buildroot.org/download.html

    第二步:配置Buildroot

    1. CPU架构配置

    • 目标架构:ARM小端格式,Cortex-A7架构
    • 浮点运算:EABIhf
    • 指令集:ARM指令集(VFPv4)

    2. 编译选项

    • 下载路径:默认设置下,下载目录为dl,主要用于配置共享库。
    • 优化级别:优化大小
    • 栈溢出保护:默认设置下无需启用
    • 库类型:仅共享库

    3. 工具链配置

    • 交叉编译工具链:建议使用NXP官方提供的工具链。
    • gcc版本:查看主机上的arm-linux-gnueabihf工具链版本:
      arm-linux-gnueabihf -v
    • 内核头文件版本:根据板子实际使用的内核版本配置。例如,3.17版本适用于i.mx6ul。

    4. 系统配置

    • 主机名:设置为buildrootbywind
    • 系统信息:设置为Welcome to Buildroot by wind
    • 密码编码:启用MD5编码
    • 初始化系统:使用BusyBox
    • 设备管理:动态管理devtmpfs和eudev
    • 符号链接:为 /bin/sbin/lib 创建符号链接
    • 登录设置:启用root密码登录
    • 终端配置:TTY端口为/dev/ttymxc0,默认波速为 kernel默认值

    5. 文件系统配置

    • 文件系统类型:选择ext4,默认设置下为ext4
    • 文件系统大小:默认设置下为60M
    • UBIFS支持:启用UBIFS,设置为0x1f800 eraseblock size,0x800 I/O unit size,2048最大eraseblock count
    • 压缩方法:无压缩

    第三步:编译

    make all

    编译完成后,文件系统生成在output/images目录下。

    烧录文件系统

    具体烧录步骤请参考另一篇博文。

    总结

    通过以上步骤,可以成功为i.mx6ulx开发板制作定制化的文件系统。Buildroot的简便性和稳定性使其成为工业级嵌入式开发的理想选择。

    转载地址:http://ctav.baihongyu.com/

    你可能感兴趣的文章
    SpringBoot中集成Actuator实现监控系统运行状态
    查看>>
    PaddleSlim 模型量化 源代码解读
    查看>>
    paddle的两阶段基础算法基础
    查看>>
    Page Object模式:为什么它是Web自动化测试的必备工具
    查看>>
    SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
    查看>>
    PageHelper 解析及实现原理
    查看>>
    pageHelper分页工具的使用
    查看>>
    pageHelper分页技术
    查看>>
    PageHelper分页查询遇到的小问题
    查看>>
    PageHelper实现分页详细版、整合SSM应用
    查看>>
    PageHelper常见问题
    查看>>
    SpringBoot中配置为开发模式,代码修改后不用重新运行
    查看>>
    springboot中pom.xml、application.yml、application.properties
    查看>>
    PageHelper:上手教程(最详细)
    查看>>
    PageOffice如何实现从零开始动态生成图文并茂的Word文档
    查看>>
    PageRank算法
    查看>>
    Paint类(画笔)
    查看>>
    paip. 调试技术打印堆栈 uapi print stack java php python 总结.
    查看>>
    paip.android 手机输入法制造大法
    查看>>
    paip.spring3 mvc servlet的配置以及使用最佳实践
    查看>>