您的位置 » 首页 » 嵌入式工控机 » Linux在嵌入式系统应用中的探究

Linux在嵌入式系统应用中的探究

发表于4年前 | 作者: blog | 分类: 嵌入式工控机 | 破蛋日:2019年12月24日 |

用于嵌入式控制设备领域的历史和计算机本身的历史一样久远。最初的用于控制机电式电话交换器的通讯设备中“固态控制程序”就是嵌入式程序。“计算机系统”在当时并不普遍;所以固态程序存放在内存中控制相应的设备。在那种时代,运行控制程序是很先进的思想,而且当时也只能如此而已。

那时的计算机是专为特定的用户设计,特殊的应用程序指令、I/O设备和主要的计算设备集成在一起。微处理器的产生改变了这种局面,价格低廉、结构小巧的CPU和外设连接在总线上形成了比较大的系统。这种硬件架构很稳定,于是在这个基础上,这建立起了通用的软件开发环境和编程模式,且简化了编程,。

不过很多的嵌入式系统还没有使用操作系统,它们仅仅包含一些控制流程而已。在嵌入式系统相对简单的情况下,这些控制流足以应付。但是,当嵌入式系统的功能复杂后,简单控制逻辑就不够用了,这时你必须使用操作系统。如果不使用操作系统将会使得控制系统逻辑结构复杂混乱,很容易出错。再者,有些嵌入式系统需要接入网络系统,比如宾馆的门锁控制已经需要接入网络,因此就更需要嵌入式的操作系统来支持应用软件。

除了商业化的操作系统外,还有其他的有版权要求的非商业化嵌入式操作系统可以使用。然而今天的Linux系统有着嵌入式操作系统需要的很多特色、突出的优势:适应于多种CPU和多种硬件平台,性能稳定,裁剪性很好,开发和使用都很容易。因此,我们决定在嵌入式系统中使用Linux操作系统。

原来开发嵌入式系统的关键是需要一套好用的开发和调试工具;而且在开发所不同阶段还需要不同的工具。就比如工匠,只有好的工具才能够使工作完成得又好又快。

传统的开发调试工具就是ICE-在线仿真器;它取代目标板的微处理器,给目标程序提供仿真环境,同时可以连接监视器;允许开发者调试和监视程序的运行。尽管这种运行方式会引起一些奇怪的问题,但是它总能够让你明了程序在目标板的工作状态,免除了对底层的软硬件接口的猜测。但是,这种设备价格非常贵。

过去,甚至在整个开发期内,开发嵌入式系统主要依靠这些调试工具。 可是,我们发现,一旦软硬件能够正常支持串口的运行时,我们可以使用其他的调试办法。现代的嵌入式系统采用相当成熟的微处理器。因此很容易使得串口工作。串口连接成功,可以进行很多的开发调试。所以我们不用ICE也可以很好地开始开发和调试工作了,同时还降低开发费用。

Linux利用GNU项目的C编译器来编译程序,使用gdb源程序级调试器来调试程序。它们提供了合适的手段来使你能够开发嵌入式的Linux系统。为了开发基于Linux的嵌入式系统,可以按以下方法进行:

向串口输出提示字符串,例如“hello word ”或“Waston, come here I need you!”等, 然后通过串口,指挥gdb 开始工作。以这种方式和另外一台运行gdb程序的Linux主机系统“交谈”,通过串口,你可以很方便地让gdb调试目标程序。通过串口和gdb通讯,可以进行C源程序级的调试。甚至你还可以以串口把其他的程序下装到RAM或flash存储器。通过串口,使用gdb可以使得软硬件的初始化代码继续运行到核心全部启动。

一旦核心在运行了,你就可以使用其他的更好的调试工具,象Kgdb等,如果连接了网络,你也可以让网络工作起来。同时你就可以用GUI的xgdb来调试应用程序。

细细分析起来,大多数系统并不需要严格的实时性。而嵌入式系统也经常被误解为就是实时性系统。其实,多数嵌入式系统并不需要实时性,而且实时性本身是个相对的概念绝对的实时性是指对需要的服务以限定的方式和在限定时间内提供,比如在微秒级内响应。 这种硬实时性功能只是针对特殊的设备而言 ,例如数字信号处理等。而这些要求使用特殊的硬件 如FIFO、DMA和其他特殊设计的硬件 也可以满足 。

现在,严格要求的实时性任务的决定因素是中断例程本身和内核中的其他驱动程序有关;而响应延 迟时间主要受中断的优先级和其他进程会暂时地关闭中断响应的影响。因此管理和驱动中断的机制必须 保证实时要求。

课程从0开始,讲到云计算结束,按阶段授课,从入门到跑路,适合初学者,也适合定制,需要哪个模块学哪个模块2,包含初级运维工

现代化的代码配置器/生成器可以通过扩展我们的软件开发流程、实现自动化并最终恢复我们对快速增长的可用功….

据悉,到目前为止,AWS 的 Ubuntu 镜像一直使用普通的Linux内核,只要有新的安全更新可用….

嘉宾介绍:朱有鹏,互联网课程品牌《朱老师物联网大讲堂》创始人。精通U-Boot、linux kernel移植及驱动程序开发;精…

EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。

linux是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线

2019年12月19-21日,一年一度的科技大展ELEXCON深圳国际电子展将在深圳会展中心拉开帷幕….

那么问题来了,在SOC手册上看到的GPIO引脚号都是GPIOA5、GPIOB7、GPH12等这样的名….

12月2日,中国电子集团旗下的中国软件宣布整合旗下的中标软件、天津麒麟两大子公司,出资设立新公司,将….

Quad和Octal SPI接口由JEDEC的扩展SPI(xSPI)标准JESD251定义,该标准提….

Linux 下 QT远程连接sqlserver我按照网上的教程 没有成功感觉是驱动安装了 配置没成功,请…

新型FlexChannel 输入通道可以使用范围最广泛的探头,满足测量多个不同信号的需求。

安勤科技,为Intel物联网解决方案联盟(Intel Internet of Things Solu….

计算机作为20世纪人类社会最伟大的发明之一,近期也逐步迈入后PC时代。后PC时代的到来也标志着嵌入式….

在寻找Raspberry Pi的替代操作系统时,还有其他选择。但是,这些几乎都是Linux发行版,已….

虽然Linux Mint具有非常传统的桌面感觉,但MX Linux的目标是更接近Windows。有了….

Youyota平板电脑是to花一现的Jolla平板电脑的精神继任者,该平板电脑已发布并上市将于201….

Linux具有高度可配置性和适应性。另外,它是免费的!具备所有这些特质,听到人们使用Linux来完成….

具有三种远程连接到Linux盒的选项,这应该很简单选择使用SSH,VNC还是RDP。请记住,无论如何….

基于iTOP4418开发板的Linux-c的测试程序 iTOP-4418 开发板可以运行的文件系统很多,在具体的文件系统上实现特…

几乎所有Kodi的更新和插件都可以在Pi 2的OpenElec上安装。尽管OSMC具有独特的用户界面….

然而,由于内核代码的冗长,和内核体系结构的庞杂,所以分析内核也是一个很艰难,很需要毅力的事;在缺乏指….

系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。比如,基于 ….

芯片级设计技术的核心是编译/综合、库/IP、测试/验证。编译/综合技术使设计者用抽象的方式描述所需的….

当然,就C语言代码来看,i++ 和 ++i 都只有一行,看起来似乎二者的执行效率一样了?其实不是的,….

Kano不仅是儿童专用的Linux操作系统。它实际上是编码套件的一部分,供年轻程序员学习如何在构建自….

Blender是一款用于3D图形设计的自由开源软件,主要使用了C、C++和Python语言,可以运行….

Purism公司在9月份就宣布其开源Linux智能手机Librem 5已开始发货,现在已有不少支持者….

Blender是一款用于3D图形设计的自由开源软件,主要使用了C、C++和Python语言,可以运行….

据报道,近日,华为公共事务高级副总裁Joy Tan在接受采访时表示,鸿蒙OS代码行数更少,安全性更高….

为什么当年Linus不用c#去写Linux系统?这个确实一下愣住了,因为有点不合常理。

知名 Linux 内核开发人员 Greg Kroah-Hartman 今日宣布:Linux 5.4 ….

随着云计算、大数据、5G等新技术的融合加快,物联网也逐步进入集成创新、跨界融合、规模发展的新阶段。包….

外壳是整个文化的组成部分,具有自己的历史和文学作品。没有比任何一种正确的方法来了解人类文化更正确的方….

单击 Flash 开始将IMG文件写入microSD卡。完成此操作后,即可使用Raspberry P….

10月底在“Ubuntu 19.10发布派对”上,优麒麟社区负责人刘敏分享了《UKUI轻量级桌面环境….

现阶段广泛应用于多媒体、Graphics领域的共享内存方式,某种意义上不再强调映射到进程虚拟地址空间….

嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。嵌入式系统通常进行大量生产,所以单个….

简单来讲,BPF是一套完整的 计算机体系结构 。和x86,ARM这些类似,BPF包含自己的指令集和运….

如何创建一个*可执行*的共享库 一文谈完了如何让共享库可直接执行,本文再来谈谈共享库的运行时位置无关….

近期,Linux内核5.4系列宣布全面可用,添加了许多新功能,更强的安全性和更新的驱动程序,以提供更….

因此Git是我的第二个大项目,它存在的意义就是维护我的第一个大项目。事实上这就是我的工作方式。我编程….

国际上常见的嵌入式操作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS….

嵌入式系统与通用计算机系统有着完全不同的技术要求和技术发展方向。通用计算机系统的技术要求是高速、海量….

在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的….

11月26日消息,华为MateBook D 14锐龙版第三方Linux系统在华为商城上架,售价是36….

今天,Linus Torvalds正式签署了Linux 5.4内核的正式版本,带来了大量新功能,强化….

根据《市场研究未来》(MRFR)最新的研究报告,在2018-2023年的预测期内,Linux操作系统….

随着国家信息化的推进,电子技术也得到了更广泛的发挥,嵌入式作为一种传统的电子技术,未来会因为物联网的….

我的51开发板提供的都是win7下的软件,包括USB驱动、keil开发软件以及 烧录软件。现在我想在linux(我的是CentOS…

最近法师收到了很多留言,其中有一部分问法师什么时候更新,还有一大部分问法师我是买迅为的IMX6UL精英版好呢还是…

硬件工具4412开发板 PC 机 U 盘或者 TF 卡 软件工具Ubuntu12.04.2 以及虚拟机 Arm-2009q3 编译器 Notepa…

国内Linux内核分析经典书籍-Linux内核源代码情景分析(上下全集卷).pdf 需要的自行下载 …

嘉宾介绍:韦东山,嵌入式系统应用方案毕业于中国科学技术大学, 物理软件双学位,畅销书作者《嵌入式Linux应用开发完全手册》作者,10多…

设计低能耗系统时,我们需要关注一些非传统因素,这些因素涉及范围从硅芯片生产工艺技术,到基于单片机的嵌入式平台上…

Linux在嵌入式系统应用中的探究

文本标签:
本文地址:http://www.huapuxin.cn/blog/827.html
除非注明,本站所有文章皆为原创,转载请以链接形式标明本文地址

马上分享给你的朋友吧~

评论已关闭!