随笔分类 - B1.嵌入式开发基础
摘要:栈这种结构在嵌入式里其实是非常常用的,比如函数调用与返回就是典型的栈应用,虽然很多时候栈都是CPU系统在自动管理,我们只需要在链接文件里分配栈大小以及栈存放位置,但稍微了解一下栈的原理会更加利于我们去理解嵌入式代码执行机制,以及帮助我们进一步去调试。
阅读全文
摘要:今天要分享的这篇就是2013年痞子衡刚入职飞思卡尔半导体MCU软件团队时为了学习C编码规范所翻译的(外企嘛,各种资料都是洋文),当时飞思卡尔刚成立MCU软件团队不久,那时候Kinetis SDK也还没有正式推出,整个团队必须要有一个统一且良好的编码风格,这样写出来的SDK才符合大厂身份。
阅读全文
摘要:众所周知,现如今嵌入式非易失性存储器基本被NOR Flash一统江湖了,但在Flash技术发明之前,EEPROM才是非易失性存储器的霸主。EEPROM的全称是"电可擦除可编程只读存储器",即Electrically Erasable Programmable Read-Only Memory,EEPROM技术的发明可是拯救过一大批嵌入式工程师的,毕竟在这之前非易失性存储器技术的演进分别是ROM(只读), PROM(只能写一次), EPROM(紫外线可擦除),擦除方式都不太友好,直到EEPROM的出现才变得人性化。虽说现在Flash是主流,但在较低容量(2Mb以下)尤其是超低容量(1Kb以下)的市场,EEPROM仍然有其不可替代的应用场合。今天痞子衡就来好好聊一聊EEPROM
阅读全文
摘要:在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone、MIPS、CoreMark,其中Dhrystone是一种古老的却历时30年而不衰的嵌入式系统处理器测试基准,至今仍为各大处理器生产厂商所采用。今天痞子衡就和大家详细聊一聊Dhrystone。
阅读全文
摘要:关于NOR Flash发展史,我们知道早在1988年Intel便发表了NOR Flash结构,从此改变了由EPROM/EEPROM一统天下的局面。早期的NOR产品主要是Parallel NOR,作为半导体行业领导大厂,为了使NOR产品发展标准化,Intel于1996年制定了CFI 1.0标准(1.0版本属于draft版本,正式版本是1997年发布的1.1),CFI标准的存在是为了让Host能够从NOR Flash device中直接获取制造商ID、设备ID、Flash大小以及各种物理特性,从而使得NOR Flash产品在前后兼容性上表现更好,软件驱动设计也更加标准化。
阅读全文
摘要:众所周知,最早也最流行的Raw NAND接口标准是ONFI标准,很多知名NAND厂商(Hynix、Intel、Micron、Phison、Sony、ST)都是ONFI标准的制定者,但发展到高速DDR NAND的时候出现了一个与ONFI分庭抗礼的标准Toggle DDR,这个Toggle DDR标准是由Samsung和Toshiba两家共同推出的,这两家NAND的产能占据全球70%,所以Toggle DDR标准不容忽视。眼看着这两大NAND标准要打起来,微电子行业的标准权威JEDEC组织出来打圆场了,JEDEC尝试制定了一套Raw NAND互操作标准,即本文的主角JESD230标准,该标准的目的主要是为了融合ONFI和Toggle两大标准。
阅读全文
摘要:说到Raw NAND发展史,其实早期的Raw NAND没有统一标准,各厂商都是自由设计,因此尺寸不统一、存储结构差异大、接口命令不通用等问题导致客户使用起来很难受。为了改变这一现状,2006年几个主流的Raw NAND厂商(Hynix、Intel、Micron、Phison、Sony、ST)联合起来商量制订一个Raw NAND标准,这个标准叫Open NAND Flash Interface,简称ONFI,2006年12月ONFI 1.0标准正式推出,此标准一经推出大受欢迎,此后几乎所有的Raw NAND厂商都按照ONFI标准设计生产Raw NAND,从此Raw NAND世界清静了,不管哪家生产的Raw NAND对嵌入式设计者来说几乎都是一样的,至少在驱动代码层面是一样的,那么各厂商竞争优势在哪呢?主要在三个方面:数据存取速率、ECC能力、ONFI之外的个性化功能。
阅读全文
摘要:在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone、MIPS、CoreMark,其中CoreMark是一种新兴流行的嵌入式系统处理器测试基准,被认为是比Dhrystone和MIPS更具有实际价值的测试基准。
阅读全文
摘要:上一篇文章介绍的奇偶校验法主要是针对byte传输校验而言,而在实际应用中我们不仅要保证byte的完整性,还需要校验由多个byte组成的数据包packet的完整性。今天痞子衡继续给大家介绍针对packet校验的最简单的校验法-即和校验法。
阅读全文
摘要:在系列第一篇文章里,痞子衡给大家介绍了最简单的校验法-重复校验,但该校验法传输效率实在是不高,今天痞子衡继续给大家介绍另一种也非常简单但效率较高的校验法-即奇偶校验法。
阅读全文
摘要:痞子衡今天给大家讲的就是数据传输过程中用于差错检测的最简单的方法,即重复校验法。
阅读全文
摘要:现实生活中的所有信息在计算机看来就是一堆数据,计算机的工作就是和数据打交道。简单来说,计算机最核心的功能就是两个:存储数据、处理数据。计算机首先得要能正确地存储用户数据,有了数据之后,计算机还要能够按照用户要求处理(运算)数据。今天痞子衡要讲的就是数据(整数)在计算机中是怎么存储(表示)的。
阅读全文
摘要:牛顿曾说过:“如果我比别人看得更远,那是因为我站在巨人的肩上”。在软件开发中如果说也存在巨人的肩膀让我们站,我想这个巨人应该就是开源软件。一个优秀的软件开发人员应该能够善于学习和利用开源软件来加速自己的开发,而为了正确地使用开源软件,我们必须要了解开源软件协议,今天我们就来聊一聊开源软件协议这个话题。
阅读全文