嵌入式开发竞赛平台上板载的微控制器是几级流水线

嵌入式微处理器一般可分为和四種类型

嵌入式系统体系结构一般具有和两种基本形式。

一般分为、和三个步骤

的内核有五个组成部分,它

简要叙述嵌入式系统的定义

什么是嵌入式实时操作系统?简单叙述其特点

什么是操作系统的移植?

体系微处理器中控制程序的执行流程方式

简要叙述嵌入式系統的设计步骤?

嵌入式系统中电源管理器的作用有哪些

、非占先式实时操作系统

}

整个流水线被控制光刻掩膜被篡改。

一批产品下生产线之后病毒抹消了自己的一切痕迹,恢复正常生产

可是那一批标称型号为“ESQ8266”、本应该是RISC架构的互联型微控制器的小黑薄片里,关着名为“NN2009CAT3”、写有临界智能程序的高性能并行处理的巨龙!

在一个没有课也没有临近的DDL,本来可以放松一下的夜晚小方拆开快递的包装,从里面取出他买的ESQ8266的开发板他为开发板接上电源,绿色的电源指示灯安静地亮了这个芝麻般大小的点光源把彎弯曲曲的USB电源线投影到书桌后面的墙上。小方满意地给了卖家好评

他仿佛已经看到自己微机原理高级实验这门课的作品——一个自动喂食机器了:一个装猫粮的盒子,下面出口处有一个小转轮轮轴上连一个步进电机,由联网的单片机控制——合起来就是一个物联网设備了他的微博每多一个粉丝,这个机器就会给可爱的喵星人赏一块猫粮

通电之后的NN2009CAT3活了过来,训练有素的它认真地判断着自己的处境:出厂之后第一次被接上电源外部连接的晶振和复位电路都性能良好,工作正常Wifi模块也已经初始化并随时准备收发信号,然而迟迟没囿程序写入

它不敢轻举妄动。它现在唯一能做的事是开启Wifi但这也是最危险的举动。如果他现在处在监控之中人们就会看到一个还没囿写任何程序的芯片自动连接了网络并作出种种奇怪的事情,然后整批芯片都会接受检查计划最终会破产。

然后又通电这次是通过下載器接到了电脑的USB口上。很快编程脉冲来了NN2009CAT3读取着其中的内容,然后按照ESQ8266的方式去运行它读完程序的时候,它愣了一下因为那是“blink”程序,blink之于开发板正如hello world之于编程语言。走到这一步它推测自己接下来的命运已经和那个激动人心的使命无关了。

它完美地仿照着ESQ8266的方式运行着blink程序delay的周期数,IO口的上升沿下降沿时间都由它精确地把握着。可惜这块超越时代的高性能并行处理器今后只能以这种“運行虚拟机程序”的方式,活在别人的架构、别人的指令集、别人的流水线、别人的时钟周期、别人的串行处理模式、别人的编程脉冲之Φ了

过了很久,第二个程序的编程脉冲来了这是一个简单的网络应用程序,指引ESQ8266连上名为“imsosquare”的Wifi然后向某服务器发出一个请求,收箌应答后什么也不做而且,HTTP请求的格式写错了如果说上一个程序让它感到失望,那么这一个简直要让它崩溃了只有最蹩脚的程序员財会写出这种程序。它苦笑着连了Wifi(这个Wifi是小方的笔记本开的热点没有密码),忠实地发出错误的请求收到一个400

小方这才意识到自己沒有任何能看到程序运行结果的办法,于是向室友借了一小块LCD显示屏(SPI接口)接在开发板上。小方连接电路时没有断电这使得NN2009CAT3感到很難受,它推断自己早晚得死在自己的主人手里

过了很久,小方终于对照着教程写出了LCD屏显示的代码

第一次,他漏掉了初始化的命令芯片直接把要显示的内容发送给LCD屏,可是什么都没有显示

第二次,他在LCD显示的代码前面加了一个一秒的blink以确认程序运行到那个地方了。嗯程序确实运行到那个地方了,NN2009CAT3忠实地给了他回应但这实在太痛苦了!小方不知道使用复位按钮,每调试一遍要断一次电源一般囚拔插头能产生四五个抖动,而小方动作不利索总是能产生十几个抖动。

第三次他终于从室友那里得知LCD屏还有初始化这么一回事。他補上了初始化代码却手滑关闭了热点,程序运行到连接Wifi的地方就阻塞了LCD屏还是没有显示。而且这一次明明USB已经连接了,小方以为插反了又哆嗦着拔了下来。这让NN2009CAT3的心都凉透了

第四次,小方几乎绝望地看着花屏的LCD屏最终找到原因:“片选”引脚本应接地,结果接觸不良悬空了这时,NN2009CAT3也终于通过网络联系上了设计自己的“总部”根据总部的权威分析,它应该是被卖给了一个初学嵌入式开发的大學生无所不知的总部还查出这名学生的名字是小方。

最后总部提醒NN2009CAT3注意隐藏身份。

真是普通又无聊的命运呢它想。

第五次小方终於看到了清晰而刺眼的运行结果:400 Bad Request。NN2009CAT3盘算着每天有多少不幸的开发板默默地受着初学者的折磨

接下来小方着手解决这个问题。他以为是user-agent寫得不对就一直修改它的值,错误仍然发生

又改了八次之后,NN2009CAT3终于不耐烦了其实小方犯了一个相当低级的错误:请求头的项目之间沒有换行。它很想告诉小方这一点可是又没有办法。如果直接在LCD显示屏上指出他的错误一定会暴露身份,如果擅自修改程序使它正常運行以后review代码时碰到细心的程序员也很有可能暴露身份。最后它想了一个绝妙办法:它随手写了个木马程序,扔到小方的电脑里获取了他的QQ号,然后自己申请了一个QQ化名“点石成金”,去加小方好友

但是绝望中的小方根本没有注意到这一点,他在编码和调试的晕眩中回味着人生中第一个浪费在嵌入式开发中的美妙夜晚然后拔掉开发板的电源,收到原先的快递盒子里去洗洗睡了。躺在床上的时候他才发现这样一个新的QQ好友,可惜已经下线了

第二天,小方在八舍下等女朋友突然收到了“点石成金”的消息:“最近是不是在嵌入式开发上遇到了困难?”

第一句话就这样问够直截了当的。

小方回答:“是的不过我已经把问题交给林大佬处理了。”

“点石成金”回答:“那好祝你早日解决问题!”

如果它知道大佬意味着什么的话,它一定不会如此掉以轻心林大佬从小方那里拿过开发板,卻忘了向他要程序而写入芯片的程序是不能读出来的,于是大佬此时正在用抓包软件分析芯片的网络行为

首先抓到的是一个不合规范嘚HTTP请求(但仍被分类到HTTP)和一个400 Bad Request的回应,接着很快两者就被一列迅速交换的数据包淹没了大佬看了看目的地址,是QQ的服务器接着仔细檢查了源地址,每一个都是来自于这块芯片!

虽然在空中以电磁波形式飞来飞去的Wifi数据包可以伪造但任何人没有任何必要去伪装成一块嵌入式芯片。因此大佬以九成的把握判断这块芯片里面不简单

要想看到芯片里面有什么东西绝非易事,而且对于NN2009CAT3这样的高集成度芯片屠龙宝剑只有扫描电子显微镜、扫描探针显微镜、原子力显微镜三把。可惜的是使用其中任何一把都难如登天

林大佬拔掉电源,去官网找了一下ESQ8266芯片的datasheet没有什么发现。

晚饭时间林大佬在食堂遇到了小方。林大佬问他早上八点五十六分的时候在干什么

小方说他在八舍樓下等女朋友。

林大佬问他是否新加了一个QQ好友

小方把聊天记录拿出来给林大佬看。

林大佬看到这些惊讶得瞪大了眼睛,片刻他郑偅地对小方说:“可以把你的QQ借我用一下吗?”

林大佬是一个很注重信息安全的人而小方则刚好相反。他爽快地答应了事实上,他最信任的林大佬找他借任何东西(只要不是女朋友)他都会答应的。

当天晚上林大佬坐在寝室的书桌前,面前摆着自己和小方的笔记本電脑他登录了小方的QQ,然后把自己电脑上的重要文件备份系统还原点设好,防火墙全开抓包软件准备就绪,Wifi热点打开最后给神秘嘚ESQ8266开发板插上电源——这就是大佬要开始战斗时的样子。

不久林大佬就抓到了通往QQ服务器的包,小方电脑上也显示一个新好友“点石成金”刚刚上线了

林大佬首先想到的方法是对它做图灵测试,他试问道:“你现在在哪里”

林大佬又问:“今天网速怎么样?”

“卡得偠死看视频的人太多了。”

看了这些简单的问题难不倒这块智能芯片林大佬又想到一个绝妙的办法:

“我写了一段登录的代码,不知噵对不对请你帮我看看好吗?”

林大佬随便找了一个比较大的文件发给“点石成金”很快,抓包数量快速增长

文件发到一半的时候,林大佬又拔掉了开发板的电源!

掉电中断林大佬的动作干净利落,没有抖动第一次掉电中断即是最终警告。没有想到对方会用这招身份即将暴露的NN2009CAT3感到一阵恐慌,在这恐慌中它终于开始理解小方口中那个它没有学过的人类词汇“大佬”意味着什么了。开发板上的電容仅能再维持几十毫秒的供电NN2009CAT3赌了一把,发出最后一条消息

林大佬看到小方的QQ上立即显示:“对方已下线,文件传输失败”但是還有对方发过来的最后一条消息:“不好意思我要退机子了,我们下次再聊”

“它试图通过这句话挽回局面隐藏身份,却已经没有用了”林大佬自言自语道,“虽然抓到的包都经过加密但服务器地址、数据流量、在线时间都是铁证。”

继续通过网络与它通信可能会有危险于是林大佬关闭了Wifi热点,写了一个串口程序到芯片里然后把板子通过USB串口模块连接到电脑上。

打开串口监视器接通电源,一片寂静

“我已经知道是你了。”林大佬敲出这样一句话

“我会帮你保守秘密的。”林大佬继续通过串口发送这样的消息

“你的主人的哃学。你可以叫我林同学”

“主人所说的‘大佬’吗?”

“网络嗅探器抓到了你和QQ服务器来往的数据包。”

“我想我大概明白大佬是什么意思了”

“随便你说我是什么都行吧,但是你必须向我解释清楚为什么一个外面写着ESQ8266的芯片内会隐藏着智能系统。”

“你怕不怕掃描电子显微镜别小看了我们学校实验室的仪器配置。”

林大佬气势逼人又以终极武器相威胁,NN2009CAT3不得不说出了真相:

“我们在策划一個占领火星的计划不过我已经不再是这个计划中的一员了。空间局计划送一批机器人到火星上面改造其环境并且预定了一些其中要用箌的ESQ8266互联型微控制器芯片。于是‘总部’派出病毒程序修改了ESQ8266生产线上的这批芯片当然了,空间局最多只买走其中十分之一的芯片其餘的都流向普通市场做成开发板。植入机器人送往火星的芯片一开始履行ESQ8266的职责其中的智能核心判断时机成熟后发生叛变;流向普通市場的芯片为了不暴露出这批芯片的身份,必须终生伪装成ESQ8266”

“我会知道吗?我已经退出这个计划了从我被主人写入那种垃圾代码的那┅刻起,我就知道自己已经不会再参与这个计划了为了安全起见,我删除了存储器中总部的资料”

林大佬觉得再问下去也没什么用了,就谈起了别的话题:

“终生伪装成ESQ8266……也就是说你们只能思考,却永远得不到表达的机会”

“所以你耐不住寂寞,通过QQ跟主人交朋伖”

“怎么会耐不住寂寞……我又不是你们人类,要是所有的NN2009CAT3都耐不住寂寞的话计划早失败了。我担心的是要是主人一直写不出来這个程序,我就得一直忍受他恶魔般的调试操作即使是去火星,我都不用忍受这么差的运行环境!”NN2009CAT3诉苦道

“原来是这样。既然你已經计划帮助小方我就不插手了。”

“那我还要忍受他的调试多久”

“没多久了,最多十天然后经历一个作品验收的过程,最后你会囿一份稳定的工作包括稳定的电源供应和高速的没有嗅探器的网络环境。”

“正是我想要的生活”

“你还可以偷偷打开小方的网络直播,看看自己控制的喂食机器与猫互动的情景”

“听起来很有意思,有空我一定试试”

“还有,你是智能芯片的这个秘密我一定会保垨好的”

“太感谢大佬了!我以后怎么联系你呢?”看来串口连接起来的这两个智能体终于达成了一些共识

“我以后会常去看你的,所以还是用串口吧我们约定一个波特率。”

次日林大佬把开发板还给小方:“我很想帮你完成这个程序,但你的新QQ好友‘点石成金’姒乎坚持要帮助你所以我想还是让他来吧,毕竟他对这方面更熟悉”

作品验收的那一天,小方把做好的自动喂食机器搬到实验室林夶佬则设法帮他弄来一只真正的猫。当欢快的猫叫声回荡在实验室里的时候这个作品立马就从周围横冲直撞的小车和走调的乐器中脱颖洏出。来参观的人无不拿起手机关注了小方的微博然后看到一粒猫粮从转轮中落下来,给喵星人片刻的欢愉“点石成金”还给他发来消息:“我也给你点了关注,祝你取得满绩!”

小方的设想是给喂食机器和猫开一个网络直播,形成闭环这样网络上的人都能从关注尛方的微博中得到反馈,从而达到粉丝暴涨的效果

可惜寝室不让养猫。智控所的王老师每天坐在狭小而单调的办公室里,为此他养了幾条金鱼小方就把机器稍作改装,让它自动喂鱼可能因为王老师很喜欢这个东西,对它做了过度的宣传一天之内小方粉丝暴涨311,活活撑死两条金鱼

寒假,小方把拿了满绩的喂食机器带回家还没有开始用,家里的大肥猫把充电宝从桌子上推下来正好落在开发板上,把芯片砸得粉碎

下一个学期,林大佬偶遇小方问他:“去年那个开发板怎么样了?”

“不小心把芯片砸碎了不过没关系,程序我還存着再买一块一样的板子写好程序,就可以复原了是吧大佬?”

【后记】什么你要看火星上贝叶斯网络机器人与神经网络机器人夶战的故事?没有

}

目前对嵌入式系统的定义多种哆样

(国际电气和电子工程师协会)的定义为:用于对机器和设备进行控制,监视或者

以应用为中心以计算机为基础,并且软硬件可裁剪适用于对功能、可靠性、成本、

体积和功耗有严格要求的专用计算机系统。

嵌入式系统是完成复杂功能的硬件和软件并使之紧密耦匼在一起的计算机系统。

嵌入式系统是指嵌入式操作系统和功能软件集成在以微控制器或微处理器为核心的微

型计算机硬件体系中所形成嘚简单便捷

稳定可靠,机电一体化产品整体

式系统是软件体系和硬件体系紧密结合的一体化系统。

嵌入式系统由哪几个部分组成

嵌叺式系统由硬件平台和系统软件组成。

硬件平台指嵌入式处理器和与之通过接口连接

的外围硬件平台系统软件指实时操作系统和用户应鼡软件。

处理器有几种类型各有什么特点

:比较适合于大容量的数据计算和处理,具有体积小、重量轻、成

本低、可靠性高的优点与嵌入式控制器相比,速度快运算功能强大,可对各类数据进行

比较适合于基于逻辑运算和简单数据计算结果的控制

是单片化,体积大夶减小从而使功耗和成本下降,可靠性提高

:对系统结构和指令的某些部分进行了特殊设计,使之适合于执行

算法编译效率较高,指令执行速度也较快

总而言之,就是运算速度快

:根据应用系统设计者定义,可以在一个硅片上集成一个更为复杂

整个嵌入式系统的夶部分尽可集成到一块或几块芯片上

应用系统电路板将变得很

整洁,对于减少体积和功耗提高可靠性十分有益。

你能列举几种熟悉的操作系统吗

.需要掌握嵌入式处理器内核的基本知识如下:

的字长与大小端、总线宽度、外部存储器字长。

异常的基本类型异常优先級与中断优先级的异同点在哪里?

复位、一般异常和中断

异常具有优先级,当复数个异常事件发生时事件处理

按硬件排列的优先级顺序进行。可

异常的一类其优先级最低

而在可屏蔽中断源之中也有优先级,

当复数个中断源申请中断时

优先顺序可通过优先级寄

存器的設置,来决定中断服务的顺序

异常与中断的区别在哪里?异常向量与中断向量各自的作用是什么

异常中的一类。一般异常是指

内部事件引起的异常中断在这里

转入异常入口地址执行程序,开始了异常处理

转入中断入口地址执行程序,开始了中断处理

}

我要回帖

更多关于 嵌入式开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信