利用F206片内Flash进行在线编程电子技术

?61份资料+6场技术演讲,学习抽奖两不误

?学习新知、下载资料,赢取精美礼品!

?答题赢入门套件!

?轻松实现低功耗和小尺寸的最佳平衡

2018.09.18-2019.01.25

引言

①进行硬件设计时,必须将F206的Vccp引脚直接接于+5V电源上。

②片内CPU的工作时钟不得高于20MHz。如果用倍频连接方式,则输入时钟频率不得高于10MHz,否则会使擦、写过程出现错误,从而导致“在线”擦、写失败。

③正常情况下F206的擦、写次数寿命是1000次。因此,对Flash块的“在线”编程应该做到一次擦除、多次写入,直到整个Flash存储块写满后再重新擦除,这样可以充分延长Flash存储器的使用寿命。

④不要将写Flash的程序和被写数据放在同一块Flash存储器上(后面说明)。由于F206的中断向量从0000H单元开始,所以第一块Flash存储器(Flash0)用于保存固化程序,另一块Flash存储器用于存放重要参数,进行“在线”编程。

2Flash存储器的特点

存储器的操作有读和写两种基本操作,各种类型存储器的读操作都相同,而写操作则各不相同。RAM型存储器的读/写操作幸免通过址/数据总线和片选、读/写控制线来完成;EEPROM型存储器读操作和RAM相同,写操作由片内定时完成擦除和编程操作,并有一个状态信号线来指示写操作是否完成;PROM型存储器的写操作则由特殊工具来完成,系统中只有读操作;Flash型存储器的写操作则由清“0”、置“1”和编程操作构成。清“0”和置“1”操作按扇区(一块存储区),如F206的一块存储区的大小为32个字,Flash0的起始地址为0000H,Flash1的起始地址为40000H,每个Flash块包含512个扇区。

Flash存储器的写操作由控制寄存器控制,状态寄存器反馈的信息指示操作过程。Flash型存储器的写操作既可以“在线”完成,也可以由特殊工具来完成。由此可见,对Flash型存储器的访问由两部分构成,一为Flash存储单元,二为Flash寄存器。访问存储单元和寄存器公用一组外部总线,究竟是访问存储单元还是访问寄存器则由工作模式决定。作在访问存储单元模式(只读)时,从数据总线上读到的是存储单元中的数据;工作在访问寄存器模式(读/写)时,从数据总线读到的是寄存器的状态信息。因此,如果将写Flash的程序和将写入数据放在同一块Flash上,则对Flash写操作时需要切换工作模式,从而导致取指令时取到的是状态信息,Flash写操作失败,所以不能将程序和数据放在同一块Flash存储器上。

3F206进行Flash“在线”擦写的基本步骤

(1)模式切换

Flash的“在线”编程由清“0”、置“1”和数据写入等操作组成。进行这些操作前首先要将Flash由存储器工作模式(mode1)切换至于寄存器工作模式(mode0)。F206中Flash存储器工作模式由映射于I/O地址中的两个寄存器控制,分别为F_ACCESS0寄存器(FFE0h)和F_ACCESS1寄存器(FFE1h)。向Flash模式控制寄存器的最低位写入0,则Flash工作于寄存器模式;反之写入1,则工作于存储器模式。复位后,自动处于存储器模式。如图2所示,两种工作模式之间切换后,Flash内容变化。处于模式1时,Flash存储器显示的是其所存储的数据;处于模式0时,Flash存储器显示寄存器的内容,并且以4个为一组重复显示于整个Flash块中。

F206的Flash存储器块中只有4个寄存器SEG_CTR、TST、WADRS、WDATA,其余都是重复显示相同的内容,其功能如下所述。

*TST:测试寄存器,通常不用。(保留,用于测试。)

*WADRS:写地址寄存器,用于存储写操作地址。

*WDATA:写数据寄存器,用于存放写操作数据。

(2)清“0”操作

清“0”操作按扇区进行,F206的Flash每一区的大小为32个字(WORD)。进行清“0”操作就是对Flash存储单元的非零位(即值为“1”)写入0,使各数据位的边缘保持一致;通常的做法是将Flash存储单元中的数据读出,与FFFFh进行异或(XOR)后,再写回Flash存储单元中。清“0”操作后,需调用VER0功能对Flash块进行0校验。

(3)置“1”操作

数据只能写入已经置“1”的存储单元,对于同Flash存储单元只能写一入一次;如要改变存储单元中的内容,必须重新进行清“0”和置“1”的操作后才能写入新的数据。否则,会使存储单元中各个数据位的“边缘”不一致,从单元中读出的数据与写入的数据不一致。由于Flash擦除次数有限,因此不可能每次修改和定改数据时都进行擦除操作,而应将每次修改后的参数(表)连续写在已置“1”但沿未写入数据的Flash存储单元中,并对参数(表)作起始和结束的标记(如55AA);程序调用参数(表)时可以很方便地找到最新修改的参数(表),当已置“1”的Flash存储单元已写完,再重新进行清“0”和置“1”操作后,从Flash块的起始位置(对F206的Flash1存储块为4000h)写入新的数据,这样可以充分延长F206片内Flash的使用。

THE END
1.Python现在可以在线编程了!提供交互式编程环境,特别适合数据分析和科学计算。用户可以直接在浏览器中编写和运行代码,生成可视化结果。 3 在线编程访问入口 访问入口:https://ai-jupyter.com 网站还包括哪些板块: 鉴于上面的情况,建议铁铁们多学习新技术,因为我是AI相关的博主,给出普通人学AI的一个靠谱方法。 https://blog.csdn.net/xo3ylAF9kGs/article/details/140057699
2.在线编程语言深度研究探索其应用优势与挑战这个标题涵盖了编程兼容性:在线编程平台需要支持不同浏览器和设备,确保用户在不同环境下都能顺利使用。 用户体验:在线编程平台需要提供良好的用户体验,包括界面设计、操作流畅度等方面。 四、结论 在线编程语言作为一种新兴的编程模式,具有广泛的应用前景。随着技术的不断发展,在线编程语言将会克服现有的挑战,为编程领域带来更多的创新和进https://my.oschina.net/emacs_7610500/blog/14071106
3.当程序员无聊的时候,可以上的10个技术编程网站刘哥聊技术网站类型:技术编程,综合其他,网络科技,博客网站 网站简介:博客园是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。博客园致力于为程序员打造一个优秀的互联网平台,帮助程序 员学好IT技术,更好地用技术改变世界。 2.CSDN 网站名称: CSDN 网站地址:www.csdn.net https://www.cnblogs.com/liuhongfeng/p/4135267.html
4.科德放映室科德放映室(www.mycodes.net) - 提供最新免费电影电视剧在线观看下载!https://www.mycodes.net/
5.编程中国[杭州] 编程技术工程师 50k-100k [成都] 脚本协议逆向开发 8k-15k [重庆] 后端工程师 8k-30k [广州] 网络技术人才 80k-100k [武汉] 微服务工程师 8k-15k [杭州] 安卓开发工程师 10k-25k [常州] 嵌入式软件工程师 8k-15k [常州] 嵌入式软件工程师 https://www.bccn.net/
6.HTML在线编辑器菜鸟教程HTML 在线编辑器器是一款可以在线编写HTML,Javascript,CSS代码的编辑器,在编辑器中你可以添加额外的js库,在编写完成后你可以在线运行查看效果并下载代码。 编辑器使用简单,你只需要在指定的输入框中输入指定类型的代码,即可实时查看效果。 官网 HTML 在线编辑器https://www.runoob.com/w3cnote/html-online-editor.html
7.PLC编程实用指南(第3版)第1章PLC编程技术基础在线免费阅读PLC编程技术是有关编写、调试PLC(用户)程序的技术。掌握好这个技术,才能正确与有效地使用PLC。 1.1 PLC程序概念 PLC编程标准对程序的定义是:“所有编程语言元素和结构的一个逻辑集合”。传统或低档PLC编程语言元素和结构只是指令(包含操作数),它的程序简单地说,就是PLC指令的一个有序(逻辑)集合。所以,它的编程使用https://fanqienovel.com/reader/7110101073536224288
8.VIPCODE在线少儿编程,凭借专业技术赢得口碑!品牌动态目前国内少儿编程市场还处于刚起步的阶段市场的前景还是十分广阔的,选择现在这个时间加盟品牌是最合适不多的了。随着我国人们现在生活水平的不断提高,家长们对孩子素质教育也是越来越重视。尤其是在一些发达国家更是尤为重视。VIPCODE在线少儿编程,凭借专业技术赢得口碑! http://www.1637.com/news/RV0XV70FF8BY231014.html
9.API接口编程技术免费在线视频教程API接口编程技术,通过PHP,提前做好需要的接口,APP和小程序通过调用接口,获取到JSON数据。很多大公司都做了第三方接口,供程序员使用。中级 API PHP JSON30127人学习 10课时 01小时28分钟36秒课程总时长 2022-04-13更新 欧阳克 金牌讲师 共有32课程 学员44000人 讲师评分5. 2 温故而知新,可以为师矣。博客:https://www.php.cn/course/1174.html
10.大漠插件编程技术网大漠插件是一款编程图片文字识别插件 大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用. 【注册VIP】 使用插件前。请在代码里用注册码连接大漠插件服务器注册VIP。一般在程序启动后reg命令注册。如果不注册VIP无法使用绑定窗口等高级命令bindwindow程序会崩溃。查看完整注册原理https://www.52hsxx.com/
11.c在线编程菜鸟教程计算机编程c语言入门c在线编程菜鸟教程-计算机编程c语言入门 序言 许多学过C语言的小伙伴们都说早已学完后C语言新手入门,但实践工作能力还滞留在很低的水准。大部分,她们设定了好多个for循环来暴力行为处理排列与组合难题。很多人大部分没法单独撰写一个微信小程序。今日给各位讲一个我很早以前做的简易的吃蛇实例。https://www.dkewl.com/course/detail6986.html
12.工业机器人的特点基本组成应用前景人工智能、机器人技术是国家战略性新兴产业,工业机器人技术只会发展得越来越好,而不会被时代所淘汰,从事工业机器人技术相关行业的人才,今后的职业寿命会非常长。 工业机器人如何操作 工业机器人怎么编程 1、在线编程 在线编程也叫示教编程,是指操作人员通过人工手动的方式利用示教器操作机器人。 https://www.cnpp.cn/focus/19982.html
13.94CTO在线学编程人人都能成为CTO94CTO在线学编程专注提供人工智能,Python,JAVA,大数据,互联网架构,C语言,PHP,区块链,前端开发,中小学编程各类课程,上94CTO在线学编程,人人都能成为CTO。https://www.94cto.com/
14.汇智网汇智网是一个学习前沿编程技术的平台,提供了mongodb,node.js,javascript,jquery等相关的课程。汇智网互动式的学习和实时在线的练习,能让你迅速进入状态,快速完成课程学习。http://www.hubwiz.com/
15.在线编程python运行菜鸟教程在线编辑器python菜鸟工具 在线编程python运行 菜鸟教程在线编辑器python 1. 基础语法 1)2.7版本执行 print 'hell\'o' 与 print "hell'o" 执行结果都为 hell'o → 单引号双引号都可以,差别在双引号内可以直接加单引号,否则需要转义; 三引号:“所见即所得” 可以由多行组成。https://blog.51cto.com/u_14555/7062386
16.w3cschool官网w3cschool启用中文品牌名--编程狮,是一个专业的W3C前端开发及编程入门学习平台,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等编程语言和开源技术的在线教程及使用手册,是类国外w3schools的W3C学习社区及菜鸟编程平台。https://www.w3cschool.cn/
17.VIPCODE在线少儿编程Python源码编程,适合10~12岁本阶段课程让孩子掌握人工智能程序开发的基本步骤,开发初阶AI智能语音机器人和AI智能无人车。AI智能语音机器人项目以科大讯飞语音识别技术为依托,掌握人工智能语音识别的关键技术:语音处理、语音合成、关键词唤醒、声纹识别、智能对话、上下文关联等。AI智能无人车项目以百度机器视觉技术为依托http://www.soxsok.com/7394/course/36143/