打印

研讨会感想:STM32F4真是个好东西呀。兼提个问

[复制链接]
10445|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcuisp|  楼主 | 2011-10-18 01:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
研讨会很热烈,我举了N次手,硬是没轮到发言机会。
提个问题:
对于利用FLASH存储数据,又或者使用IAP机制,这些会改写FLASH的场合。
由于ART缓冲加速器的存在,读回来的FLASH数据可能是改写前的内容。

F4是否有硬件机制来强制刷新ART缓存?或者这个问题需要软件来解决?
沙发
t.jm| | 2011-10-18 08:06 | 只看该作者
LS ,就是不给你机会,你是想要奖品还是想要提问?:lol

使用特权

评论回复
板凳
mcuisp|  楼主 | 2011-10-18 08:08 | 只看该作者
当然是要提问,呵呵

;P奖品也想要

使用特权

评论回复
地板
香水城| | 2011-10-18 08:42 | 只看该作者
ART加速器可以被关闭,至少可以通过关闭ART加速。

另一方面讲,写进Flash的内容通常不会被ART缓存,似乎不存在LZ的问题。

使用特权

评论回复
5
香水城| | 2011-10-18 08:49 | 只看该作者
LS ,就是不给你机会,你是想要奖品还是想要提问?:lol
t.jm 发表于 2011-10-18 08:06


深圳的朋友真是给力,我们带去上百公斤的资料全部发光,好像有些来晚的朋友还有没拿到资料的。

使用特权

评论回复
6
wang4101| | 2011-10-18 09:15 | 只看该作者
:'(

使用特权

评论回复
7
mcuisp|  楼主 | 2011-10-18 09:47 | 只看该作者
本帖最后由 mcuisp 于 2011-10-18 09:49 编辑
ART加速器可以被关闭,至少可以通过关闭ART加速。

另一方面讲,写进Flash的内容通常不会被ART缓存,似乎不存在LZ的问题。
香水城 发表于 2011-10-18 08:42

比如:
==>先读某地址内容,为0x55
==>改写为0xaa,此时FLASH已经更新为0xaa,但是ART缓冲中仍为0x55。
==>再想读这个数据,作为校验,会得到0x55,校验通不过。

软件上是有办法的,比如:
volatile uint32_t *p;
p=(uint32_t *)0x08001000;
for(int i=0;i<(ART_DBus_BufferSize/4);i++)
{
  uint32_t a;
  a=*p;
  p++;
}
这样应该能保证D-BUS的ART缓冲全部被刷为0x08001000的区域内容,对于区域外的内容,就不存在缓冲不一致的问题了。

使用特权

评论回复
8
airwill| | 2011-10-18 10:41 | 只看该作者
楼上确实提到一个特例。但是这样的办法也有点太麻烦。
x86 有高速缓存“冲刷”的办法取消所有高速缓存的内容。
ART 不知道有没有这个功能? 还是关闭一下 ART 再打开?

使用特权

评论回复
9
IJK| | 2011-10-18 12:23 | 只看该作者
确实需要确认一下:关闭一下 ART 再打开,ART里的内容就被清空了吗?

使用特权

评论回复
10
yinyangdianzi| | 2011-10-18 12:52 | 只看该作者
大伙都是冲着奖品去的

使用特权

评论回复
11
t.jm| | 2011-10-18 13:17 | 只看该作者
ART是不是因该缓存的是指令而不是数据,就是说取FLASH的指令是被缓存了,指令的执行结果->读数据最终还是会到FLASH去读实际的数值呢?

使用特权

评论回复
12
mcuisp|  楼主 | 2011-10-18 13:22 | 只看该作者
本帖最后由 mcuisp 于 2011-10-18 13:49 编辑

数据D-BUS也有ART缓冲的,这正是STM32F4的强大之处:victory:

黄山归来不看山,ST研讨会归来,就不想看其他家CM4器件的手册了;P

使用特权

评论回复
13
yybj| | 2011-10-18 15:27 | 只看该作者
资料也这么抢手

使用特权

评论回复
14
sinadz| | 2011-10-18 15:53 | 只看该作者
STM32F4的确是个好东西

使用特权

评论回复
15
香水城| | 2011-10-18 22:20 | 只看该作者
LZ稍等一等,等俺忙完这阵子,再回头研究一下这个问题。

使用特权

评论回复
16
xsgy123| | 2011-10-19 16:40 | 只看该作者
研讨会人气很旺啊

使用特权

评论回复
17
byeyear| | 2011-10-19 17:00 | 只看该作者
不知道arm指令集里的数据/代码隔离类指令管用不

使用特权

评论回复
18
hukee| | 2011-10-19 19:35 | 只看该作者
好像只要去了,就发资料和一个4gu盘,不知道对不对。

使用特权

评论回复
19
grissiom| | 2011-10-19 20:26 | 只看该作者
今天趁着研讨会问了,ART 是根据分支跳转缓存指令,不缓存数据。数据有另外的缓存……

不过就是不知道 IAP  的时候是不是把 FLASH 里的“数据”当作“指令”了……

使用特权

评论回复
20
tjx727| | 2011-10-19 20:53 | 只看该作者
等我逛了几圈发现有优盘发的时候,已经米有了,杯具!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:www.mcuisp.com 免费STM32 ISP软件 EP968手持烧录器,现场升级/生产线量产STM32,STM8S/L,FreeScale,LPC2000,LPC9xx,C8051F,AVR,PIC......

340

主题

4985

帖子

22

粉丝