嵌入式软件开发是什么_EDUC教育培训网
教育培训
教育网
教育资讯教育政策中小学高考
学校大全
幼儿园小学初中高中高校
大学网
高校成人艺考考研就业留学大学排名
培训网
教育培训培训机构成人教育
英语网
英语学习英语单词英语语法英语口语英语听力英语阅读英语写作英语考试四六级雅思托福行业英语英语文化生活英语机构专题
联系我们
联系我们SITEMAP
教育培训教育培训软件开发教育培训

嵌入式软件开发是什么

2024-03-29 发布
嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件、软件以及综合研发。硬件研发通常指在EDA软件平台上,用硬件描述语言VerilogHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。嵌入式软件研发就是在一定硬件条件下的系统化设计和软件研发。主要使用的语言是C/C++、Ada。

嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,有些嵌入式系统都是由单个程序实现整个控制逻辑。

嵌入式系统的演进方向

1. 以单片机为核心、可编程控制器存在形式

没有操作系统支持
软件以汇编为主
功能单一、处理效率低、存储容器小,没有外部接口
使用简单、价格低

2. 以嵌入式CPU为基础、简单操作系统为核心

CPU种类多,通用性弱
系统开销小,效率高
达到一定的兼容性,拓展性
用户体验度不高,交互界面不够友好

3. 以嵌入式操作系统为标志

兼容性好,适用于不同平台
系统开销小,效率高,具有高度模块化及拓展性
图形化界面、用户界面友好
丰富的外部接口

4. 以物联网为标志

将传感器技术、互联网技术及传统嵌入式技术综合联系
小型化、智能化、网络化、可视化
低功耗、绿色环保
多核技术、云计算、虚拟化技术

嵌入式的两种开发模式

非嵌入式的开发

A类机编写源代码,编译得到可执行程序,发布给A类机运行。

嵌入式开发

A类机编写源代码,编译得到可执行程序,发布给B类机运行,这种编译模式也叫作交叉编译。

为什么使用交叉?嵌入式开的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有;交叉编译器可以用高性能机器为低性能机器开发软件。交叉编译必须使用专用的交叉编译工具。由于可执行程序不能在本地运行调试,因此必须使用特殊的方法将可执行程序加载到目标嵌入式设备上运行及调试。

在配置硬件设备和安装软件开发工具后,就可以开始创建工程项目,通常需要选择项目文件的存储位置及目标处理器。

添加项目文件

开发人员需要创建源程序文件,编写应用程序代码,并添加到工程项目中;还将使用设备驱动程序的库文件,包括启动代码、头文件和一些外设控制函数,甚至中间件(Middleware)等。这些文件也需要添加到项目中。

配置工程选项

源于硬件设备的多样性和软件工具的复杂性,工程项目提供了不少选项,需要开发人员配置,如输出文件类型和位置、编译选项和优化类型等,还要根据选用的开发板和在线仿真器,配置代码调试和下载选项等。

交叉编译连接

利用开发软件工具对项目的多个文件分别编译,生成相应的目标文件,然后连接生成最终的可执行文件映像,以下载到目标设备的文件格式保存。如果编译连接有错误,返回修改;如果没有错误,先进行软件模拟运行和调试,再下载到开发板运行和调试。

程序下载

目前,绝大多数微控制器都使用闪存(Flash Memory)保存程序。创建可执行文件映像后,需要使用在线仿真器(或串口、网口)将其下载到微控制器的闪存中,实现闪存的编程;还可以将可执行文件下载到SRAM中运行。

运行和调试

程序下载后,可以启动运行,看是否正常工作。如果有问题,连接在线仿真器,借助软件开发工具的调试环境进行断点和单步调试,观察程序操作的详细过程。如果应用程序运行有错误,返回修改。

TAG:教育培训 | 教育培训 | 软件开发教育培训
文章链接:https://peixun.9educ.com/teach/7773.html
提示:当前页面信息来源自互联网,仅做为信息参考,并不提供商业服务,也不提供下载与分享,本站也不为此信息做任何负责,内容或者图片如有侵权请及时联系本站,我们将在第一时间做出修改或者删除
旅游
浅谈Java软件开发工程师的知识架构
步入社会多年,很多人也多多少少知道互联网行业高薪,加班强度相对较高,很多人也会因为各类原因而选择
软件开发要学习什么样的知识
在“互联网+”时代,随着互联网越来越深入我们的生活,已经成为日常生活的一部分,特别是很多有趣的a
嵌入式软件开发是什么
嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件、软件以及综合研发。硬件
Java软件工程师需要掌握哪些知识技巧
Java编程语言在互联网不断壮大的岁月里,依然是互联网的中流砥柱,其应用范围之广,就业岗位之多,
软件开发需要学什么
很多想要学习软件开发的同学都在问软件开发需要学习什么,今天小编就问了一下北大青鸟软件开发专业的老
教育本站内容和图片均来自互联网,仅供读者参考,请勿转载与分享,如有内容和图片有误或者涉及侵权请及时联系本站处理。
攻略主播明星娱乐玩家球星游戏动漫综艺电视电影品牌篮球足球体育汽车网红穿搭时尚 球鞋问答潮流酒店世界旅行旅游美容英语培训大学教育