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

嵌入式系统开发步骤

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

建立交叉开发环境

配置开发主机

移植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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse注释快捷键失效问题

    eclipse注释快捷键失效问题先试一下是不是用错斜线了,不要用小键盘里的/,要用主键盘里的/,就是键盘上和问号在一起的那个斜shu线。因为Ctrl+小键盘里的/,对应的是另一个快捷方式。如果依然没用再去Window–>Preferences–>General–>keys中输入togglecomment查找注释快捷键,看一下对应的快捷键然后使用。如果觉得它定义的用着不爽,可以在Binding中自定义快捷方式。(个人建议:能不修改默认快捷方式就不要修改!!!)…

    2022年5月10日
    48
  • android桌面快捷方式跳转到指定activity

    android桌面快捷方式跳转到指定activity

    2022年2月7日
    41
  • ajax跨域的解决办法_java如何解决跨域问题

    ajax跨域的解决办法_java如何解决跨域问题什么是跨域问题?跨域问题来源于JavaScript的”同源策略”,即只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题。查看浏览器开发者工具Console报错:Failedtoloadhttp://a.a.com:8080/A/FromServlet?userName=123:No‘Access-Control-Allow-Origin’

    2022年8月24日
    2
  • matlab画图标签,Matlab绘图

    matlab画图标签,Matlab绘图要使用plot函数来绘制图形,需要执行以下步骤:通过指定要绘制函数的变量x的值的范围来定义x。定义函数,y=f(x)调用plot命令,如下:plot(x,y)以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y=x,增量值为5。创建脚本文件并键入以下代码-x=[0:5:100];y=x;plot(x,y)执行上面示例代码,得到以下结果-下面再来一个例子来绘制…

    2022年6月24日
    29
  • vue项目网页全屏功能screenfull「建议收藏」

    vue项目网页全屏功能screenfull「建议收藏」vue项目使用screenfull做网页全屏功能1.安装依赖(本人使用4.2.0版本,。最开始使用5.x.x版本取到的浏览器允许全屏的值为undefind,换了版本后成功取值)cnpminstallscreenfull@4.2.0–save2.写组件Screenfull/index.vue<template><div><svg…

    2022年4月19日
    155
  • UVALive – 4621 Cav 贪心 + 分析「建议收藏」

    UVALive – 4621 Cav 贪心 + 分析

    2022年1月19日
    52

发表回复

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

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