电子发烧友网 > 嵌入式技术 > 嵌入式设计应用 > 正文

嵌入式系统开发的流程和提升可靠性的七大技巧

2017年04月19日 17:08 次阅读

  目前嵌入式系统开发应用非常的广泛,在很多领域都有应用,而且技术更新很快。

  嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

  嵌入式系统的设计技术主要包括硬件设计技术和软件设计技术两大类。其中,硬件设计领域的技术主要包括芯片级设计技术和电路板级设计技术两个方面。

  芯片级设计技术的核心是编译/综合、库/IP、测试/验证。编译/综合技术使设计者用抽象的方式描述所需的功能,并自动分析和插入实现细节。库/IP技术将预先设计好的低抽象级实现用于高级。测试/验证技术确保每级功能正确,减少各级之间反复设计的成本。

  下面我们先来介绍一些基本的开发流程.

嵌入式系统开发的流程和提升可靠性的七大技巧

  嵌入式系统开发流程

  第一步:建立开发环境

  操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;

  第二步:配置开发主机

  配置MINICOM,一般的参数为波特率115200 Baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

  第三步:建立引导装载程序BOOTLOADER

  从网络上下载一些公开源代码的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如,三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的烧写程序,可以在网上下载相应的烧写程序,也有Linux下的公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。

  第四步:下载已经移植好的Linux操作系统

  如MCLiunx、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。

  第五步:建立根文件系统

  下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs等工具产生烧写映像文件。

  第六步:建立应用程序的FLASH磁盘分区

  一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR型)512KB~32MB,有的系统使用非线性FLASH(NAND型)8MB~512MB,有的两个同时使用,需要根据应用规划FLASH的分区方案。

  第七步:开发应用程序

  可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μC/OS-II的方式。

  第八步:烧写内核

  根文件系统和应用程序,发布产品。

  推荐阅读:嵌入式系统开发实践经验分享

  提升可靠性的七大技巧

  从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。本文介绍了7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。
 

嵌入式系统开发的流程和提升可靠性的七大技巧

  技巧1——用已知值填充ROM

  软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生!发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。

  不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。

  技巧2——检查应用程序的CRC

  对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Checksum),从而根据这个校验和验证应用程序是否完好。有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。

  然而,如果CRC或校验和保持在内存中,那么验证应用程序在启动时(或甚至对长时间运行的系统定期验证)是否仍然完好是确保意外之事不会发生的极好途径。现在一个编程过的应用程序发生改变的概率是很小的,但考虑每年交付的数十亿个微控制器以及可能恶劣的工作环境,应用程序崩溃的机会并不是零。更有可能的是,系统中的一个缺陷可能导致某一扇区发生闪存写入或闪存擦除,从而破坏应用程序的完整性。

  技巧3——在启动时执行RAM检查

  为了建立一个更加可靠和扎实的系统,确保系统硬件正常工作非常重要。毕竟硬件会发生故障。(幸运的是软件永远不会发生故障,软件只会做代码要它做的事,不管是正确的还是错误的)。在启动时验证RAM的内部或外部没有问题,是确保硬件可以如预期般运作的一个好方法。

  有许多不同的方法可用于执行RAM检查,但常用的方法是写入一个已知的模式,然后等上一小段时间再回读。结果应该是所读就是所写。真相是,在大多数情况下RAM检查是通过的,这也是我们想要的结果。但也有极小的可能性检查不通过,这时就为系统标示出硬件问题提供了极好的机会。

  技巧4——使用堆栈监视器

  对许多的嵌入式开发者而言,堆栈似乎是一股相当神秘的力量。当奇怪的事情开始发生,工程师终于被难倒了,他们开始思考,也许堆栈中发生了什么事。结果是盲目地调整堆栈的大小和位置等等。但该错误往往是与堆栈无关的,但怎能如此确定?毕竟,有多少工程师真的实际执行过最坏情况下的堆栈大小分析?

  堆栈大小是在编译时就静态分配好的,但堆栈是以动态的方式使用的。随着代码的执行,应用程序需要的变量、返回的地址和其它信息被不断存储在堆栈中。这种机制导致堆栈在其分配的内存中不断增长。然而,这种增长有时会超出编译时确定的容量极限,导致堆栈破坏相邻内存区域的数据。

  绝对确保堆栈正常工作的一种方法是实现堆栈监视器,将它作为系统“保健”代码的一部分(有多少工程师会这样做?)。堆栈监视器会在堆栈和“其它”内存区域之间创建一个缓冲区域,并填充已知的位模式。然后监视器会不断的监视图案是否有任何变化。如果该位模式发生了改变,那就意味着堆栈增长得太大了,即将要把系统推向黑暗地狱!此时监视器可以记录事件的发生、系统状态以及任何其它有用的数据,供日后用于问题的诊断。

  大多数实时操作系统(RTOS)或实现了内存保护单元(MPU)的微控制器系统中都提供有堆栈监视器。可怕的是,这些功能默认都是关闭状态,或者经常被开发人员有意关闭。在网络上快速搜寻一下可以发现,很多人建议关闭实时操作系统中的堆栈监视器以节省56字节的闪存空间。等等,这可是得不偿失的做法!

  技巧5 - 使用MPU

  在过去,是很难在一个小而廉价的微控制器中找到内存保护单元(MPU)的,但这种情况已经开始改变。现在从高端到低端的微控制器都已经有MPU,而这些MPU为嵌入式软件开发人员提供了一个可以大幅提高其固件(firmware)鲁棒性(robustness)的机会。

  MPU 已逐渐与操作系统耦合,以便建立内存空间,其中的处理都分开,或任务可执行其代码,而不用担心被stomped on。倘若真有事情发生,不受控制的处理会被取消,也会执行其他的保护措施。请留意带有这种组件的微控制器,如果有,请多加利用它的这种特性。

  技巧6 - 建立一个强大的看门狗系统

  你经常会发现的一种总是最受喜爱的看门狗(watchdog)实现是,在看门狗被启用之处(这是一个很好的开始),但也是可以用周期性定时器将该看门狗清零之处;定时器的启用是完全与程序中出现的任何情况隔离的。使用看门狗的目的是协助确保如果出现错误,看门狗不会被清零,即当工作暂停,系统会被迫去执行硬件重设定(hardware reset),以便恢复。使用与系统活动独立的定时器可以让看门狗保持清零,即使系统已失效。

  对应用任务如何整合到看门狗系统中,嵌入式开发人员需要仔细考虑和设计。例如,有种技术可能可以让每个在一定时期内运行的任务标示它们可以成功地完成其任 务。在此事件中,看门狗不被清零,强制被复位。还有一些比较先进的技术,像是使用外部看门狗处理器,它可用来监视主处理器如何表现,反之亦然。

  对一个可靠的系统而言,建立一个强大的看门狗系统是很重要的。由于有太多的技术,难以在这几个段落中完全涵盖,但针对此一议题,笔者未来还会发表相关的文章。

  技巧7 - 避免易失存储器分配

  不习惯在资源有限环境下工作的工程师,可能会试图使用其编程语言的特性,这种语言让他们可以使用易失存储器分配。毕竟,这是一种常在计算器系统中使用的技术,在计算器系统中,只有在有必要时,内存才会被分配。例如,以C开发时,工程师可能倾向于使用malloc来分配在堆(heap)上的空间。有一个操 作会执行,一旦完成,可以使用free将被分配的内存返回,以便堆的使用。

  在资源受限的系统,这可 能是一场灾难!使用易失存储器分配的其中一个问题是,错误或不当的技术可能会导致内存泄漏或内存碎片。如果出现这些问题时,大多数的嵌入式系统并没有 资源或知识来监视堆或妥善地处理它。而当它们发生时,如果应用程序提出对空间的要求,但却没有所请求的空间可以使用,会发生什么事呢?

  使用易失存储器分配所产生的问题是很复杂的,要妥善处理这些问题,可以说是一个噩梦!一种替代的方法是,直接以静态的方式,简化内存的分配。例如,只要在 程序中简单地建立一个大小为256字节长的缓冲区,而不是经由malloc请求这样大小的内存缓冲区。此一分配的内存可在整个应用程序的生命周期期 间保持,且不会有堆或内存碎片问题方面的顾虑。
 

嵌入式系统开发的流程和提升可靠性的七大技巧

  嵌入式软件可靠性设计注意的问题

  嵌入式软件的最大特点是以控制为主,软硬结合的较多,功能性的操作较多,模块相互间调用的较多,外部工作环境复杂容易受到干扰或干扰别的设备,且执行错误的后果不仅仅是数据错误而是有可能导致不可估量的灾难,所以总结起来,嵌入式软件可靠性设计需注意的问题有四个方面:

  1、软件接口

  2、软硬件接口

  3、软件代码

  4、数据、变量

  详细阅读请点击:嵌入式软件可靠性设计注意的问题

  结论

  这些都只是一些可以让开发人员开始建立更可靠嵌入式系统的方法。另外还有很多其他技术,例如利用良好的编码标准、位翻转的监测、执行数组和指针边界检查,及使用断言等。所有这些技术都是让设计者可以开发出可靠性更高嵌入式系统的秘诀。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

一文看懂嵌入式app和开发式app的区别是什么

传统意义上来说,APP这个简写的英文名称之所以会如此流行,主要是因为移动互联网的快速崛起。移动互联网...

发表于 2018-04-04 09:38 44次阅读
一文看懂嵌入式app和开发式app的区别是什么

低成本开发系统现在正处于物联网期望膨胀峰值期

预测物联网平台将在一年内充斥大众市场,在接下来的二至五年内,差异化或专业化的高精度传感器和模拟信号链...

发表于 2018-04-04 09:04 387次阅读
低成本开发系统现在正处于物联网期望膨胀峰值期

物联网连接、处理、感应和安全功能于一身

一款简化物联网(IoT)产品设计的一体化软件工具套件。全新ModusToolbox™套件在业界熟悉且...

发表于 2018-04-04 08:48 496次阅读
物联网连接、处理、感应和安全功能于一身

嵌入式STM32F412擦除内部FLASH时间过长

发表于 2018-04-03 13:24 120次阅读
嵌入式STM32F412擦除内部FLASH时间过长

对于刚入门ARM嵌入式的一些建议

对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式.

发表于 2018-04-03 11:36 70次阅读
对于刚入门ARM嵌入式的一些建议

考一考你!这三道嵌入式Linux题你会吗?来做一...

题一: 解释命令ls -a | more具体含义. 思考过后,再到下方寻找答案 题二: GCC -g...

发表于 2018-04-03 11:22 47次阅读
考一考你!这三道嵌入式Linux题你会吗?来做一...

嵌入式选择用C语言开发的原因

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传...

发表于 2018-04-03 10:54 52次阅读
嵌入式选择用C语言开发的原因

【寻找IoT达人 第一期】LiteOS对接云平台,报名开启!

发表于 2018-04-03 10:21 106次阅读
【寻找IoT达人 第一期】LiteOS对接云平台,报名开启!

12种最热门的开源项目,你都知道哪些?

GitHub 上最热门的开源项目有哪些,又有哪些新的项目挤进热门榜单了呢,一起来看看。

发表于 2018-04-03 08:38 808次阅读
12种最热门的开源项目,你都知道哪些?

采用Zynq UltraScale+MPSoC进...

ZCU104 评估套件可帮助设计人员为监控、高级驾驶员辅助系统 (ADAS)、机器视觉、增强实境 (...

发表于 2018-04-03 08:30 737次阅读
采用Zynq UltraScale+MPSoC进...

AMD不断扩展ZEN架构处理器平台

在此基础上,AMD公司下一里程碑事件就是把目前建立的这些优势和能力,包括刚才讲到基于ZEN架构处理器...

发表于 2018-04-02 09:38 152次阅读
AMD不断扩展ZEN架构处理器平台

系统关键技术通用评估平台,轻松集成FPGA设计

系统设计有时十分复杂,需要充分了解许多不同的元件,如果解决方案的各环节可以进行原型制作并快速演示,就...

发表于 2018-04-02 09:33 768次阅读
系统关键技术通用评估平台,轻松集成FPGA设计

学习嵌入式应用层开发的几大阶段

变成高手,你还要进一步学习内核和系统,内容包括计算机系统结构和汇编,linux内核编程,linux内...

发表于 2018-04-02 09:17 135次阅读
学习嵌入式应用层开发的几大阶段

2018中国IC领袖峰会纪实报道:在AI时代,中...

从制造能力来说,中国半导体制造和国外还存在1到2代的差距。这也是中国IC设计业主要使用外部资源的原因...

发表于 2018-04-02 08:56 251次阅读
2018中国IC领袖峰会纪实报道:在AI时代,中...

自制物联网智能设备-手机远程控制两路电机的转向和...

导读: 利用物联网开关与51单片机通信,然后控制两个电机的转向和转速。 01准备材料 物联网开关、5...

发表于 2018-04-01 09:11 52次阅读
自制物联网智能设备-手机远程控制两路电机的转向和...

使用FreeRTOSViewer跟踪调试Free...

本文介绍一种基于 MPLAB X IED+Harmony 下使用 FreeRTOSViewer 工具...

发表于 2018-04-01 08:19 915次阅读
使用FreeRTOSViewer跟踪调试Free...

Linux设备驱动程序与编写应用程序的本质区别

Linux驱动程序的开发与应用程序的开发有很大的区别。

发表于 2018-03-31 08:18 880次阅读
Linux设备驱动程序与编写应用程序的本质区别

一文看懂嵌入式系统的设计与调试

嵌入式射频系统 基本上今天的每一个电子产品都是一个嵌入系统,小到电子表,大到各种复杂的控制系统。 嵌...

发表于 2018-03-31 06:43 141次阅读
一文看懂嵌入式系统的设计与调试

stm32如何制作一个读取U盘文件系统的工程

发表于 2018-03-30 15:29 235次阅读
stm32如何制作一个读取U盘文件系统的工程

用CD4060制作看门狗报警电路

本文主要介绍了用CD4060制作看门狗报警电路。看门狗定时器(WDT,WatchDogTimer)是...

发表于 2018-03-30 14:52 203次阅读
用CD4060制作看门狗报警电路

嵌入式操作系统都基于GCC进行源码编译

系统头文件是指C语言本身和操作系统相关的头文件。在使用-v选项获取系统头文件路径时,必须后面带一个有...

发表于 2018-03-30 13:57 76次阅读
嵌入式操作系统都基于GCC进行源码编译

为5G做好准备,两种5G技术的故事

“5G代表了自动驾驶体验所需的基础技术,”联电公司(UMC)市场部副总裁Steven Liu表示。 ...

发表于 2018-03-29 15:47 220次阅读
为5G做好准备,两种5G技术的故事

嵌入式STM32F030低温下RTC不工作

发表于 2018-03-29 15:01 264次阅读
嵌入式STM32F030低温下RTC不工作

基于TCP通信协议进行嵌入式系统在线升级

嵌入式系统的运行主要分为工作模式和升级模式,其中工作模式为默认模式,工作模式指设备正常工作状态,嵌入...

发表于 2018-03-29 14:39 45次阅读
基于TCP通信协议进行嵌入式系统在线升级

Java、云计算、嵌入式等史上最全技术知识图谱秘...

28张,张张经典、实用、全面,比如Java架构师图谱,微服务架构秘籍,阿里巴巴常用小框架等等。

发表于 2018-03-29 14:18 327次阅读
Java、云计算、嵌入式等史上最全技术知识图谱秘...

STM32内存管理以及STM32中的堆栈

这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但是还有两...

发表于 2018-03-29 13:45 260次阅读
STM32内存管理以及STM32中的堆栈

基于ARM-Linux架构的远程可控电源插座设计...

光电耦合器选用MOC3062,它集光电隔离、过零检测和过零触发为一体,可以自动检测交流电压的过零...

发表于 2018-03-29 13:43 76次阅读
基于ARM-Linux架构的远程可控电源插座设计...

嵌入式系统的发展趋势及挑战

消费家电的智能化,为嵌入式系统的发展展现出美好的市场前景,也对嵌入式系统提出新的发展要求;微电子技术...

发表于 2018-03-29 11:24 115次阅读
嵌入式系统的发展趋势及挑战

儒卓力首次到深圳参展业界盛事CITE 2018

全球电子元器件分销商兼亚洲电子供应链中的知名厂商儒卓力(Rutronik Elektronische...

发表于 2018-03-28 14:45 944次阅读
儒卓力首次到深圳参展业界盛事CITE 2018

stm32之串口工作在DMA模式下有时接收异常

发表于 2018-03-28 13:32 287次阅读
stm32之串口工作在DMA模式下有时接收异常

嵌入式神经网络赋予人工智能视觉、听觉和分析能力

随着专用的处理器和软件的崛起,为开发具备人工智能的嵌入式系统敞开了大门。

发表于 2018-03-28 10:22 601次阅读
嵌入式神经网络赋予人工智能视觉、听觉和分析能力

单片机到嵌入式操作系统应用分析

由于Windows CE操作系统几乎完全是用C语言编写的,所以可移植到众多的32位微处理器上;支持各...

发表于 2018-03-28 09:50 97次阅读
单片机到嵌入式操作系统应用分析

关于早期雷达发射机故障隔离的嵌入式系统设计

早期雷达发射机一般采用单级振荡式结构,包括定时器、脉冲调制器、射频产生器3个单元。单级振荡式发射机的...

发表于 2018-03-28 09:47 123次阅读
关于早期雷达发射机故障隔离的嵌入式系统设计

嵌入式USB主机系统设计

本论文设计了一种嵌入式USB主机系统,并完成了该系统的硬件和固件的实现和调试。为了验证系统,实现了打...

发表于 2018-03-27 10:43 79次阅读
嵌入式USB主机系统设计

学嵌入式能不能只用C写程序?

想深入链接C语言的函数是如何调用的,参数是如何传递的,想了解指针的本质、函数名的本质,就要深入汇编级...

发表于 2018-03-26 08:34 182次阅读
学嵌入式能不能只用C写程序?

嵌入式Wi-F的来源以及与普通Wi-Fi的区别

现在我们可以这样来看,从硬件层面上看,WIFI设备与CPU通信是通过USB接口的,与其他WIFI设备...

发表于 2018-03-24 11:18 1471次阅读
嵌入式Wi-F的来源以及与普通Wi-Fi的区别

CAN总线实现分布式嵌入式系统在线升级

嵌入式系统具有智能化程度高、体积小、可靠性高、实时性强等诸多优点,已经越来越多地应用于消费电子、工业...

发表于 2018-03-24 10:59 117次阅读
CAN总线实现分布式嵌入式系统在线升级

基于CK802安全内核开发出面向物联网安全的商业...

中天微积极布局AI领域的嵌入式CPU IP研发与推广,其针对AI领域的新一代CPU内核系列将于近期推...

发表于 2018-03-24 10:27 430次阅读
基于CK802安全内核开发出面向物联网安全的商业...

A TA 标准对IDE 硬盘接口的详细描述

硬盘接口结构主要分I/O 控制层和逻辑映射层。其中I/O 控制层包括与ARM 的物理接口, 实现对硬...

发表于 2018-03-24 10:16 67次阅读
A TA 标准对IDE 硬盘接口的详细描述

微程序控制器的结构及嵌入式FPU微指令控制模块设...

本微指令控制器的存储模块,有8bit地址输入和64位数据输出用于管理和控制整个FPU工作。64位微指...

发表于 2018-03-24 10:01 113次阅读
微程序控制器的结构及嵌入式FPU微指令控制模块设...

嵌入式Linux内存管理的一些知识点总结

发表于 2018-03-24 09:31 191次阅读
嵌入式Linux内存管理的一些知识点总结

系统软件"看门狗"的设计思路

看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗(kickin...

发表于 2018-03-24 09:05 582次阅读
系统软件"看门狗"的设计思路

学习嵌入式Linux内存管理的知识

malloc实际上,并不是用户调用malloc后马上对物理地址与虚拟地址之间进行映射,只有在用户对...

发表于 2018-03-23 13:35 245次阅读
学习嵌入式Linux内存管理的知识

整理总结一份属于自己的编码风格

· Lib:引用的库文件。 一个工程一定要包含一个main.c文件,只用来存放main函数。其余函...

发表于 2018-03-23 11:48 206次阅读
整理总结一份属于自己的编码风格

嵌入式Linux开发工程师的成长过程

系统工程师夹在驱动工程师及应用工程师这两个层次之间,他要对系统有一个整体的概念,系统主要是指操作系统...

发表于 2018-03-23 11:39 297次阅读
嵌入式Linux开发工程师的成长过程

江湖流传的“ EtherCAT技术武林会 ”

发表于 2018-03-23 11:25 163次阅读
江湖流传的“ EtherCAT技术武林会 ”

移动和嵌入式设备上也能直接玩机器学习?

最近,机器学习(ML)话题大热,Arm也推出神经网络机器学习软件 Arm NN。这是一项关键技术,可...

发表于 2018-03-22 16:36 555次阅读
移动和嵌入式设备上也能直接玩机器学习?

嵌入式Linux工具之GCC常用编译选项

“-I dir”选项可以在头文件的搜索路径列表中添加 dir 目录。由于 Linux 中头文件都默认...

发表于 2018-03-22 11:16 256次阅读
嵌入式Linux工具之GCC常用编译选项

开发板设计中CMOS输入可能发生的耗电问题

想象CMOS输入属于一个栅极驱动器的情况,该栅极驱动器控制一个高功率MOSFET/IGBT,后者在应...

发表于 2018-03-22 09:09 1234次阅读
开发板设计中CMOS输入可能发生的耗电问题

熟悉开发板和体验

发表于 2018-03-21 10:34 313次阅读
熟悉开发板和体验

开发高可靠性嵌入式系统的7个易操作且可以长久使用...

对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Che...

发表于 2018-03-21 08:37 1137次阅读
开发高可靠性嵌入式系统的7个易操作且可以长久使用...

一位嵌入式工程师写给女友的情书

发表于 2018-03-20 17:25 361次阅读
一位嵌入式工程师写给女友的情书

CX5010嵌入式控制器:高性能,多接口

在控制方面,华恒公司全面应用了Beckhoff的自动化产品:整个工厂都配备了用于控制的面板型PC和...

发表于 2018-03-20 16:31 380次阅读
CX5010嵌入式控制器:高性能,多接口

嵌入式Linux的入门,开发嵌入式需要大量辅助软...

熟练掌握C/C++,熟悉Linux/Windows操作系统,对于OS的软、硬件资源的分配、任务调度,...

发表于 2018-03-20 11:37 431次阅读
嵌入式Linux的入门,开发嵌入式需要大量辅助软...

约会“可交互的高端物联网嵌入式平台——QFN-3...

作者:上海润欣科技股份有限公司创研社 导语 QFN-3由Fortune、NXP、Qualcomm共同...

发表于 2018-03-20 09:49 243次阅读
约会“可交互的高端物联网嵌入式平台——QFN-3...

【转】基于嵌入式LINUX开发流程和步骤

发表于 2018-03-19 21:15 307次阅读
【转】基于嵌入式LINUX开发流程和步骤

使用MaxCompute阿里大数据计算方法详解

基于MaxCompute搭建社交好友推荐系统,使用MaxCompute阿里的大数据计算的方法可以做哪...

发表于 2018-03-19 09:53 1171次阅读
使用MaxCompute阿里大数据计算方法详解

Linux驱动工程面试必问知识点

一看就知道,找工作用的,主要想从事驱动方面的开发工作,当然追求linux的道路还很漫长,先说说面试,...

发表于 2018-03-17 10:09 597次阅读
Linux驱动工程面试必问知识点

MicroBlaze软核处理器简介

MicroBlaze 是高度可配置的 IP 核,支持 70 多种配置选项。一些重要的配置选项为指令/...

发表于 2018-03-16 16:10 426次阅读
MicroBlaze软核处理器简介

AMD嵌入式发力边缘计算

自2016年开始,一条沉睡的巨龙 AMD 开始慢慢苏醒。也正是因为GPU时代的到来,让AMD在过去一...

发表于 2018-03-16 15:15 91次阅读
AMD嵌入式发力边缘计算

基于Au1200的嵌入式媒体播放器实现

(1)未来PMP将会增加硬件编码功能,配合摄像头,PMP将实现拍照和摄像功能;配合TV接收模块,可以...

发表于 2018-03-16 14:40 224次阅读
基于Au1200的嵌入式媒体播放器实现

基于LPC2368嵌入式的软件设计

为了能让学生充分接触到ARM板的硬件设计,更好的实现教学目的,该实验平台采用核心板和扩展板硬件分离设...

发表于 2018-03-16 11:56 133次阅读
基于LPC2368嵌入式的软件设计

成为一个正式的嵌入式开发工程师,需要知道的嵌入式...

成为一个正式的嵌入式开发工程师。它是一个艰辛的过程,需要开发人员维护和管理系统的每个比特和字节。从规...

发表于 2018-03-16 11:34 489次阅读
成为一个正式的嵌入式开发工程师,需要知道的嵌入式...

嵌入式Linux驱动开发基础总结(下篇)

14, 字符设备驱动程序设计基础主设备号和次设备号(二者一起为设备号): 一个字符设备或块设备都有一...

发表于 2018-03-15 09:17 400次阅读
嵌入式Linux驱动开发基础总结(下篇)

嵌入式Linux驱动开发基础总结(上篇)

1, linux驱动一般分为3大类:* 字符设备 * 块设备 * 网络设备2, 开发环境构建:* 交...

发表于 2018-03-15 09:14 534次阅读
嵌入式Linux驱动开发基础总结(上篇)

感受智能汽车世界的最新科技是多么酷炫

慕展作为行业盛会,果然名不虚传,现场人头攒动,十分热闹!随着汽车的大量普及,人们对车辆的智能性以及安...

发表于 2018-03-15 09:08 608次阅读
感受智能汽车世界的最新科技是多么酷炫

硬件仿真如何让嵌入式系统便宜可靠?看完懂了~

在当今竞争激烈的形势下,使富含嵌入式软件的复杂电子设备更快面市,但是同时确保其更便宜更可靠,是一种相...

发表于 2018-03-14 17:07 1717次阅读
硬件仿真如何让嵌入式系统便宜可靠?看完懂了~

低功耗嵌入式供水终端漏水监测系统及组网设计

监控节点主要包括嵌入式工控模板、超声流量检测模块、热释电人体探测模块、无线收发电路、声光报警电路、电...

发表于 2018-03-14 14:10 240次阅读
低功耗嵌入式供水终端漏水监测系统及组网设计

与一线Linux嵌入式开发工程师的对话

陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,...

发表于 2018-03-14 07:43 311次阅读
与一线Linux嵌入式开发工程师的对话

相对于互联网而言,物联网的本质在于“万物相连”

在最低层的硬件平台之上,有物联网操作系统内核和外围功能模块,加上集成开发环境,这些子系统之间相互配合...

发表于 2018-03-13 10:09 675次阅读
相对于互联网而言,物联网的本质在于“万物相连”

Qualcomm扩展嵌入式计算产品组合将顶级处理...

2018年2月21日,圣迭戈——QualcommIncorporated(NASDAQ: QCOM)...

发表于 2018-03-13 09:56 74次阅读
Qualcomm扩展嵌入式计算产品组合将顶级处理...

瑞萨Renesas Synergy™ 一站式解...

Renesas Synergy™ 平台的完整一站式解决方案和Synergy™ Gallery,不仅有...

发表于 2018-03-12 14:45 547次阅读
 瑞萨Renesas Synergy™ 一站式解...

嵌入式硬件工程师的年终总结:生活虐我千百遍,我待...

又到年底总结了,我自问:2017年,你成长了吗?去年九月,我以年轻还有无限可能的名义来到了北京,我觉...

发表于 2018-03-12 10:33 479次阅读
嵌入式硬件工程师的年终总结:生活虐我千百遍,我待...

操作系统的内核都是用C语言写的_这不全是嵌入式选...

以一个人从A地到B地为例,面向过程就是需要规划路线,了解路况,自己做好一系列的准备;而面向对象就是坐...

发表于 2018-03-11 20:03 286次阅读
操作系统的内核都是用C语言写的_这不全是嵌入式选...

嵌入式系统知识和接口技术总结

从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式...

发表于 2018-03-10 10:40 527次阅读
嵌入式系统知识和接口技术总结

一位以linux为例的嵌入式大神的学习心得总结(...

嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、...

发表于 2018-03-09 16:27 477次阅读
一位以linux为例的嵌入式大神的学习心得总结(...

20年经验的电子总工程师回忆录之让项目陷入僵局的...

硬件团队首先排查了可能存在制程问题,通过目视检查和X-ray照射,未发现明显异常;全面监测复位、供电...

发表于 2018-03-09 15:50 653次阅读
20年经验的电子总工程师回忆录之让项目陷入僵局的...

指纹识别在嵌入式IoT系统中的实现和设计要点

作者:上海润欣科技股份有限公司创研社 前言 随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多...

发表于 2018-03-09 10:08 822次阅读
指纹识别在嵌入式IoT系统中的实现和设计要点

嵌入式操作系统是单片机程序员深造的必选之路

发表于 2018-03-07 20:35 714次阅读
嵌入式操作系统是单片机程序员深造的必选之路

廉价“看门狗”设计(施密特触发器)

电路,与人们熟识的“看门狗”电路不同,其间没有振荡电路。图中门c、C3起隔离作用,门c的输入端可以与...

发表于 2018-03-06 10:19 142次阅读
廉价“看门狗”设计(施密特触发器)

三种常见嵌入式设备通信协议

嵌入式设备与PC通讯的通信协议设计经验 嵌入式设备在运行中需要设置参数,这个工作经常由PC机来实现。

发表于 2018-03-06 10:06 811次阅读
三种常见嵌入式设备通信协议

关于看门狗的作用与相关实验

有些看门狗需要用软件设置或启动,因此启动失败后,初始化程序没有激活,CPU可能跳转到随机代码,使看门...

发表于 2018-03-06 10:03 81次阅读
关于看门狗的作用与相关实验

还不错!装有移动设备和嵌入式设备的神经网络机器学...

Arm宣布推出神经网络机器学习(ML) 软件 Arm NN,这只是第一步,我们还计划添加其他高级神经...

发表于 2018-03-06 09:26 440次阅读
还不错!装有移动设备和嵌入式设备的神经网络机器学...

基于VxWorks的看门狗定高效定时机制设计实现

VxWorks提供了一个看门狗定时器(watchDog timer),它由以下四个函数维护: ...

发表于 2018-03-06 09:22 143次阅读
基于VxWorks的看门狗定高效定时机制设计实现

多任务看门狗监控原理和实现

把uC/OS-II操作系统移植到LPC2132的开发板中。LPC2132 是一个支持实时仿真和跟踪的...

发表于 2018-03-06 09:19 100次阅读
多任务看门狗监控原理和实现

基于AVR看门狗的Reset程序范例解读

就象是监视程序执行的保安一样, 程序正常执行时会在他的益处时间之内给他一 个复位信号,当程序跑飞的时...

发表于 2018-03-06 08:42 79次阅读
基于AVR看门狗的Reset程序范例解读

网民对嵌入的了解

人觉得其实互联网中真正有技术含量的就是后台开发,包括集群架构与优化,分布式系统和云计算等,

发表于 2018-03-05 16:28 93次阅读
网民对嵌入的了解

三道嵌入式Linux复习题

题一:在大多数linux发行版本中,以下哪个属于块设备 (block devices) ? a....

发表于 2018-03-05 15:28 122次阅读
三道嵌入式Linux复习题

《通过SensorTile了解嵌入式系统》

SensorTile包括5个实用的MEMS传感器,

发表于 2018-03-05 14:32 139次阅读
《通过SensorTile了解嵌入式系统》

嵌入式Linux内核编译步骤和经验

不过这应该也不是必须的,因为我在我的Fedora 13上(其自带的内核版本是2.6.33.3),就下...

发表于 2018-03-05 14:26 615次阅读
嵌入式Linux内核编译步骤和经验

嵌入式的由来和发展

对嵌入式的发展起到至关重要的人物Jim Ready

发表于 2018-03-05 13:49 168次阅读
嵌入式的由来和发展

嵌入式驱动的构造分析总结

在Linux系统上编写驱动程序,说简单也简单,说难也难。难在于对算法的编写和设备的控制方面,是比较让...

发表于 2018-03-03 09:23 524次阅读
嵌入式驱动的构造分析总结

嵌入式开发中可能会碰到的一些问题

1、单片机等小的外部总线单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT...

发表于 2018-03-02 14:04 535次阅读
嵌入式开发中可能会碰到的一些问题

嵌入式Linux复习题精华

题一: led驱动编写有几种方式?思考过后,再到下方寻找答案 题二: bootloader和uboo...

发表于 2018-03-02 11:21 440次阅读
嵌入式Linux复习题精华

嵌入式硬件电路设计基础知识梳理

今天就说说硬件电路设计方面的几个注意事项,首先,咱们了解下嵌入式的硬件构架。

发表于 2018-03-01 15:16 530次阅读
嵌入式硬件电路设计基础知识梳理

资料下载:嵌入式系统设计师考试笔记(非常全面)

嵌入式系统设计师的一天考试分为上午和下午部分,两部分的考试方式、试题难度、考点分布和复习方法都是不同...

发表于 2018-03-01 14:19 762次阅读
资料下载:嵌入式系统设计师考试笔记(非常全面)

一文了解stm32使用DMA模块的相关操作

CPU最重要的工作室进行数据运算,从加减乘除到一些高级的运算,包括浮点、积分、微分、FFT等。CPU...

发表于 2018-02-27 11:18 3293次阅读
一文了解stm32使用DMA模块的相关操作

你知道嵌入式c中各变量存储位置吗

在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: ...

发表于 2018-02-24 13:53 705次阅读
你知道嵌入式c中各变量存储位置吗

如何定制嵌入式Linux发行版

便宜的物联网板的普及意味着它不仅会控制应用程序,还会控制整个软件平台。 那么,如何构建一个针对特定用...

发表于 2018-02-24 10:37 385次阅读
如何定制嵌入式Linux发行版

嵌入式设计开发中的常见问题小总结

单片机等小的外部总线单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT显示...

发表于 2018-02-24 10:23 1396次阅读
嵌入式设计开发中的常见问题小总结