浅谈在的应用编程技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈在的应用编程技术

浅谈在的应用编程技术   摘 要:对离线编程、在系统编程(In System Programming)以及在应用编程(In Application Programming)进行了说明,详细介绍了AVR单片机Atmega64以及DSP芯片TMS320F206的在应用编程使用情况,对采用独立FLASH芯片作为程序存储器的产品如何使用在应用编程技术进行了探讨。   关键词:离线编程;ISP在系统编程;IAP在应用编程   1 引言   伴随着数字技术的发展,单片机、DSP等CPU芯片的编程技术也有了较大的发展,从最早的离线编程技术发展到ISP在系统编程技术继而发展到IAP在应用编程技术,对于在保持产品完整性的前提下修复产品致命缺陷以及产品的维护完善带来了极大的方便,本文对IAP在应用编程技术进行了探讨。   2 概述   离线编程,就是将需要写入程序的单片机或是DSP芯片取出系统,由外部编程设备进行程序的擦除与写入。写入完毕后再将写好的芯片装回系统使用。ISP在系统编程技术就是在系统上预留出对芯片进行擦除与写入的接口,因此,在修改芯片内部程序时,不需要将芯片从系统取出,只要将外部编程设备连接上预留的编程接口,即可对芯片内部程序进行修改。IAP在应用编程是通过在芯片内部执行一段相应的代码来对芯片的程序存储器进行擦除与写入的技术,该技术无需将芯片从系统中取出,也无需预留固定的专用编程接口,只需借助产品自身与外部的通讯接口(串口,网口,USB,蓝牙,红外等等)擦除写入即可。   3 在应用编程的应用   3.1 AVR单片机Atmega64的在应用编程应用   3.1.1 Atmega64在应用编程硬件支持   Atmega64单片机内部有容量64K字节的FLASH存储器,分为引导加载(boot loader) 程序区和应用(application)程序区,在引导加载程序区的程序代码可以对整个flash程序区(包括应用程序区和引导加载程序区)进行擦除及写入的操作。通过设置内部熔丝可以配置引导加载程序区最小为512字空间,最大为4K字空间。   3.1.2 Atmega64在应用编程软件编写相关寄存器   3.1.2.1 SPMCR(Store Program Memory Control Register)储存程序存储器控制寄存器   该寄存器用于进行FLASH的相关命令操作。SPMCR定义见图1。   第2位PGWRT:按页写入命令位,该位与SPMEN位同时写入1后的四个时钟周期内,调用汇编spm指令将把存储在当前页临时缓存中的数据写入当前FLASH页,页地址由Z指针中获得。当写入操作完成后,该位自动清0。   第1位PGERS:按页擦除命令位,该位与SPMEN位同时写入1后的四个时钟周期内,调用汇编spm指令将把当前FLASH页进行擦除操作,页地址由Z指针中获得。当擦除操作完成后,该位自动清0。   第0位SPMEN:储存程序存储器使能位,该位置位后,四个时钟周期内使能spm指令,如果该位置位的同时写入命令位或者擦除命令位同时置位,见上述写入命令位及擦除命令位说明。如果只有该位置位,spm指令将把R1、R0辅助寄存器中数据拷贝到当前页临时缓存中,当前页地址由Z指针获得。命令执行完毕后,SPMEN位自动清零。   3.1.2.2 Z指针   Z指针中数据即为FLASH当前页地址,Z指针由辅助寄存器R31及R30组成,其定义见图2。   3.1.3 Atmega64在应用编程具体操作   Atmega64程序存储器在擦除及写入操作时采取页操作的方式,在对当前页进行编程前,先要对当前页进行擦除操作并将需要写入当前页的数据写入当前页缓存(写缓存和擦除操作顺序可互换),通过设置内部熔丝配置芯片上电时由引导加载程序区开始,本设计在引导程序中通过芯片自带的UART串行接口与上位机进行通讯获得程序代码并将代码写入到程序存储器的中完成程序的修改,引导加载软件流程示意图见图3。   3.2 DSP芯片TMS320F206的在应用编程应用   3.2.1 TMS320F206在应用编程硬件支持   TMS320F206内部有容量32K字的FLASH存储器,分为两块16K的扇区,每个扇区由FLASH存储器阵列、四个控制寄存器以及对FLASH进行写入和擦除的硬件电路组成,程序代码通过对FLASH控制寄存器进行操作即可对FLASH进行擦除及写入操作,但不能对程序代码自身所在扇区进行完整擦除及写入,以下提供了一种可对整个FLASH进行擦除及写入的方法。   3.2.2 TMS320F206在应用编程软件编写相关寄存器   3.2.2.1 SEG_CTR(Segment Control Register)段控制寄存

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档