Flash单片机自编程技术.docx

上传人:李医生 文档编号:11695588 上传时间:2021-08-31 格式:DOCX 页数:2 大小:66.57KB
返回 下载 相关 举报
Flash单片机自编程技术.docx_第1页
第1页 / 共2页
Flash单片机自编程技术.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Flash单片机自编程技术.docx》由会员分享,可在线阅读,更多相关《Flash单片机自编程技术.docx(2页珍藏版)》请在三一文库上搜索。

1、Flash 单片机自编程技术Flash 的可自编程性( Self-Programmability )是指,用 Flash 存储器中的驻留软件或程序对Flash 存储器进行擦除/ 编程,但是,要求运行程序代码的存储区与待编程的存储区不在同一模块中。因此,只有一个片上Flash 存储器模块的微处理器,是不能在进行擦除/ 编程 Flash 操作的同时执行程序的。目前,有两种途径可以解决:在擦除/编程Flash的过程中,将CPUB于空闲 状态;将擦除/编程Flash的指令复制到RAM再由CP曲执行。TI公司的MSP43原列Flash型单片机内部集成有Flash控制器,可以采用外部编程器进行烧写,也可以

2、利用自己的程序修改 Flash 的内容,且不用外加编程电压。在进行系统设计时,可以利用片内的 Flash 保存一些运行数据,实现掉电保护;还可以修改 Flash 中的整个程序或局部程序,实现在系统升级。本文以TI公司的MSP43QS列Flash型芯片为例,对如何进行 Flash的自编程操作做进一步的探讨。1 MSP430芯片Flash存储器的结构Flash 存储器模块是一个可独立操作的物理存储器单元。全部模块安排在同一个线性地址空间中,一个模块又可以分为多个段。当对Flash 存储器段中的某一位编程时,就必须对整个段擦除,因此, Flash 存储器必须分为较小的段,以方便地实现擦除和编程。图1

3、是MSP4305片上Flash存储器模块的结构框图。该 Flash 存储器模块包含如下部分: 控制逻辑控制 Flash 擦除和编程时的机器状态和时序发生器;Flash 保护逻辑避免意外的 Flash 擦除和编程操作;编程电压发生器提供 Flash 擦除和编程所需全部电压的集成电荷泵;3个16位控制寄存器 FCTL1 FCTL2 FCTL3控制Flash模块的全部操作;存储器本身。2 Flash 存储器的擦除和编程操作 通常CPU问Flash是为了读取数据或者是执行程序,这时数据、地址锁存器 是透明的,时序发生器和电压发生器关闭。然而,我们有时候需要在程序执行的过程中对Flash的内容进行修改,

4、这时就需要对控制寄存器FCTLx进行适当的设置,以保证擦除/ 编程操作的正确执行。当进行擦除/ 编程操作时, Flash模块中的时序发生器将产生全部内部控制信号,控制全部执行过程。这时CPU是不能访问 Flash 的,因此所要执行的程序指令必须从别的地方调用,如RAM或者将CPUS于空闲X犬态。当Flash的编程结束后,CPUt能重新获得对 Flash的控制权。MSP43朦歹1芯片中只集成了一个Flash模块用作程序和数据存储器。这就意味着在对Flash 进行编程时,中断向量是不起作用的,任何中断请求都得不到响应。所有可能的中断源(包括看门狗)在对Flash 进行擦除 / 编程操作前,都应该被

5、屏蔽掉,如程序1 所示。程序1:禁止所有中断和WatchdogDINT ;禁止所有可屏蔽中断CLR.B &IE1 ;禁止 NMk ACC用口 OF中断MOV #5A80H, &WDTCT; L关闭片内看门狗2.1 直接进行的 Flash 自编程MSP430虫有的一个特点就是,其Flash模块可以不用把程序代码拷贝到其它的 存储器就可实现自编程。在 Flash自编程过程中,当CPIM Flash中取指令 时,Flash会返回值3FFFh (JMP $)%C CPU使CP3于无限循环直到Flash 自编程的结束,才会将下一条指令返回,从而使程序继续执行下去。下面给出的程序2,对MSP4305片的Flash进行自编程是非常容易实现的。不 过这种方法也存在一个缺点:在 Flash进行自编程的过程中,CP3于空闲状 态,所以这时既不能执行程序,也不能响应中断,而且这种 Flash 自编程方法 只可用于字或字节编程模式,而不适用于速度更快的段写模式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1