嵌入式系统开发步骤[通俗易懂]

嵌入式系统开发步骤

大家好,又见面了,我是全栈君。

建立交叉开发环境

配置开发主机

移植bootloader

linux内核移植

建立并烧写根文件系统到目标板

开发嵌入式应用程序

部署与配置系统

(1)建立交叉开发环境

开发主机的操作系统一般选用某一个发行版本号的linux系统,如RedHatlinux等。linux内核版本号能够依据项目的详细需求而定,如2.4内核或者2.6内核。选择定制安装或所有安装,通过网络下载对应的gcc交叉编译器进行安装(比方arm-linux-gcc,arm-uclibc-gcc等),或者安装产品厂家提供的交叉编译器。

(2)配置开发主机

配置开发主机包含在开发主机上安装linux系统,配置交叉连接工具,如串口和网络接口。

(3)建立引导装载程序bootloader

从网络上下载一些公开源码的bootloader,依据自己详细芯片进行移植改动。

(4)移植嵌入式linux操作系统
我们做的是嵌入式应用。那么这些应用须要跑在一定的操作系统上(嵌入式操作系统)。比較经常使用的有uclinux。arm-linux,ppc-linux等。最好的情况是,已经有针对所选择的cpu平台的嵌入式linux系统。下载后再加入自己的特定取得调试。
(5)建立跟文件系统
能够从htth://busybox.net/下载BusyBox软件,对其进行功能裁剪。得到一个最主要的根文件系统,在依据自己的应用须要加入其它的程序。默认的启动脚本一般都不符合应用的须要,所以须要改动根文件系统的启动脚本。该启动脚本放在/etc 文件夹下。根文件系统在嵌入式系统中一般设为仅仅读,须要使用mkcramfs。genromfs等工具生成映像文件。可是有些嵌入式系统直接不使用根文件系统。
(6)建立应用程序的Flash磁盘分区
嵌入式系统不使用磁盘作为外存,一般使用Flash。一般使用JFFS2或者YAFFS文件系统,须要在内核中提供这些文件系统的驱动。

(7)开发应用程序
应用程序能够和根文件系统放在一个分区,也能够存在其它YAFFS或者YFFS2等分区中。
(8)部署与配置系统产品的測试和公布
应用程序开发结束后,须要烧写内核。根文件系统,应用程序。最后进行产品的測试和公布。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116101.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python读txt(python打开txt文件)

    python读写txt文件准备原始txt数据3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110…

    2022年4月17日
    67
  • localdatetime 转 date_datetime.date.today()

    localdatetime 转 date_datetime.date.today()Date与Java8的时间之间的相互转换必须通过一个中间类Instant。importjava.time.*;importjava.util.Date;/***日期转换工具类**@authorLenovo*/publicclassDateUtil{publicstaticLocalDateTimedate2LocalDateTime(Datedate){//returndate.toInstant().atZone(Zo

    2022年9月1日
    2
  • linux 重启nginx命令「建议收藏」

    linux 重启nginx命令「建议收藏」/usr/local/nginx/sbin/nginx-sreload

    2022年6月19日
    22
  • intellij idea 激活码[免费获取]

    (intellij idea 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    131
  • 深度学习CNN算法原理

    深度学习CNN算法原理深度学习CNN算法原理一卷积神经网络卷积神经网络(CNN)是一种前馈神经网络,通常包含数据输入层、卷积计算层、ReLU激活层、池化层、全连接层(INPUT-CONV-RELU-POOL-FC),是由卷积运算来代替传统矩阵乘法运算的神经网络。CNN常用于图像的数据处理,常用的LenNet-5神经网络模型如下图所示:       该模型由2个卷积层、2个抽样层(池化层)、3个全…

    2022年9月8日
    3
  • 计算机等级二级java试题(计算机考试选择题知识点)

    第一章数据结构与算法【考点1】算法的基本概念1、算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。算法不等于程序,也不等于计算方法。2、算法的基本特征:1)确定性,算法中每一步骤都必须有明确定义,不允许有多义性;2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;3)可行性,算法原则上能够精确地执行;4)拥有足够的情报。3、算法的组成…

    2022年4月13日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号