什么是嵌入式开发和软件开发

什么是嵌入式开发和软件开发,第1张

1、嵌入式软件开发指的是针对单片机、ARM、FPGA的编程,没有window或linux *** 作系统,即使有,也是功能较为简单的 *** 作系统,比如ucos。总之嵌入式软件开发和硬件关系比较紧密,一般需要编写硬件驱动。

2、软件开发一般指在已经安装了像window或linux的电路板上编写应用,软件开发不直接编写硬件驱动,因为驱动已经被 *** 作系统实现了,软件开发注重逻辑功能的实现,比如要实现拍照,只需调用摄像头驱动即可。

开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rclocal文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rclocal文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。

下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。

1.进入pc机的Linux *** 作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的helloc文件和编译生成的可执行文件。

2.在/nfs/usr/lz/hello下通过vi helloc命令新建helloc文件,编辑如下测试程序:

#include <stdioh>

int main(){

printf("Hello,test arm-linux!\n");

return 0;

}

完成编辑后通过:wq保存后退出。

3.主机通过如下命令交叉编译环境编译helloc:

#arm-linux-gcc –o hello helloc

4.通过ls 命令可以看到在/nfs/usr/lz/hello/下已经生成了hello可执行文件,我们可以在开发板上通过/hello来测试自己编写的helloc执行情况

5.修改rclocal文件,在文件的最后通过‘#’释掉启动图形界面的指令,增加执行用户应用程序hello的指令,具体实现如下:

#export PATH=$QPEDIR/bin:$PATH

#qtopia

#/usr/qtopia/bin/qtopia

/usr/lz/hello//hello

注:前三行是注释掉启动图形界面,最后一行是添加的执行用户的hello测试程序。

6.重启开发板,通过vivi参数配置让开发板通过nfs挂载主机上的文件系统,这时我们就可以通过超级终端看到开发板已经运行了我们编写的hello程序。

应用程序开发,是在服务器或者PC机上开发调试,然后也在服务器或者PC机上发布和运行。

嵌入式开发,是在主机上开发,包括编码和调试,最后通过交叉编译的方式,生成能在嵌入式平台上运行的可执行文件。然后通过串口,以太网口,USB口等传输方式,把可执行文件烧到嵌入式平台的存储器中。这样就能在嵌入式平台上运行了。

嵌入式系统开发就是对于除了电脑之外的所有电子设备上 *** 作系统的开发,开发对象有手机,掌上电脑,机电系统等。

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式 *** 作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能

嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括 *** 作系统软件(OS)(要求实时和多任务 *** 作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而 *** 作系统控制着应用程序编程与硬件的交互作用。

嵌入式开发Qt在Linux平台的原因:

开源性:Linux平台是一个开源的 *** 作系统,Qt也是一个开源的框架,二者的开源性相互匹配,可以方便地进行开发。

稳定性:Linux平台的稳定性非常高,这使得Qt在Linux上的应用程序也具有很高的稳定性。

多样性:Linux平台的多样性使得Qt可以应用于不同的嵌入式系统,包括单片机、嵌入式Linux等。

跨平台:Qt是一个跨平台的框架,可以在Windows、MacOS、Linux等 *** 作系统上进行开发和应用。在Linux平台上开发Qt应用程序,也可以轻松地将其移植到其他平台上。

社区支持:在Linux平台上开发Qt应用程序,可以获得来自Linux社区的大量支持和资源,可以更快地解决问题和提高开发效率。

应用软件,比如QQ,浏览器啊,播放器等等都是应用软件,系统软件就是 *** 作系统,比如Windows7

放到嵌入式里边也类似,嵌入式系统开发就是移植一些嵌入式系统,比如Linux,vxworks等,但是往往一个产品开发过程中光有系统是不行的,需要一些功能性软件,比如你光装个Windows系统,什么应用软件也没有,也干不了一些具体的工作,所以就需要另外开发一些嵌入式应用软件,来完成某个具体的工作

两个的前景没什么好分的,技术到了一定阶段,这两者可以互相转,都没什么问题,很多嵌入式开发者都是两者都在做

以上就是关于什么是嵌入式开发和软件开发全部的内容,包括:什么是嵌入式开发和软件开发、如何在linux嵌入式开发板上开机自动运行用户应用程序、嵌入式开发与应用程序开发的不同点是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9877547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存