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

📄 asm_defs.h

📁 Nuclues嵌入式RTOS源码
💻 H
📖 第 1 页 / 共 2 页
字号:
;INT_IRQ37_MPUIO             .equ    37    ; Microprocessor Unit I/O Interrupt  
;INT_IRQ38_USB_HHC_1         .equ    38    ; USB HHC 1 Interrupt  
;INT_IRQ39_USB_HHC_2         .equ    39    ; USB HHC 2 Interrupt
;INT_IRQ40_RESERVED          .equ    40    ; Reserved
;INT_IRQ41_RESERVED          .equ    41    ; Reserved
;INT_IRQ42_McBSP3_TX         .equ    42    ; McBSP3 Transmit Interrupt  
;INT_IRQ43_McBSP3_RX         .equ    43    ; McBSP3 Receive Interrupt  
;INT_IRQ44_McBSP1_TX         .equ    44    ; McBSP1 Transmit Interrupt  
;INT_IRQ45_McBSP1_RX         .equ    45    ; McBSP1 Receive Interrupt  
;INT_IRQ46_UART1             .equ    46    ; UART 1 Interrupt (Bluetooth)  
;INT_IRQ47_UART2             .equ    47    ; UART 2 Interrupt  
;INT_IRQ48_MCSI1_FE          .equ    48    ; MCSI 1 FE Interrupt  
;INT_IRQ49_MCSI2_FE          .equ    49    ; MCSI 2 FE Interrupt
;INT_IRQ50_RESERVED          .equ    50    ; RESERVED
;INT_IRQ51_RESERVED          .equ    51    ; RESERVED
;INT_IRQ52_USB_FUN_GEN       .equ    52    ; USB Function Generator Interrupt  
;INT_IRQ53_1_WIRE            .equ    53    ; 1 Wire Interrupt
;INT_IRQ54_32K_TIMER         .equ    54    ; 32K Timer
;INT_IRQ55_MMC               .equ    55    ; MMC Interrupt  
;INT_IRQ56_ULPD              .equ    56    ; ULPD GuagingInterrupt
;INT_IRQ57_RTC_TIMER         .equ    57    ; RTC Timer Interrupt
;INT_IRQ58_RTC_ALARM         .equ    58    ; RTC Alarm Interrupt
;INT_IRQ59_RESERVED          .equ    59    ; Reserved
;INT_IRQ60_DSP_MMU           .equ    60    ; DSP MMU Interrupt  
;INT_IRQ61_USB_ISO           .equ    61    ; USB Function ISO On Interrupt  
;INT_IRQ62_USB_NON_ISO       .equ    62    ; USB Function NON ISO On Interrupt  
;INT_IRQ63_McBSP2_RX_OVER    .equ    63    ; McBSP2 Receive Overflow Interrupt  

;**********************************
;* NUCLEUS FIQ TIMER CONSTANTS    *
;**********************************
; Page 6-5,6 of the OMAP Dual Core Processor Technical Reference Manual
; Based off TIMER 1
IRQ_TIMER_BASE              DCD   0x2001E800        ; Define base for all timer registers
IRQ_TIMER0_LOAD             EQU   0x00              ; Offset of timer load register from base
IRQ_TIMER0_VALUE            EQU   0x04
IRQ_TIMER0_CTRL             EQU   0x08              ; Must set this before a timer 
                                                    ; is used (CNTL TIMER Reg)
IRQ_TIMER0_CLR              EQU   0x0C
IRQ_TIMER0_STATUS	    EQU   0x10

FIQ_TIMER_PTV               EQU   0x00000000        ; Prescale clock by 2
FIQ_TIMER_ST                EQU   0x00000001        ; Bit 0 to start timer
FIQ_TIMER_AR                EQU   0x00000002        ; Bit 1 to auto-reload
FIQ_TIMER_CLOCK             EQU   84000000          ; Clock used by timer
FIQ_TIMER_PRESCALE          EQU   2               
FIQ_TICKS_PER_SEC           EQU   100

;FIQ_TIMER_BASE              .word 0xFFFEC500        ; Define base for all timer registers
;FIQ_LOAD_TIM_OFFSET         .equ  0x04              ; Offset of timer load register from base
;FIQ_TIMER_ENABLE            .equ  0x20              ; Must set this before a timer 
                                                    ; is used (CNTL TIMER Reg)
;FIQ_TIMER_PTV               .equ  0x00000000        ; Prescale clock by 2
;FIQ_TIMER_ST                .equ  0x00000001        ; Bit 0 to start timer
;FIQ_TIMER_AR                .equ  0x00000002        ; Bit 1 to auto-reload
;FIQ_TIMER_CLOCK             .equ  84000000          ; Clock used by timer
;FIQ_TIMER_PRESCALE          .equ  2               
;FIQ_TICKS_PER_SEC           .equ  100

; Calculate timer count value based on timer clock, timer pre-scale and the number
; of timer ticks per second (100 = 10 ms timer interrupt)
; The equation for this count value is:  count = (CLOCK/PRESCALE) * .010 seconds 

FIQ_TIMER_COUNT             EQU  (FIQ_TIMER_CLOCK/FIQ_TIMER_PRESCALE) / FIQ_TICKS_PER_SEC

FIQ_TIMER_LOAD_VAL          DCD  FIQ_TIMER_COUNT   ; 32-bit count 
FIQ_TIMER_RESET             EQU  0x00000000

;FIQ_TIMER_COUNT             .equ  (FIQ_TIMER_CLOCK/FIQ_TIMER_PRESCALE) / FIQ_TICKS_PER_SEC

;FIQ_TIMER_LOAD_VAL          .word FIQ_TIMER_COUNT   ; 32-bit count 
;FIQ_TIMER_RESET             .equ  0x00000000

; Timer 1 interrupt bits 
FIQ_TIMER_IRQ               EQU  26
FIQ_TIMER_MASK              EQU  0x04000000
FIQ_TIMER_ILR               EQU  0x0001

;FIQ_TIMER_IRQ               .equ  26
;FIQ_TIMER_MASK              .equ  0x04000000
;FIQ_TIMER_ILR               .equ  0x0001 

;******************************
;* NUCLEUS TIMER CONSTANTS    *
;******************************
; Page 6-5,6 of the OMAP Dual Core Processor Technical Reference Manual
; Based off TIMER 2
CNTL_TIMER_BASE             DCD   0x2001E800        ; Define base for all timer registers
TIMER1_LOAD                 EQU   0x14              ; Offset of timer load register from base
TIMER1_VALUE                EQU   0x18
TIMER1_CTRL                 EQU   0x1c              ; Must set this before a timer 
TIMER1_CLR                  EQU   0x20
TIMER1_STATUS		    EQU   0x24
                                                    ; is used (pg 6-5)
TIMER_PTV                   EQU   0x00000000        ; Prescale clock by 2
TIMER_ST                    EQU   0x00000001        ; Bit 0 to start timer
TIMER_AR                    EQU   0x00000002        ; Bit 1 to auto-reload
TIMER_CLOCK                 EQU   84000000          ; Clock used by timer
TIMER_PRESCALE              EQU   2
TIMER_TICKS_PER_SEC         EQU   100

; Calculate timer count value based on timer clock, timer pre-scale and the number
; of timer ticks per second (100 = 10 ms timer interrupt)
; The equation for this count value is:  count = (CLOCK/PRESCALE) * .010 seconds 

TIMER_COUNT                 EQU   (TIMER_CLOCK/TIMER_PRESCALE) / TIMER_TICKS_PER_SEC

TIMER_LOAD_VAL              DCD   TIMER_COUNT       ; 32-bit count
TIMER_RESET                 EQU   0x00000000

;TIMER_COUNT                 .equ  (TIMER_CLOCK/TIMER_PRESCALE) / TIMER_TICKS_PER_SEC

;TIMER_LOAD_VAL              .word TIMER_COUNT       ; 32-bit count
;TIMER_RESET                 .equ  0x00000000

; Timer interrupt bits
TIMER_IRQ                   EQU   30
TIMER_MASK                  EQU   0x200
TIMER_ILR                   EQU   0x0000 

CPR_CNTL_BASE     	    DCD   0x2001C400      ; Base address for CPR 
CPR_TIMER_CLK               EQU   0x0C            ; CPR Timer Clock Register
TIMER1_CLK		    EQU   0x18		  ; Select Timer1 Clock to 32K

MPU_CLK_RESET_CNTL_BASE     DCD   0xFFFECE00      ; Base address for MPU Clock/Reset/Power 
                                                    ; Mode Control Register
MPU_IDLECT2_OFFSET          EQU   0x08            ; MPU Idle Mode Entry Register
ENABLE_TIMER_CLK            EQU   0x80            ; Enables clock of MPU timer connected to TIPB

DPLL_CNTL_BASE              EQU   0xFFFECF00      ; Base address for MPU Clock Control Register
DPLL_ENABLE_MASK            EQU   0x0010          ; Mask out PLL ENABLE bit 
DPLL_CLOCK_MULT             DCD   0x0390          ; DPLL Mult Value (7*12MHz)=84MHz = TIMER_CLOCK

;TIMER_IRQ                   .equ  30
;TIMER_MASK                  .equ  0x40000000
;TIMER_ILR                   .equ  0x0000 

;MPU_CLK_RESET_CNTL_BASE     .word   0xFFFECE00      ; Base address for MPU Clock/Reset/Power 
                                                    ; Mode Control Register
;MPU_IDLECT2_OFFSET          .equ    0x08            ; MPU Idle Mode Entry Register
;ENABLE_TIMER_CLK            .equ    0x80            ; Enables clock of MPU timer connected to TIPB

;DPLL_CNTL_BASE              .word   0xFFFECF00      ; Base address for MPU Clock Control Register
;DPLL_ENABLE_MASK            .equ    0x0010          ; Mask out PLL ENABLE bit 
;DPLL_CLOCK_MULT             .word   0x0390          ; DPLL Mult Value (7*12MHz)=84MHz = TIMER_CLOCK
     
;******************************
;* MONITOR CONSTANTS          *
;******************************
; Traffic Controller Registers
EMIFS_CS0_CONFIG             DCD   0xFFFECC10
EMIFS_CS1_CONFIG             DCD   0xFFFECC14
EMIFS_CS2_CONFIG             DCD   0xFFFECC18
EMIFS_CS3_CONFIG             DCD   0xFFFECC1C
EMIFF_SDRAM_CONFIG           DCD   0xFFFECC20
EMIFF_MRS                    DCD   0xFFFECC24

CS0_VALUE                    DCD   0x00203339
CS1_VALUE                    DCD   0x1139
CS2_VALUE                    DCD   0x1139
CS3_VALUE                    DCD   0x1139
SDRAM_VALUE                  DCD   0x0000BCF4
MRS_VALUE                    DCD   0x00000027

WDOG_TIMER_MODE              DCD   0xFFFEC808
WDOG_DISABLE_F5              DCD   0x00F5
WDOG_DISABLE_A0              DCD   0x00A0

;EMIFS_CS0_CONFIG             .word 0xFFFECC10
;EMIFS_CS1_CONFIG             .word 0xFFFECC14
;EMIFS_CS2_CONFIG             .word 0xFFFECC18
;EMIFS_CS3_CONFIG             .word 0xFFFECC1C
;EMIFF_SDRAM_CONFIG           .word 0xFFFECC20
;EMIFF_MRS                    .word 0xFFFECC24

;CS0_VALUE                    .word 0x00203339
;CS1_VALUE                    .word 0x1139
;CS2_VALUE                    .word 0x1139
;CS3_VALUE                    .word 0x1139
;SDRAM_VALUE                  .word 0x0000BCF4
;MRS_VALUE                    .word 0x00000027

;WDOG_TIMER_MODE              .word 0xFFFEC808
;WDOG_DISABLE_F5              .word 0x00F5
;WDOG_DISABLE_A0              .word 0x00A0

;********************************************
;*  TC_TCB and TC_HCB STRUCT OFFSET DEFINES *
;********************************************
TC_CREATED              EQU      0x0000         ; Node for linking to created task list
TC_ID                   EQU      0x000C         ; Internal TCB ID
TC_NAME                 EQU      0x0010         ; Task name
TC_STATUS               EQU      0x0018         ; Task status
TC_DELAYED_SUSPEND      EQU      0x0019         ; Delayed task suspension
TC_PRIORITY             EQU      0x001A         ; Task priority
TC_PREEMPTION           EQU      0x001B         ; Task preemption enable
TC_SCHEDULED            EQU      0x001C         ; Task scheduled count
TC_CUR_TIME_SLICE       EQU      0x0020         ; Current time slice
TC_STACK_START          EQU      0x0024         ; Stack starting address
TC_STACK_END            EQU      0x0028         ; Stack ending address
TC_STACK_POINTER        EQU      0x002C         ; Task stack pointer
TC_STACK_SIZE           EQU      0x0030         ; Task stack's size
TC_STACK_MINIMUM        EQU      0x0034         ; Minimum stack size
TC_CURRENT_PROTECT      EQU      0x0038         ; Current protection
TC_SAVED_STACK_PTR      EQU      0x003C         ; Previous stack pointer
TC_ACTIVE_NEXT          EQU      0x003C         ; Next activated HISR
TC_TIME_SLICE           EQU      0x0040         ; Task time slice value
TC_ACTIVATION_COUNT     EQU      0x0040         ; Activation counter
TC_HISR_ENTRY           EQU      0x0044         ; HISR entry function
TC_HISR_SU_MODE         EQU      0x0058         ; Sup/User mode indicator for HISRs
TC_HISR_MODULE          EQU      0x005C         ; Module identifier for HISR's
TC_SU_MODE              EQU      0x00A8         ; Sup/User mode indicator for Tasks
TC_MODULE               EQU      0x00AC         ; Module identifier for Tasks 

;TC_CREATED              .equ     0000h          ; Node for linking to created task list
;TC_ID                   .equ     000Ch          ; Internal TCB ID
;TC_NAME                 .equ     0010h          ; Task name
;TC_STATUS               .equ     0018h          ; Task status
;TC_DELAYED_SUSPEND      .equ     0019h          ; Delayed task suspension
;TC_PRIORITY             .equ     001Ah          ; Task priority
;TC_PREEMPTION           .equ     001Bh          ; Task preemption enable
;TC_SCHEDULED            .equ     001Ch          ; Task scheduled count
;TC_CUR_TIME_SLICE       .equ     0020h          ; Current time slice
;TC_STACK_START          .equ     0024h          ; Stack starting address
;TC_STACK_END            .equ     0028h          ; Stack ending address
;TC_STACK_POINTER        .equ     002Ch          ; Task stack pointer
;TC_STACK_SIZE           .equ     0030h          ; Task stack's size
;TC_STACK_MINIMUM        .equ     0034h          ; Minimum stack size
;TC_CURRENT_PROTECT      .equ     0038h          ; Current protection
;TC_SAVED_STACK_PTR      .equ     003Ch          ; Previous stack pointer
;TC_ACTIVE_NEXT          .equ     003Ch          ; Next activated HISR
;TC_TIME_SLICE           .equ     0040h          ; Task time slice value
;TC_ACTIVATION_COUNT     .equ     0040h          ; Activation counter
;TC_HISR_ENTRY           .equ     0044h          ; HISR entry function
;TC_HISR_SU_MODE         .equ     0058h          ; Sup/User mode indicator for HISRs
;TC_HISR_MODULE          .equ     005Ch          ; Module identifier for HISR's
;TC_SU_MODE              .equ     00A8h          ; Sup/User mode indicator for Tasks
;TC_MODULE               .equ     00ACh          ; Module identifier for Tasks 

; End of low-level initialization constants.

; /******** END ASM_DEFS.ASH ********/


⌨️ 快捷键说明

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