| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于SkyEye的MPC5554 片上Flash实现 -> 正文阅读 |
|
[嵌入式]基于SkyEye的MPC5554 片上Flash实现 |
目录 01.Flash存储器介绍NOR和NAND是现在市场上两种主要的非易失闪存技术。两种 FLASH 具有相同的存储单元,工作原理也一样,为了缩短存取时间并不是对每个单元行单独的存取操作,而是对一定数量的存取单元进行集体操作, NAND 型 FLASH 各存储单元之间是串联的,而 NOR 型 FLASH 各单元之间是并联的;为了对全部的存储单元有效管理,必须对存储单元进行统一编址。 NAND 的全部存储单元分为若干个块,每个块又分为若干个页,每个页是 512byte,就是 512 个 8 位数,就是说每个页有 512 条位线,每条位线下有8个存储单元;那么每页存储的数 据正好跟硬盘的一个扇区存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的,那么块就类似硬盘的簇;容量不同,块的数量不同,组成块的页的数量也不同。在读取数据时,当字线和位线锁定某个晶体管时,该晶体管的控制极不加偏置电压,其它的 7个都加上偏置电压而导通,如果这个晶体管的浮栅中有电荷就会导通使位线为低电平,读出的数就是 0,反之就是 1。NOR Flash的每个存储单元以并联的方式连接到位线,方便对每一位进行随机存取;具有专用的地址线,可以实现一次性的直接寻址;缩短了FLASH对处理器指令的执行时间。NAND Flash和NOR Flash的各自特点如下图所示: ▲图 1.1??NAND Flash和NOR Flash对比图 02.MPC5554?FlashMPC5554?Flash?属于Nor?Flash。MPC5544?Flash?总容量为2M,划分为64KB页,每页256位。有20个独立的块,每个块的空间设定为15~128KB。硬件支持边读边写,可以在一个块进行擦除的时候读取另外的块。编程模式为并行,支持快速行结束编程。 Flash存储器按照物理实现分割成3个段,低地址段,中地址段和高地址段。每个段可以分割成区,每个区包含了至少两个块。当对分区中的任意一个块进行擦除或写入操作时,该分区所有块都不能进行读取。MPC5554 Flash?存储空间划分图如下所示: ▲图?2.1?MPC5554?Flash分布图 ? 03.MPC5554?Flash 相关操作1.擦除操作 1)?FLASH_MCR寄存器的ERS位置1。 2)?根据所要擦除的FLASH块,设置FLASH_LMSR寄存器和FLASH_HSR寄存器。 3)?向被擦除的FLASH块所在地址空间的任意地址执行写操作,为擦除锁定写操作。 4)?FLASH_MCR寄存器的EHV位置1,启动内部的硬件擦除流程。 5)?等待FLASH_MCR的DONE位置1,DONE位置1表示擦除成功。 2.编程操作 1)?FLASH_MCR寄存器的PGM位置1。 2)?向这个FLASH块中第一个待写入的地址写入一个字或一个长字,为编程写锁定。 3)?将后续的编程内容写入到这个FLASH块 4)?FLASH_MCR寄存器的EHV位置1,启动内部的硬件编程流程。 5)?等待FLASH_MCR的DONE位置1,DONE位置1表示编程成功。 04.SkyEye平台上实现MPC5554?Flash?SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。 SkyEye目前支持主流的嵌入式硬件平台,可以运行主流的操作系统,此外还能适配国内自主研发的操作系统天脉。通过利用基于LLVM的动态二进制翻译技术,使虚拟处理器在典型的桌面计算机上运行速度可以达到2000MIPS以上。 实现MPC5554?Flash?FLASH_MCR等寄存器的读写操作,如下图所示: ▲图 4.1?写FLASH_MCR?寄存器实现图 实现Flash?的擦除,编程操作,如下图所示: ▲图 4.2??Flash擦除实现图 SkyEye中Flash实现gp模型图 ▲图 4.3??Flash实现gp模型图 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:31:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |