在各大厂的秋招春招中,笔试面试都是必考的

进修嵌入式须要那些内容?

数据构造与算法

这局部是程序员的必修课。在各大厂的秋招春招中,笔试面试都是必考的。常见的数据构造如链表,二叉树,堆,队列,常见排序算法及其改进(快排,归并,冒泡,插入)等都是要掌握的。假如是为了找工作,这局部内容有很多是要能到达手写的目标。(有关内容见我整理的嵌入式软件工程师笔试面试指南 )

在各大厂的秋招春招中,笔试面试都是必考的

虽然嵌入式对于数据构造与算法的要求不像传统互联网那么高,而且,这些数据构造在以后的工作中不一定能够用到,但是一些根本的我们还是要知道的。

像Linux内核中就用到了很多的链表,二叉树等。掌握这局部内容对于我们以后跳槽,深层钻研操作系统都有很大的帮助。

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

接着前几期关于嵌入式常见的误解

损耗均衡

损耗均衡的根本思维是平均地运用存储器上的各个区块。须要维护一张存储器区块运用情况的表,这个表包含区块的偏移位置,当前是否可用,以及已经擦写地次数。当有新的擦写请求的时候,依据以下原则选择区块:

1.尽量不间断

2.擦写次数最少

即便是更新已经存在的数据,也会运用以上原则分配新的区块。同样,这张表的寄存位置也不能是固定不变的,否则这张表所占据的区块就会最先损坏。当要更新这张表的时候,同样要运用以上算法分配区块。

假如存储器上有大量的静态数据,那么上述算法就只能针对剩下的空间生效,这种情况下还要达到对这些静态数据的搬运的算法。但是这种算法会降低写操作的性能,也增加了算法的复杂度。一般都只运用动态均衡算法。

目前比较成熟的损耗均衡的文件系统有JFFS2, 和 YAFFS。也有另一种思维就是在FAT16等传统文件系统上达到损耗均衡,只有事先分配一块足够大的文件,在文件内部达到损耗均衡算法。不过必需修改FAT16的代码,关闭对最后修改时长的更新。

在各大厂的秋招春招中,笔试面试都是必考的

此时的CF卡和SD卡有的已经在内部达到了损耗均衡,这种情况下就不须要软件达到了。

错误恢复

假如在向存储器写数据的时候发生断电或者被拔出,那么所写的区域的数据就处于未知的状态。在一些应用中,这会导致不完整的文件,而在另一些应用中,则会导致系统失败。所以对这类错误的恢复也是嵌入式软件设计必需考虑的。常用的思维有两种:

日志型的文件系统

这种文件系统并不是直接存储数据,而是一条条的日志,所以当发生断电的时候,总能够恢复到之前的状态。这类文件系统的代表如ext3。

双备份

双备份的思维更简略,所有的数据都写两份。每次交替运用。文件分区表也必需是双备份的。假设有数据块A,A1是他的备份块,在初始时刻和A的内容是一致的。在分区表中,F指向数据块A,F1是他的备份块。当修改文件时,首先修改数据块A1的内容,假如此时断电,A1的内容错误,但由于F指向的是完整的A,所以数据没有损坏。假如A1修改成功,则修改F1的内容,假如此时断电,由于F是完整的,所以依然没有问题。

此时的Flash设备,有的已经内置错误检测和错误校正技术,能够保证在断电时数据的完整。还有的包含自动的动态/静态损耗均衡算法和坏块处理,完全没须上层软件额外对待,能够当作硬盘运用。所以,硬件越兴旺,软件就会越可靠,技术不断的进步,将让我们能够把更多的精力投入到软件功能的自身,这是开展的趋势。

在各大厂的秋招春招中,笔试面试都是必考的

故障老本高昂

嵌入式产品都是软硬件一起销售的给用户的,所以这带来了一个纯软件所不具备的问题,那就是当产品发生故障时,假如须要返厂才能修复,则老本就很高。嵌入式设备常见有以下的几类故障:

a)数据故障。由于某些理由导致数据不能读出或者不一致。假如断电引起的数据库错误。

b)软件故障。软件自身的缺少陷,须要通过发布补丁程序或者新版本的软件修正。

c)系统故障。假如用户下载了错误的系统内核,导致系统没法启动。

d)硬件故障。这种故障独有返厂,不属于我们的探讨范围。

针对前三类故障,要尽可能保证客户自己,或者现场技术人员就能够攻克。从架构的角度考虑,如下原则能够参照:

a)运用具备错误恢复才能的数据管理设计。当数据发生错误时,用户能够承受的处理依次是:

i.错误被纠正,所有数据有效

ii.错误发生时的数据(可能不完整)丢失,之前的数据有效。

iii.所有数据丢失

iv.数据引擎崩溃没法继续工作

一般而言,满足第二个条件即可。(日志,事务,备份,错误识别)

b)将应用程序和系统别离。应用程序应该放置在可插拔的Flash卡上,能够通过读卡器进行文件复制升级。非必要的情况不要运用专用应用软件来升级应用程序。

c)要有“安全模式”。即当主系统被损坏后,设备依然能够启动,重新升级系统。常见的uboot能够保证这一点,在系统损坏后,能够进入uboot通过tftp重新升级。

对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就像,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取。

来源:枪哥玩转单片机

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月1日
下一篇 2022年4月1日

相关推荐