⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmupcb.s

📁 ARM嵌入式系统开发--软件设计与优化随书源代码。开发环境asm+c
💻 S
字号:
@ ; *******************************************************
@ ; * Simple Little Operating System - SLOS
@ ; *******************************************************

@ ; ******************************************************* 
@ ; *
@ ; * -----------------------------------------------------
@ ; * NOTE:   This file is automatically generated
@ ; * -----------------------------------------------------
@ ; *
@ ; * Project	: mmuSLOS
@ ; * Version	: 0.03
@ ; * Originator	: Andrew N. Sloss
@ ; *
@ ; ******************************************************* 

     .global MmuPCB_CurrentTask
     .global MmuPCB_Table
     .global MmuPCB_IRQStack
     .global MmuPCB_PtrCurrentTask
     .global MmuPCB_PtrNextTask

     .global MmuPCB_PtrTask1
     .global MmuPCB_BottomTask1
     .global MmuPCB_RegionTable1

     .global MmuPCB_PtrTask2
     .global MmuPCB_BottomTask2
     .global MmuPCB_RegionTable2

     .global MmuPCB_PtrTask3
     .global MmuPCB_BottomTask3
     .global MmuPCB_RegionTable3
     .global pcbSetUp

@ ; -- pcbSetUp ----------------------------------------------------------------
@ ;
@ ; Description : PCB setup 
@ ;
@ ; Parameters  : r0=<thread entry address>
@ ;               r1=<PCB Address>
@ ;               r2=<stack address>
@ ; Return      : setup PCB
@ ; Notes       :
@ ;

pcbSetUp:
     STR     r0,[r1,#-4]          @ ; PCB[-4]=C_TaskEntry<2>
     STR     r0,[r1,#-64]         @ ; PCB[-64]=C_TaskEntry<2>
     STR     r2,[r1,#-8]          @ ; PCB[-8]=<stack address>
     MOV     r0,#0x50             
     STR     r0,[r1,#-68]         @ ; PCB[-68]=iFt_User
     MOV     pc,lr
     
MmuPCB_Table:

     .word     MmuPCB_PtrTask1
     .word     MmuPCB_PtrTask2
     .word     MmuPCB_PtrTask3

MmuPCB_IRQStack:
     .word     0x9000     @ ; real value

MmuPCB_PtrCurrentTask:
     .word     0x1

MmuPCB_PtrNextTask:
     .word     0x1

MmuPCB_CurrentTask:
     .word 0x1

@ ; -------------------------------------------------------
@ ; Task(1): Full MMU PCB 
@ ; mmupcb 
@ ; {
@ ; PCB
@ ; RegionTable
@ ; }
@ ; -------------------------------------------------------

MmuPCB_BottomTask1:
     .skip 72
MmuPCB_PtrTask1:

MmuPCB_RegionTable1:
     .word     0x400000          @ ; virtual base address 
     .word     8                 @ ; Virtual address (page size 8x4k=32k) 
     .word     (3<<4)+(3)        @ ; permissions (RWXRWX)
     .word     6                 @ ; CWT
     .word     1                 @ ; ACTIVE 
     .word     0x3c400           @ ; L2 Base Page Table Address
     .word     1                 @ ; Coarse Ganuality (=4k)
     .word     0x03              @ ; DOM 
     .word     0x50000           @ ; Physical Address
     .word     0x20000           @ ; Load Address 

@ ; -------------------------------------------------------
@ ; Task(2): Full MMU PCB 
@ ; mmupcb 
@ ; {
@ ; PCB
@ ; RegionTable
@ ; }
@ ; -------------------------------------------------------

MmuPCB_BottomTask2:
     .skip 72
MmuPCB_PtrTask2:

MmuPCB_RegionTable2:
     .word     0x400000           @ ; virtual base address 
     .word     8                  @ ; Virtual address (page size 8x4k=32k) 
     .word     (3<<4)+(3)         @ ; permissions (RWXRWX)
     .word     6                  @ ; CWT
     .word     1                  @ ; ACTIVE 
     .word     0x3c800            @ ; L2 Base Page Table Address
     .word     1                  @ ; Coarse Ganuality (=4k)
     .word     0x03               @ ; DOM 
     .word     0x58000            @ ; Physical Address
     .word     0x28000            @ ; Load Address 

@ ; -------------------------------------------------------
@ ; Task(3): Full MMU PCB 
@ ; mmupcb 
@ ; {
@ ; PCB
@ ; RegionTable
@ ; }
@ ; -------------------------------------------------------

MmuPCB_BottomTask3:
     .skip 72
MmuPCB_PtrTask3:

MmuPCB_RegionTable3:
     .word     0x400000          @ ; virtual base address 
     .word     8                 @ ; Virtual address (page size 8x4k=32k) 
     .word     (3<<4)+(3)        @ ; permissions (RWXRWX)
     .word     6                 @ ; CWT
     .word     1                 @ ; ACTIVE 
     .word     0x3cc00           @ ; L2 Base Page Table Address
     .word     1                 @ ; Coarse Ganuality (=4k)
     .word     0x03              @ ; DOM 
     .word     0x60000           @ ; Physical Address
     .word     0x30000           @; Load Address 
     .end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -