共2条
1/1 1 跳转至页
44b0,cache,cache 关于44b0的cache和非cache区域
问
有那位前辈可以讲一下以cache非cache区域的具体用法,及其设置。
我用44B0搭和弦IC的IAP,发现设定8Kcache可用的时候,程序不正常。0Kcache的时候就好了。我知道ISR大部分会CACHE MISS,那cache是怎么个用法呢?找了好久才找到这么一句话“合理的配置是打开对RAM区间的Cache,关闭对其它地址区间(非存储器设备,I/O设备 )的Cache。”有没有详细点的说明啊?
还有二个非cache区我也不明白,地址是可以设定的,那它可有多大,实际上又对应着哪的物理地址呢? 答 1: cache要初始化!void InitCache(void)
{
int i;
rSYSCFG=0x08; // Disable cache
rNCACHBE0=0xc0001c00;
for(i=0x10004000;i<0x10004800;i+=16)
{
*((int *)i)=0x0;
rSYSCFG=0x0e; // Enable cache
}
}
答 2: 谢谢指点谢谢masashinakayama,这么快就回我了!我记得我有试过调用cache要初始化,好像仍有问题,但我那个好像少了下面这句。
rNCACHBE0=0xc0001c00;这个值是如何得出的?rNCACHBE1呢?
我用44B0搭和弦IC的IAP,发现设定8Kcache可用的时候,程序不正常。0Kcache的时候就好了。我知道ISR大部分会CACHE MISS,那cache是怎么个用法呢?找了好久才找到这么一句话“合理的配置是打开对RAM区间的Cache,关闭对其它地址区间(非存储器设备,I/O设备 )的Cache。”有没有详细点的说明啊?
还有二个非cache区我也不明白,地址是可以设定的,那它可有多大,实际上又对应着哪的物理地址呢? 答 1: cache要初始化!void InitCache(void)
{
int i;
rSYSCFG=0x08; // Disable cache
rNCACHBE0=0xc0001c00;
for(i=0x10004000;i<0x10004800;i+=16)
{
*((int *)i)=0x0;
rSYSCFG=0x0e; // Enable cache
}
}
答 2: 谢谢指点谢谢masashinakayama,这么快就回我了!我记得我有试过调用cache要初始化,好像仍有问题,但我那个好像少了下面这句。
rNCACHBE0=0xc0001c00;这个值是如何得出的?rNCACHBE1呢?
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
| 传感器LSM6DSO及LIS3MDL的功能检测被打赏¥18元 | |
| LPS25HB气压传感器及其检测被打赏¥18元 | |
| HTS221温湿度传感器及其检测被打赏¥18元 | |
| 【S32K3XX】HSE FW 版本更新被打赏¥21元 | |
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
我要赚赏金
