新闻中心

EEPW首页>嵌入式系统>设计应用> 基于80C196KC与PSD4235G2在线编程的实现 (

基于80C196KC与PSD4235G2在线编程的实现 (

作者: 时间:2012-03-13 来源:网络 收藏

3IAP()设计
4235G22个内部寄存器:页寄存器(page)VM寄存器。8位的页寄存器可使的寻址 空间扩大256倍,他的内容可以由来读写。页寄存器可直接参与内部存储器 的地址选择,在作为页寻址时写入要访问的页地址,内部地址译码逻辑就立刻选中目标 存储器空间。另外,在页寄存器实现分页存储时,应该设置一个公共存储器区,即程序 在任何页面位置执行时都能访问到的空间(或者说是与页不相关的地址空间),用于放置 初始化程序、中断服务程序、页切换程序以及物理设备驱动程序等重要子程序。同样,重要 数据也应当在任何页都可以访问,例如PSD控制寄存器、I/O、用于保存堆栈和全局变量的系 RAM等。VM寄存器用来分开程序空间和数据空间,并把PSD4235G2中主Flash、次FlashSR AM 设置在不同空间。
在进行时,首先将PSD的次Flash存储器映射到的程序存储区,将PSD的主F lash存储器映射到的数据存储区, 系统从PSD的次Flash启动,执行引导/下载程序 ,如果需要的话从上位机下载程序到PSD的主Flash存储器;然后,再通过PSD中的VM寄存器 ,将主Flash存储器存储空间从数据存储区跳变到程序存储区,转而执行Flash存储器中的程 序,从而实现对原程序的升级。
系统的运行有2个基本模式:一个是引导/下载模式;另一个是正常运行模式。系统启动时从 引导/下载模式到正常运行模式转换过程中系统存储器的变化步骤为:
(1)上电时系统存储器映射
上电时系统开始执行次Flash中的程序,检查是否要通过对主Flash中的程序进行升级。 此时,PSD中主Flash存储器存储空间都处于MCU的数据空间,而次Flash存储空间则处于MCU 的程序空间。
(2)Flash存储空间从数据空间移至程序空间
在完成对Flash中程序升级或不需要升级时,写VM寄存器为06H,将主Flash的存储空间从MCU 的数据空间移到程序空间。
(3)切换主Flash和次Flash存储空间
MCUPSDFlash中运行程序跳到主Flash中的运行程序。在程序写1到‘swap’位(上电 时‘swap’的值是0)进行地址“切换”,程序就进入主Flash中运行了。
(4)Flash存储空间移至数据空间
程序已经在PSD的主Flash中运行,写0CHVM寄存器,把次Flash的存储空间从MCU的程序空 间移到数据空间。并且,MCU转跳到在PSD的主Flash的复位入口地址,用户的程序开始真正 执行。
用户程序启动模块的流程如图
3所示。

4结语
PSD4235G2的独特结构简化了硬件接口电路,为嵌入式MCU系统提供了简单灵活的解决方案。其IAP功能使产品可以在应用中编程和测试,并远程升级程序代码,缩短了产品开发周期, 降低了产品维护和升级成本,抢先占领市场。

参考文献

1]孙涵芳.Intel 16位单片机[M].北京:北京航空航天大学出版社 1999
2]刘复华.8*C196KX单片机及其应用系统设计[M].北京:清华大学出版社, 2002
3]孙涵芳.单片机现场可编程外围芯片PSD的原理及应用[M].北京:北京航 空航天大学出版社,1998
4]可编程单片及外围芯片技术手册.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭