mini2440裸機之MMU(二 mmu

2021-08-03 09:36:36 字數 933 閱讀 8140

mini2440裸機之mmu(二)(mmu.c)

智在天涯

#include "def.h"

#include "option.h"

#include "2440addr.h"

#include "2440lib.h"

#include "2440slib.h"

#include "mmu.h"

//段(section)是大小為1mb的儲存塊

// 1) only the section table is used. 只有段儲存塊被使用

// 2) the cachable/non-cachable area can be changed by mmt_default value.

//  the section size is 1mb.段大小為1mb

extern char __entry; 

void mmu_init(void)

// attr=rw_cb,rw_cnb,rw_ncnb,rw_fault

void changeromcachestatus(int attr)

//設定頁表函式

//vaddrstart:虛擬起始位址

//vaddrend:虛擬結束位址

//paddrstart:物理起始位址

//attr:訪問屬性

//虛擬儲存空間到物理儲存空間的對映是以記憶體塊為單位的:分為1mb/64kb/4kb/1kb

//虛擬儲存空間中的一塊連續的儲存空間被對映成物理儲存空間中同樣大小的一塊連續

//儲存空間頁表中,每乙個位址變換條目實際上就記錄了乙個虛擬儲存空間的儲存塊的基

//位址與物理儲存空間相應的乙個儲存塊的基位址的對應關係

void mmu_setmtt(int vaddrstart,int vaddrend,int paddrstart,int attr)

mini2440按鍵裸機程式編寫執行

1.開發環境 作業系統 linux 開發板 mini2440 2.原理圖 gpgcon控制暫存器功能說明 3.操作流程 只需要操作gpgcon暫存器即可操作k1按鍵 a 設定控制暫存器gpgcon為輸入功能 00 即 可讀取gpgdat暫存器的值 html view plain copy 按鍵 un...

基於mini2440的RTC讀寫(裸機)

很多處理器都有rtc實時時鐘功能,s3c2440也提供了這個功能,其功能主要是 實時時鐘 鬧鐘 tick中斷等。rtc的操作比較簡單。讀寫時rtccon最低位應設定為1,不讀寫時設定為0以免誤修改rtc相應暫存器。bcdsec,bcdmin,bcdhour,bcdday,bcddate,bcdmon...

mini2440裸機程式之一 蜂鳴器

開發板 mini2440 sdk mdk 開發語言 彙編 本次目的 能夠完成開發板上蜂鳴器的間斷鳴叫 1 開發板硬體電路 2 程式 pgpbcon equ0x56000010 pgpbdat equ0x56000014 pgpbup equ0x56000018 area beeptest,code,...