问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

嵌入式软件开发常用的三种架构你知道吗?

发布网友 发布时间:2022-08-17 01:18

我来回答

1个回答

好二三四 时间:2022-08-21 04:50

嵌入式系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统,根据英国电气工程师协会的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。

设计方法:类似于时间片,大部分代码都放在中断中,比如串口中断定时器中断,大部分时间单片机处于空闲状态,触发中断后尽快完成响相应工作,优点是功耗低,在逻辑不太复杂时候比较方便,不用控制不同功能之间的影响,缺点是如果有耗时比较长的操作有可能不稳定,且比较麻烦,适用于时间长逻辑少的功能,比如智能家居的灯控制。

热心网友 时间:2024-03-17 09:06

摘要 :对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,架构是非常必要的。

应用程序的架构大致有三种:

1、 简单的前后台顺序执行程序 ,这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。

2、 时间片轮询法 ,此方法是介于顺序执行与操作系统之间的一种方法。

3、 操作系统 ,此法应该是应用程序编写的最高境界。

1、前后台顺序执行法

这是初学者们常用的程序框架设计方案,不用考虑太多东西,代码简单,或者对系统的整体实时性和并发性要求不高;初始化后通过 while(1){} 或 for(;;) {}`循环不断调用自己编写完成的函数,也基本不考虑每个函数执行所需要的时间,大部分情况下函数中或多或少都存在毫秒级别的延时等待。

以下是在校期间做的寝室防盗系统的部分代码(当时也存在部分BUG,没有解决。现在再看,其实很多问题,而且比较严重,比如中断服务函数内竟然有3000ms延时,这太可怕了,还有串口发送等等;由于实时性要求不算太高,因此主函数中的毫秒级别延时对系统运行没有多大影响,当然除BUG外;若是后期需要维护,那就是一个大工程,还不如推翻重写 ):

介于前后台顺序执行法 操作系统 之间的一种程序架构设计方案。该设计方案需能帮助嵌入式软件开发者更上一层楼,在嵌入式软件开发过程中,若遇到以下几点,那么该设计方案可以说是最优选择,适用于程序较复杂的嵌入式系统;

该设计方案需要使用一个定时器,一般情况下定时1ms即可(定时时间可随意定,但中断过于频繁效率就低,中断太长,实时性差),因此需要考虑到每个任务函数的执行时间,建议不能超过1ms(能通过程序优化缩短执行时间则最好优化,如果不能优化的,则必须保证该任务的执行周期必须远大于任务所执行的耗时时间),同时要求主循环或任务函数中不能存在毫秒级别的延时。

以下介绍两种不同的实现方案,分别针对无函数指针概念的朋友和想进一步学习的朋友。

1、无函数指针的设计方式

2、含函数指针的设计方式

嵌入式操作系统EOS( Embedded OperatingSystem )是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域,而对于单片机来说,比较常用的有UCOS、FreeRTOS、 RT-Thread Nano和RTX 等多种抢占式操作系统(其他如Linux等操作系统不适用于单片机)

操作系统和“ 时间片论法 ”,在任务执行方面来说,操作系统对每个任务的耗时没有过多的要求,需要通过设置每个任务的优先级,在高优先级的任务就绪时,会抢占低优先级的任务;操作系统相对复杂,因此这里没有详细介绍了。

关于如何选择合适的操作系统( uCOS 、 FreeRTOS 、 RTThread 、 RTX 等RTOS的对比之特点:

借网上一张对比图:

从上述的对比中可以看出,时间片轮询法的优势还是比较大的,它既有前后台顺序执行法的优点,也有操作系统的优点。结构清晰,简单,非常容易理解,所以这种是比较常用的单片机设计框架。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...频数和频率成正比,2频数一定时,频率与总次数成反比,对不对_百度... ...总次数之间的关系是( ) A.频数越大,频率越大 B.总次数一定时,频数越... 实验的总次数、频数及频率三者的关系是( )A.频数越大,频率越大B.频数... 嘎牙鱼的做法大全 安无线网要用多少元网费要交多少元不用用了要不要交网费,想寻求大家的... 无线网费1年多少钱 "Hbr"作为“港”的缩写,其在英语中的使用频率和应用示例如何? 【车主点评:吉利汽车帝豪GL 使我荣华富贵】 请问,如果,家用,自动挡,帝豪gl,英朗,科沃兹,卡罗拉,轩逸,同等价位,建议... ...景点?既能休闲的时候看看又能长点知识@@谢谢各位了! 深圳有哪些不错的设计团队? 中国人才网注册方式 怎么加入一元人才网信丰 21世纪人才网如何注册? 浅驼色能搭配奶油黄吗? 天龙八部手游v12需要充多少钱 克莱因蓝搭配什么颜色好看 克莱因蓝搭配哪种颜色好看 求 网站的设计、管理与维护 参考文献 作为设计师如何推动文化创造性转化和创新性发展 艺术设计的“形式”创新受到哪些因素的制约?要求准确地答案,谢谢 如何培养艺术设计类学生的创新素质 网站建设需要哪些软件,怎么设计网页,和上传网站,之后再怎么管理网站,请求高手指教 介绍几个最好的图片制作网站(适合淘宝或拍拍网) 梦幻西游手游厉电狰坐骑多少钱 国庆新坐骑厉电狰仙玉 中专微机网络建设与网站管理有哪些课程 梦幻西游中坐骑的好感度怎么增加 梦幻西游坐骑怎么提高好感度 梦幻西游坐骑好感度怎么加 还有坐骑灵气有什么用 梦幻西游手游新坐骑布偶熊什么样的 梦幻西游 坐骑怎么加好感 杭州热浪品牌策划有限公司怎么样? pyinstaller打包exe文件显示tc1 was not installed? .net sql数据库 网上书城 设计 朋友们帮帮忙啊 传智的网页设计和火星时代的网络媒体,哪个较为好些 传智书城注册失败是什么原因 传智专修学院都有什么学科?怎么选择好? 谁有用JSP做的网上书城的代码吗 梦幻西游新出的坐骑最少需要多少级? 设计造型中,用于形式创新的载具有哪几个方面 学工业设计的应该如何提高造型能力?例如做一款创新设计,给它设计一个好的造型。 简答题 工业设计师所创新设计的产品造型怎么达到使用者(从外形)准确辨认? 航天爱信诺Aisino TY-820 24 针财税高清票据打印机如何安装 刷机精灵怎么用?刷机精灵可以刷华为 G610C 电信版 I699手机吗? 华为手机 ,锁屏图案忘了,连接刷机精灵时显示 允许USB调试吗?这台计 您好!下载了samsung scx-3400打印机驱动,按照步骤添加打印机,无法添加成功,是什么原因?是win7系统 华为y516用刷机精灵udb调试还是连接不上怎么办 刷机精灵怎么用?刷机精灵可以刷 华为 C8825DG330C/电信版手机吗? 白化病患者要改掉哪些坏习惯? hp2025打印浓度调整 梦幻西游手游坐骑技能哪个好 法宠坐骑技能推荐