|
发表于 2018-6-28 23:52:51
|
显示全部楼层
本帖最后由 shannon2014 于 2018-6-28 23:54 编辑
硬汉,刚我试了下,这几个位还是有影响的,我用的内存管理是Bget,测试现象如下:
--->现象:跑RTX的时候,BGet相关函数对某些RAM区域(多SRAM123)会有一定概率出问题,此时需要反复开关MPU或者不初始化相关RAM;
裸机时没有此现象。
fix:打开了RAM的时钟,问题暂时没有出现;
--->测试:打开所有SRAM的BGet管理,尝试申请最大空间后读取RAM信息。
加了这些语句就不会出问题:
MODIFY_REG(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM1EN, 1);
MODIFY_REG(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM2EN, 1);
MODIFY_REG(RCC->AHB2ENR, RCC_AHB2ENR_D2SRAM3EN, 1);
MODIFY_REG(RCC->AHB4ENR, RCC_AHB4ENR_D3SRAM1EN, 1);
MODIFY_REG(RCC->D3AMR, RCC_D3AMR_SRAM4AMEN, 1);
MODIFY_REG(RCC->AHB2LPENR, RCC_AHB2LPENR_D2SRAM1LPEN, 1);
MODIFY_REG(RCC->AHB2LPENR, RCC_AHB2LPENR_D2SRAM2LPEN, 1);
MODIFY_REG(RCC->AHB2LPENR, RCC_AHB2LPENR_D2SRAM3LPEN, 1);
MODIFY_REG(RCC->AHB4LPENR, RCC_AHB4LPENR_D3SRAM1LPEN, 1);
不加的话,当尝试使用Bget去动态管理除了AXI SRAM的片内RAM时,会出问题。
|
|