关于STM32的ISP指令
2015-11-18 21:14
218 查看
关于STM32的ISP指令---读写数据缓存
在测试擦除命令的时候发现,写入和读出的数据是有缓存的,目前测试的结果为:写入数据有四个字的缓存,读取数据有15个字的缓存。
例如:最后写入的4个字数据,在擦除flash之后,重新读出,仍然读到的是擦除前的数值,尽管实际该地址flash的内容已经改变。
例如:在擦除flash之前读出4个地址数据,则flash内容擦除以后,再次读取该4个地址的数据,返回内容仍然为flash擦除之前的数据。
如果连续读出地址相连的16个字数据,则最早读出的那个数据将会从缓存清除。如果读出的数据为非连续的,则可能读不到第16个字,最早读出的那个数据已经从缓存清除。猜测在请求读取一个地址数据的时候,硬件会将此地址以后的若干地址(根据某种算法)数据一同读入缓存。
关于STM32的ISP指令--页大小。
在STM32F2之前Flash以页为单位,有1Kbytes、2Kbytes等。到了STM32F2及以后则改为以sector为单位,大小即使在同一个芯片内部也有不同定义,16K、64K、128K等,但在在ISP指令的说明文档中让然使用page来讲。经测试在STM32F2以后,使用erasememory指令擦除指定page,实际指的就是sector。
关于STM32的ISP指令---读写数据缓存
在测试擦除命令的时候发现,写入和读出的数据是有缓存的,目前测试的结果为:写入数据有四个字的缓存,读取数据有15个字的缓存。
例如:最后写入的4个字数据,在擦除flash之后,重新读出,仍然读到的是擦除前的数值,尽管实际该地址flash的内容已经改变。
例如:在擦除flash之前读出4个地址数据,则flash内容擦除以后,再次读取该4个地址的数据,返回内容仍然为flash擦除之前的数据。
如果连续读出地址相连的16个字数据,则最早读出的那个数据将会从缓存清除。如果读出的数据为非连续的,则可能读不到第16个字,最早读出的那个数据已经从缓存清除。猜测在请求读取一个地址数据的时候,硬件会将此地址以后的若干地址(根据某种算法)数据一同读入缓存。
关于STM32的ISP指令--页大小。
在STM32F2之前Flash以页为单位,有1Kbytes、2Kbytes等。到了STM32F2及以后则改为以sector为单位,大小即使在同一个芯片内部也有不同定义,16K、64K、128K等,但在在ISP指令的说明文档中让然使用page来讲。经测试在STM32F2以后,使用erasememory指令擦除指定page,实际指的就是sector。
相关文章推荐
- 野鸟装备如何支持表情的
- 时间管理
- RabbitMQ基础概念详细介绍
- Swift_UITextField
- poj 2125 Destroying The Graph 最小点权覆盖集
- jsp下载文件的实现方法
- hdu 1728 逃离迷宫
- 使用 Override 和 New 关键字进行版本控制
- Apache的prefork模式和worker模式
- POJ 3253 Fence Repair(贪心—霍夫曼树or优先队列)
- JS中的“!!”
- 给任务排序(Ordering Tasks,UVa 10305)
- struts form表单提交action处理之后没有跳转页面
- struts form表单提交action处理之后没有跳转页面
- Spark学习--spark-shell使用
- Swift_UILabel
- 编译vs2010 工程出unresolved external symbol __ultod3
- struts form表单提交action处理之后没有跳转页面
- Workspace in use or cannot be created, choose a different one.--错误解决办法
- 虚拟机中为何使用scsi_id无法查到磁盘的unid