共2条
1/1 1 跳转至页
MMU 我也问一个操作MMU和缓冲的问题?几行代码改点就不行。
问
;----------------------------------------
; Read/modify/write CP15 control register
;----------------------------------------
MRC p15, 0, r0, c1, c0,0 ; read cp15 control registre (cp15 r1) in r0
ldr r3, =0xC0000080 ; Reset bit :Little Endian end fast bus mode
ldr r4, =0xC0000000 ; Set bit :Asynchronous clock mode, Not Fast Bus
BIC r0, r0, r3
ORR r0, r0, r4
MCR p15, 0, r0, c1, c0,0 ; write r0 in cp15 control registre (cp15 r1)
如果我想打开指令缓冲和数据缓冲且使用MMU直接把r4付值,使能CP15的寄存器1,把MMU和ICACHE和DCACHE使能,这样不就打开资源了吗?但是我这样做了系统连仿真都不同通过,为什么呢? 答 1: 楼主用的是哪款ARM?楼主用的是哪款ARM?<ARM体系>一书里说c1的bit[31:16]是保留的,不知道你的ARM片子是怎么说明的。 答 2: AT91RM9200 答 3: 没用过,不能误导,楼主去Baite-ARM区找找,那个是讨论atmel ARM的地方。 答 4: cp15中寄存器c1的高位不是保留吗ldr r3, =0xC0000080
ldr r4, =0xC0000000
上面这两行中的值为什么是0xC00...呢,可以是0吗? 答 5: 可以,谁说cp15中寄存器c1的高位是保留。 但是我也不是很清楚,为什么简单的改改就不行呢?
; Read/modify/write CP15 control register
;----------------------------------------
MRC p15, 0, r0, c1, c0,0 ; read cp15 control registre (cp15 r1) in r0
ldr r3, =0xC0000080 ; Reset bit :Little Endian end fast bus mode
ldr r4, =0xC0000000 ; Set bit :Asynchronous clock mode, Not Fast Bus
BIC r0, r0, r3
ORR r0, r0, r4
MCR p15, 0, r0, c1, c0,0 ; write r0 in cp15 control registre (cp15 r1)
如果我想打开指令缓冲和数据缓冲且使用MMU直接把r4付值,使能CP15的寄存器1,把MMU和ICACHE和DCACHE使能,这样不就打开资源了吗?但是我这样做了系统连仿真都不同通过,为什么呢? 答 1: 楼主用的是哪款ARM?楼主用的是哪款ARM?<ARM体系>一书里说c1的bit[31:16]是保留的,不知道你的ARM片子是怎么说明的。 答 2: AT91RM9200 答 3: 没用过,不能误导,楼主去Baite-ARM区找找,那个是讨论atmel ARM的地方。 答 4: cp15中寄存器c1的高位不是保留吗ldr r3, =0xC0000080
ldr r4, =0xC0000000
上面这两行中的值为什么是0xC00...呢,可以是0吗? 答 5: 可以,谁说cp15中寄存器c1的高位是保留。 但是我也不是很清楚,为什么简单的改改就不行呢?
共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元 | |
我要赚赏金
