博客
关于我
使用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/

    你可能感兴趣的文章
    Nmap扫描教程之Nmap基础知识
    查看>>
    Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
    查看>>
    NMAP网络扫描工具的安装与使用
    查看>>
    NMF(非负矩阵分解)
    查看>>
    nmon_x86_64_centos7工具如何使用
    查看>>
    NN&DL4.1 Deep L-layer neural network简介
    查看>>
    NN&DL4.3 Getting your matrix dimensions right
    查看>>
    NN&DL4.8 What does this have to do with the brain?
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    no available service ‘default‘ found, please make sure registry config corre seata
    查看>>
    no connection could be made because the target machine actively refused it.问题解决
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>