网站设计嵌入式开发技巧

网站设计嵌入式开发技巧一-使用MPU

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

开发技巧

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

网站设计嵌入式开发技巧二-建立一个强大的看门狗系统

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

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

网站设计嵌入式开发技巧三-避免易失记忆体分配

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

在资源受限的系统,这可能是一场灾难!使用易失记忆体分配的其中一个问题是,错误或不当的科技可能会导致记忆体泄漏或记忆体碎片。如果出现这些问题时,大多数的嵌入式系统并没有资源或知识来监视堆或妥善地处理它。而当它们发生时,如果应用程序提出对空间的要求,但却没有所请求的空间可以使用,会发生什么事呢?使用易失记忆体分配所产生的问题是很复杂的,要妥善处理这些问题,可以说是一个噩梦!一种替代的方法是,直接以静态的管道,简化记忆体的分配。例如,只要在程式中简单地建立一个大小为256位元组长的缓冲区,而不是经由malloc请求这样大小的记忆体缓冲区。此一分配的记忆体可在整个应用程序的生命周期期间保持,且不会有堆或记忆体碎片问题方面的顾虑。

以上嵌入式开发的教程可以让开发科技的人员获取更好嵌入式系统的办法。所有这些科技都是让设计者可以开发出可靠性更高嵌入式系统的秘诀。

Top