共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
| 在K230DBOX上实现音乐播放器功能被打赏¥15元 | |
| NXP MCU系列开发板MCULink固件升级方法【VSCode】被打赏¥28元 | |
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
我要赚赏金
