请教一下操作内部flash需要注意哪些问题

发表在 内核学习营2019-4-24 14:28 [复制链接] 1 353

本帖最后由 Tiv 于 2019-4-24 14:29 编辑
3 W5 C8 S) q7 w4 g; p6 L) s( k1 \/ q" ^) E* e1 q2 Q5 s
大家好:  J3 g" b6 ~  x; i6 i4 K/ s: ]
       请教一下对stm32内部flash操作,需要注意哪些东西?) M& i, `1 `( K' P) N

. K$ S. @+ G  x) a( b" q       我现在遇到的问题是这样的:只要开启usart1的线程(非msh那个usart2),如果现在正在读写内部flash,程序就立刻卡住(debug调试显示在usart1的接收中断里面不断循环),usart2停止打印任何东西。如果关闭usart1线程,就能正常对内部flash进行读写。现在开了多个线程,usart1和对内部flash操作各是各的线程。2 F" g3 L8 I7 o4 N

; ^/ U- D5 h; K# Y  p- F' N5 z& Z& C我目前这样调试过:
* I5 U/ h7 y* Q( {; S1、二者两个线程的优先级互换过,问题依旧。
$ w5 ^) g% ?6 O1 }. G2、在操作内部flash时,加了“level = rt_hw_interrupt_disable();”与“rt_hw_interrupt_enable(level);”,问题依旧。
5 I* C1 t7 A. p! ]3、如上描述,只要关闭usart1线程,对内部flash读写就能正常。
. c8 e8 D4 _2 y% h2 Y3 S4、关闭flash线程,usart1线程正常。8 I% k6 ~% {. a) b
$ S/ F& ?6 \( e+ p5 I$ N. I
我用的nano版,求大家指教!谢谢+ B1 T, c. r* _
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-4-24 14:36:32 | 显示全部楼层
补充一个现象:当flash线程开始读写时,debug 的command 窗口提示:Cannot access Memory (@ 0x0801f800, Read, Acc Size: 4 Byte) 而这个0x0801f800地址也正是我要操作的地址
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表