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

📄 spi.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        ADR       A2, SL6               ; |56| 
        MOV       A1, #1                ; |56| 
        BL        _UART_Printf          ; |56| 
        ; |56| 
	.dwpsn	"spi.c",57,6
        ADR       A2, SL5               ; |57| 
        MOV       A1, #1                ; |57| 
        BL        _UART_Printf          ; |57| 
        ; |57| 
	.dwpsn	"spi.c",58,6
        ADR       A2, SL7               ; |58| 
        MOV       A1, #1                ; |58| 
        BL        _UART_Printf          ; |58| 
        ; |58| 
	.dwpsn	"spi.c",59,6
        ADR       A2, SL8               ; |59| 
        MOV       A1, #1                ; |59| 
        BL        _UART_Printf          ; |59| 
        ; |59| 
	.dwpsn	"spi.c",60,3
        ADR       A2, SL9               ; |60| 
        MOV       A1, #1                ; |60| 
        BL        _UART_Printf          ; |60| 
        ; |60| 
	.dwpsn	"spi.c",61,3
        ADR       A2, SL10              ; |61| 
        MOV       A1, #1                ; |61| 
        BL        _UART_Printf          ; |61| 
        ; |61| 
	.dwpsn	"spi.c",62,4
        ADR       A2, SL11              ; |62| 
        MOV       A1, #1                ; |62| 
        BL        _UART_Printf          ; |62| 
        ; |62| 
	.dwpsn	"spi.c",63,4
        ADR       A2, SL12              ; |63| 
        MOV       A1, #1                ; |63| 
        BL        _UART_Printf          ; |63| 
        ; |63| 
	.dwpsn	"spi.c",64,5
        ADR       A2, SL13              ; |64| 
        MOV       A1, #1                ; |64| 
        BL        _UART_Printf          ; |64| 
        ; |64| 
DW$L$_SPI_test_menu$2$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$3$B:
	.dwpsn	"spi.c",65,3
        MOV       A1, #1                ; |65| 
        BL        _UART_GetNum          ; |65| 
        ; |65| 
        STR       A1, [SP, #0]          ; |65| 
	.dwpsn	"spi.c",66,6
        ADR       A2, SL14              ; |66| 
        MOV       A1, #1                ; |66| 
        BL        _UART_Printf          ; |66| 
        ; |66| 
	.dwpsn	"spi.c",68,6
        B         L9                    ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$3$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L6:    
DW$L$_SPI_test_menu$5$B:
	.dwpsn	"spi.c",74,8
        BL        _spi_tx_master        ; |74| 
        ; |74| 
	.dwpsn	"spi.c",75,8
        B         L10                   ; |75| 
        ; |75| 
DW$L$_SPI_test_menu$5$E:
;* --------------------------------------------------------------------------*
L7:    
DW$L$_SPI_test_menu$6$B:
	.dwpsn	"spi.c",79,8
        BL        _spi_trx_master       ; |79| 
        ; |79| 
	.dwpsn	"spi.c",80,8
        B         L10                   ; |80| 
        ; |80| 
DW$L$_SPI_test_menu$6$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L8:    
DW$L$_SPI_test_menu$8$B:
	.dwpsn	"spi.c",98,5
        ADR       A2, SL15              ; |98| 
        MOV       A1, #1                ; |98| 
        BL        _UART_Printf          ; |98| 
        ; |98| 
        B         L10                   ; |98| 
        ; |98| 
DW$L$_SPI_test_menu$8$E:
;* --------------------------------------------------------------------------*
L9:    
DW$L$_SPI_test_menu$9$B:
	.dwpsn	"spi.c",68,6
        LDR       V9, [SP, #0]          ; |68| 
        CMP       V9, #0                ; |68| 
        BEQ       L10                   ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$9$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$10$B:
        SUBS      V9, V9, #1            ; |68| 
        BEQ       L6                    ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$10$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$11$B:
        SUBS      V9, V9, #1            ; |68| 
        BEQ       L7                    ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$11$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$12$B:
        SUBS      V9, V9, #1            ; |68| 
        BEQ       L10                   ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$12$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$13$B:
        SUBS      V9, V9, #1            ; |68| 
        BEQ       L10                   ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$13$E:
;* --------------------------------------------------------------------------*
DW$L$_SPI_test_menu$14$B:
        SUBS      V9, V9, #1            ; |68| 
        BNE       L8                    ; |68| 
        ; |68| 
DW$L$_SPI_test_menu$14$E:
;* --------------------------------------------------------------------------*
L10:    
DW$L$_SPI_test_menu$15$B:
	.dwpsn	"spi.c",100,5
        LDR       V9, [SP, #0]          ; |100| 
        CMP       V9, #0                ; |100| 
        BNE       L5                    ; |100| 
        ; |100| 
DW$L$_SPI_test_menu$15$E:
;* --------------------------------------------------------------------------*
L11:    
	.dwpsn	"spi.c",101,1
	.dwcfa	0x0e, 8
        LDMFD     SP!, {A4, PC}

DW$19	.dwtag  DW_TAG_loop
	.dwattr DW$19, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\spi.asm:L5:1:1214374319")
	.dwattr DW$19, DW_AT_begin_file("spi.c")
	.dwattr DW$19, DW_AT_begin_line(0x34)
	.dwattr DW$19, DW_AT_end_line(0x64)
DW$20	.dwtag  DW_TAG_loop_range
	.dwattr DW$20, DW_AT_low_pc(DW$L$_SPI_test_menu$2$B)
	.dwattr DW$20, DW_AT_high_pc(DW$L$_SPI_test_menu$2$E)
DW$21	.dwtag  DW_TAG_loop_range
	.dwattr DW$21, DW_AT_low_pc(DW$L$_SPI_test_menu$3$B)
	.dwattr DW$21, DW_AT_high_pc(DW$L$_SPI_test_menu$3$E)
DW$22	.dwtag  DW_TAG_loop_range
	.dwattr DW$22, DW_AT_low_pc(DW$L$_SPI_test_menu$11$B)
	.dwattr DW$22, DW_AT_high_pc(DW$L$_SPI_test_menu$11$E)
DW$23	.dwtag  DW_TAG_loop_range
	.dwattr DW$23, DW_AT_low_pc(DW$L$_SPI_test_menu$10$B)
	.dwattr DW$23, DW_AT_high_pc(DW$L$_SPI_test_menu$10$E)
DW$24	.dwtag  DW_TAG_loop_range
	.dwattr DW$24, DW_AT_low_pc(DW$L$_SPI_test_menu$5$B)
	.dwattr DW$24, DW_AT_high_pc(DW$L$_SPI_test_menu$5$E)
DW$25	.dwtag  DW_TAG_loop_range
	.dwattr DW$25, DW_AT_low_pc(DW$L$_SPI_test_menu$6$B)
	.dwattr DW$25, DW_AT_high_pc(DW$L$_SPI_test_menu$6$E)
DW$26	.dwtag  DW_TAG_loop_range
	.dwattr DW$26, DW_AT_low_pc(DW$L$_SPI_test_menu$8$B)
	.dwattr DW$26, DW_AT_high_pc(DW$L$_SPI_test_menu$8$E)
DW$27	.dwtag  DW_TAG_loop_range
	.dwattr DW$27, DW_AT_low_pc(DW$L$_SPI_test_menu$9$B)
	.dwattr DW$27, DW_AT_high_pc(DW$L$_SPI_test_menu$9$E)
DW$28	.dwtag  DW_TAG_loop_range
	.dwattr DW$28, DW_AT_low_pc(DW$L$_SPI_test_menu$12$B)
	.dwattr DW$28, DW_AT_high_pc(DW$L$_SPI_test_menu$12$E)
DW$29	.dwtag  DW_TAG_loop_range
	.dwattr DW$29, DW_AT_low_pc(DW$L$_SPI_test_menu$13$B)
	.dwattr DW$29, DW_AT_high_pc(DW$L$_SPI_test_menu$13$E)
DW$30	.dwtag  DW_TAG_loop_range
	.dwattr DW$30, DW_AT_low_pc(DW$L$_SPI_test_menu$14$B)
	.dwattr DW$30, DW_AT_high_pc(DW$L$_SPI_test_menu$14$E)
DW$31	.dwtag  DW_TAG_loop_range
	.dwattr DW$31, DW_AT_low_pc(DW$L$_SPI_test_menu$15$B)
	.dwattr DW$31, DW_AT_high_pc(DW$L$_SPI_test_menu$15$E)
	.dwendtag DW$19

	.dwattr DW$17, DW_AT_end_file("spi.c")
	.dwattr DW$17, DW_AT_end_line(0x65)
	.dwattr DW$17, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$17

;******************************************************************************
;* STRINGS                                                                    *
;******************************************************************************
	.sect	".text"
	.align	4
SL1:	.string	"SPI module softreset over",10,0
	.align	4
SL2:	.string	"SPI T/R success",10,0
	.align	4
SL3:	.string	"SPI T/R test error",10,0
	.align	4
SL4:	.string	13,10,0
	.align	4
SL5:	.string	"==========================================",13,10,0
	.align	4
SL6:	.string	"    ARM BENCH ----- MCSI Test Menu",13,10,0
	.align	4
SL7:	.string	"0 :  Back to upper menu ",13,10,0
	.align	4
SL8:	.string	"1 :  SPI Tx_Master without DMA ",13,10,0
	.align	4
SL9:	.string	"2 :  SPI TRx_Master without DMA ",13,10,0
	.align	4
SL10:	.string	"3 :  SPI Tx with DMA ",13,10,0
	.align	4
SL11:	.string	"5 :  SPI Rx with DMA ",13,10,0
	.align	4
SL12:	.string	"------------------------------------------ ",13,10,0
	.align	4
SL13:	.string	"Please Enter your choice: ",13,10," ",0
	.align	4
SL14:	.string	10,13,0
	.align	4
SL15:	.string	"You have select the wrong choice",10,13,0
;******************************************************************************
;* CONSTANT TABLE                                                             *
;******************************************************************************
	.sect	".text"
	.align	4
CON1:	.field  	-324592,32
	.align	4
CON2:	.field  	-324588,32
	.align	4
CON4:	.field  	-324572,32
	.align	4
CON5:	.field  	-324568,32
	.align	4
CON6:	.field  	-324564,32
	.align	4
CON7:	.field  	-324556,32
	.align	4
CON8:	.field  	-324548,32
	.align	4
CON9:	.field  	305419896,32
	.align	4
CON10:	.field  	-324584,32
	.align	4
CON11:	.field  	-324552,32
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_UART_Printf
	.global	_UART_GetNum

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

DW$T$21	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
DW$32	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$33	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$34	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$T$21


DW$T$23	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$23, DW_AT_language(DW_LANG_C)
DW$T$10	.dwtag  DW_TAG_base_type, DW_AT_name("int")
	.dwattr DW$T$10, DW_AT_encoding(DW_ATE_signed)
	.dwattr DW$T$10, DW_AT_byte_size(0x04)

DW$T$25	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
	.dwattr DW$T$25, DW_AT_language(DW_LANG_C)
DW$35	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$T$25

DW$T$13	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned long")
	.dwattr DW$T$13, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr DW$T$13, DW_AT_byte_size(0x04)
DW$T$27	.dwtag  DW_TAG_typedef, DW_AT_name("UWORD32"), DW_AT_type(*DW$T$13)
	.dwattr DW$T$27, DW_AT_language(DW_LANG_C)
DW$T$20	.dwtag  DW_TAG_pointer_type, DW_AT_type(*DW$T$19)
	.dwattr DW$T$20, DW_AT_address_class(0x20)
DW$T$19	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned char")
	.dwattr DW$T$19, DW_AT_encoding(DW_ATE_unsigned_char)
	.dwattr DW$T$19, DW_AT_byte_size(0x01)

	.dwattr DW$17, DW_AT_external(0x01)
	.dwattr DW$7, DW_AT_external(0x01)
	.dwattr DW$13, DW_AT_external(0x01)
	.dwattr DW$12, DW_AT_external(0x01)
	.dwattr DW$CU, DW_AT_language(DW_LANG_C)

;***************************************************************
;* DWARF CIE ENTRIES                                           *
;***************************************************************

DW$CIE	.dwcie 1, 26
	.dwcfa	0x0c, 13, 0
	.dwcfa	0x07, 0
	.dwcfa	0x07, 1
	.dwcfa	0x07, 2
	.dwcfa	0x07, 3
	.dwcfa	0x08, 4
	.dwcfa	0x08, 5
	.dwcfa	0x08, 6
	.dwcfa	0x08, 7
	.dwcfa	0x08, 8
	.dwcfa	0x08, 9
	.dwcfa	0x08, 10
	.dwcfa	0x08, 11
	.dwcfa	0x07, 12
	.dwcfa	0x07, 13
	.dwcfa	0x07, 14
	.dwcfa	0x07, 15
	.dwcfa	0x07, 16
	.dwcfa	0x07, 17
	.dwcfa	0x07, 18
	.dwcfa	0x07, 19
	.dwcfa	0x07, 20
	.dwcfa	0x07, 21
	.dwcfa	0x07, 22
	.dwcfa	0x07, 23
	.dwcfa	0x07, 24
	.dwcfa	0x07, 25
	.dwcfa	0x07, 26

;***************************************************************
;* DWARF REGISTER MAP                                          *
;***************************************************************

DW$36	.dwtag  DW_TAG_assign_register, DW_AT_name("A1")
	.dwattr DW$36, DW_AT_location[DW_OP_reg0]
DW$37	.dwtag  DW_TAG_assign_register, DW_AT_name("A2")
	.dwattr DW$37, DW_AT_location[DW_OP_reg1]
DW$38	.dwtag  DW_TAG_assign_register, DW_AT_name("A3")
	.dwattr DW$38, DW_AT_location[DW_OP_reg2]
DW$39	.dwtag  DW_TAG_assign_register, DW_AT_name("A4")
	.dwattr DW$39, DW_AT_location[DW_OP_reg3]
DW$40	.dwtag  DW_TAG_assign_register, DW_AT_name("V1")
	.dwattr DW$40, DW_AT_location[DW_OP_reg4]
DW$41	.dwtag  DW_TAG_assign_register, DW_AT_name("V2")
	.dwattr DW$41, DW_AT_location[DW_OP_reg5]
DW$42	.dwtag  DW_TAG_assign_register, DW_AT_name("V3")
	.dwattr DW$42, DW_AT_location[DW_OP_reg6]
DW$43	.dwtag  DW_TAG_assign_register, DW_AT_name("V4")
	.dwattr DW$43, DW_AT_location[DW_OP_reg7]
DW$44	.dwtag  DW_TAG_assign_register, DW_AT_name("V5")
	.dwattr DW$44, DW_AT_location[DW_OP_reg8]
DW$45	.dwtag  DW_TAG_assign_register, DW_AT_name("V6")
	.dwattr DW$45, DW_AT_location[DW_OP_reg9]
DW$46	.dwtag  DW_TAG_assign_register, DW_AT_name("V7")
	.dwattr DW$46, DW_AT_location[DW_OP_reg10]
DW$47	.dwtag  DW_TAG_assign_register, DW_AT_name("V8")
	.dwattr DW$47, DW_AT_location[DW_OP_reg11]
DW$48	.dwtag  DW_TAG_assign_register, DW_AT_name("V9")
	.dwattr DW$48, DW_AT_location[DW_OP_reg12]
DW$49	.dwtag  DW_TAG_assign_register, DW_AT_name("SP")
	.dwattr DW$49, DW_AT_location[DW_OP_reg13]
DW$50	.dwtag  DW_TAG_assign_register, DW_AT_name("LR")
	.dwattr DW$50, DW_AT_location[DW_OP_reg14]
DW$51	.dwtag  DW_TAG_assign_register, DW_AT_name("PC")
	.dwattr DW$51, DW_AT_location[DW_OP_reg15]
DW$52	.dwtag  DW_TAG_assign_register, DW_AT_name("C0")
	.dwattr DW$52, DW_AT_location[DW_OP_reg16]
DW$53	.dwtag  DW_TAG_assign_register, DW_AT_name("C1")
	.dwattr DW$53, DW_AT_location[DW_OP_reg17]
DW$54	.dwtag  DW_TAG_assign_register, DW_AT_name("C2")
	.dwattr DW$54, DW_AT_location[DW_OP_reg18]
DW$55	.dwtag  DW_TAG_assign_register, DW_AT_name("C3")
	.dwattr DW$55, DW_AT_location[DW_OP_reg19]
DW$56	.dwtag  DW_TAG_assign_register, DW_AT_name("C4")
	.dwattr DW$56, DW_AT_location[DW_OP_reg20]
DW$57	.dwtag  DW_TAG_assign_register, DW_AT_name("C5")
	.dwattr DW$57, DW_AT_location[DW_OP_reg21]
DW$58	.dwtag  DW_TAG_assign_register, DW_AT_name("C6")
	.dwattr DW$58, DW_AT_location[DW_OP_reg22]
DW$59	.dwtag  DW_TAG_assign_register, DW_AT_name("C7")
	.dwattr DW$59, DW_AT_location[DW_OP_reg23]
DW$60	.dwtag  DW_TAG_assign_register, DW_AT_name("AP")
	.dwattr DW$60, DW_AT_location[DW_OP_reg24]
DW$61	.dwtag  DW_TAG_assign_register, DW_AT_name("SR")
	.dwattr DW$61, DW_AT_location[DW_OP_reg25]
DW$62	.dwtag  DW_TAG_assign_register, DW_AT_name("CIE_RETA")
	.dwattr DW$62, DW_AT_location[DW_OP_reg26]
	.dwendtag DW$CU

⌨️ 快捷键说明

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