您的位置 首页 动态

FLASH__HCS12学习笔记(5)

昨天调了一天的FLASH擦写,到最后依旧没有调通,但是对FLASH的结构还总算有一定的了解了。我调的程序是北航出版社的《使用HCS12微控制器的

昨日调了一天的FLASH擦写,到最后仍旧没有调通,可是对FLASH的结构还总算有必定的了解了。我调的程序是北航出版社的《运用HCS12微操控器的规划与运用》这本书顺便光盘上的比如,程序好像没有问题,可是FLASH确实是擦不掉,串口回来的数据,每一页都相同,令人费解,而且假如我要读FLASH上的数据,就会灵程序报错中止,不知道是跑飞了仍是什么。也期望假如有相同问题的朋友能够一同评论评论。

下来罗列一些FLASH的根本概念,也算是温习一下。

这是HCS12内部地址的根本结构图,咱们能够看到榜首部分是寄存器,第二部分是EEPROM,第三部分是RAM,第四部分便是FLASH了,这部分是不分页时咱们能够拜访到的FLASH,第五部分是扩展的FLASH,这部分需求分页拜访,DG128中有38,39,3a,3b,3c,3d,3e,3f这几个部分,而DP256中还包括了30~37这些页都有用,第六部分是别的的固定FLASH地址。

这么来说,$4000–$FFFF间的存储数据是能够拜访的。
•由于Flash 模块的地址规模超出了 HCS12 的64K (16-bit)地址空间,所以从 $8000–$BFFF被映射到若干16K字节巨细的页框中。 由PPAGE寄存器决议在当时拜访的是哪一页。
•$8000 – $BFFF间共有64个可拜访的页。运用PPAGE寄存器能够拜访到地址在$8000–$BFFF间的一切共16页的16K字节。
•Flash模块中每个块包括许多行操控和状况寄存器,它们都坐落的相同地址空间 INITRG + $100 – INITRG + $10F。经过Flash 装备寄存器挑选有用的某行寄存器。
•MC9S12DP256 有7个引脚端口, 端口K,用来仿真或许作为通用 I/O。其他六个端口用来决议哪一个Flash页正在被拜访。 其他的地址位放在 PPAGE 寄存器中。

一切的256K的FLASH能够经过16K的PPAGE窗口来拜访,其间两个16K的页也能够经过固定地址($4000-7FFF, $C000-FFFF)来拜访。$4000-$7FFF与$3E相对应,$C000-$FFFF与$3F相对应。这两个固定页克服了内存分页机制的一些缺陷。选用分页机制,在某一页中的函数无法直接拜访拜访另一页中的数据。需求被其它页的函数拜访的数据应该放在固定页中,或只要固定页的函数才干拜访其他页的数据。由于复位和中止向量表只要16位,所以一切的中止服务程序和复位初始化程序有必要从固定页中开端履行。大部分中止服务程序能够放在非固定页中,部分的中止服务程序特别开始部分要放在固定页中。经过CALL来调用非固定页中的函数,最后用RTI指令回来。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/260818.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部