在线时间102 小时
UID166490
注册时间2010-1-5
NXP金币71
该用户从未签到
高级会员

- 积分
- 969
- 最后登录
- 2025-7-8
|
现在120/150MHz的K60、K70具有Cache功能,最新的MQX4.0操作系统默认使能了Cache功能。如果通过Flexbus与外围例如FPGA等设备进行实时通信时,读写Flexbus地址0x60000000时将会命中Cache的数据,导致与FPGA通信失败。最简单的解决方法是关闭Cache功能,但会执行影响效率。完美的解决方法是修改cache region settings,将Flexbus的0x60000000区域设置为non-cacheable,代码如下:
/**Cache settings**/
/* Make sure that cache region settings has correct value(reset value).
This value allow maximal perfomance settings for cache regions because of some regions are:
non-cacheable ,non-cacheable and Write-through or non-cacheable and Write-throug or only Write_back*/
LMEM_PSCRMR = 0xAA0FA000u & (~(LMEM_PSCRMR_R6_MASK));
LMEM_PCCRMR = 0xAA0FA000u & (~(LMEM_PCCRMR_R6_MASK));
|
|