请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM57L843 尊敬的 TI 工程师:
在我的应用程序的引导模式下、当处于引导加载程序模式时、MPU 被成功禁用。 但是、当调用下面所示的 cacheDisable 函数时 、MCU 异常并运行。
;-------------------------------------------------------------------------------
; Disable caches
.def _cacheDisable_
.asmfunc
_cacheDisable_
stmfd sp!, {r1}
MRC p15, #0, R1, c1, c0, #0 ; Read System Control Register configuration data
BIC R1, R1, #0x1 <<12 ; instruction cache disable
BIC R1, R1, #0x1 <<2 ; data cache disable
DSB
MCR p15, #0, R1, c1, c0, #0 ; disabled cache RAMs
ISB
ldmfd sp!, {r1}
bx lr
.endasmfunc
在尝试 使用缓存使能功能对闪存进行擦除、编程和回读后、我发现擦除和编程可能正常、但回读内容是随机的。
我想 读取的内容将从高速缓存存储器而不是闪存中读取。
问:
1) 1)如何禁用高速缓存?
2) 2)能否在启用高速缓存的情况下运行引导加载程序? 如何解决回读问题?
谢谢你。
