内存技术对嵌入式自控系统产品的样机研制、生产和现场升级等都提供了诸多好处。系统内可编程isp节省了大量的时间,提供了更多的灵活性,并且消除了采用非易失存储器所固有的浪费。
自控系统开发商为满足日益高涨的用户需求,须加速新品的研制,同时还要解决ic供货、开发工具等诸多技术经济问题。为此,人们开始寻求简单、快捷、经济的技术解决方案。分析证明妙用存储技术,对系统开发商意义巨大。
系统内可编程(isp)设计可以极大的简化样机研制。传统方式人们需借助eprom来制造样机,程序员调试程序,需要反复的进行擦写工作,这个过程需花费4到5分钟以上的时间,给程序员带来了诸多不便。若我们对mcu预编程,设计人员可将待调试的程序下载到ram中进行调试工作,这样可省去反复擦写芯片之苦,加快了研发进程。
同时系统内可编程设计降低了研制费用。程序员借助mcu供应商提供的调试仿真工具,在调试中断、mcu外围ic时往往感到困难,高价购得的专用调试工具有时未能物尽其用;而且为了调试复杂的外围器件往往须单独做专门的实验板。系统内可编程技术允许程序员在装配结束后,在系统内编程,从而解决了上述问题,进而避免因rom编程造成不必要的时间和经济上的浪费。
借助系统内可编程设计,可以提供更为简易灵活的现场服务。任何系统都需要升级,也许是因为无法避免的程序中的“bug”, 也许是因为系统应用要求的改变,如被控对象变化进而要求变更控制策略。改程序就要替换器件或烧录程序,那将是一个成本高昂的方案。系统内可编程的程序存储方法消除了产品升级必须亲临现场的限制。产品可通过网络或电话线等媒介进行升级。
简言之,由ram和flash memory技术提供的系统内可编程的程序存储方法增加了设计的灵活性,而且降低了产品的研制、制造和现场升级的成本。
实现原理
微处理器在寻址方式上对于程序存储区和数据存储区不加以区分,使得系统内可编程(isp)可以直接实现。为了不烧录程序即可调试程序,须先将程序当做数据下载到指定的内存中去,一旦程序下载完毕,经校验正确,可下发命令控制mcu跳转到指定的ram区去执行待调试程序。在这里必须明确的一点是:以上所指的“指定的ram区”从系统程序的角度看实际是一段数据区,只不过它所存储的数据比较特殊,存储的是程序代码;从待调试程序的角度看,它是程序区。另外,我们可以设计一些辅助程序以实现变量跟踪、程序单步执行等调试功能。这样一来,可省去反复擦写芯片之苦,而且可方便的调试中断、mcu外围器件。
以上方案虽并非“raw chip”来实现isp/d,但现在推出的mcu往往采用了可串行编程的闪存,提供4引脚的jtag接口或串行编程接口,借助pc串口或专用固化器可方便的进行预编程工作。
在调试系统程序设计时,需着重考虑嵌入式系统的资源分配和任务调度,尤其在最终的系统中要考虑实现在线调试、修改程序以提供更为灵活的现场服务。