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

📄 uart2.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
000be0  e5900004          LDR      r0,[r0,#4]
000be4  e2000e40          AND      r0,r0,#0x400
000be8  e5810004          STR      r0,[r1,#4]
;;;333        rUCON2 |= (TX_INTTYPE<<9)|(RX_INTTYPE<<8)|(0<<7)|(1<<6)|(0<<5)|(0<<4)|(1<<2)|(2);
000bec  e1a00001          MOV      r0,r1
000bf0  e5900004          LDR      r0,[r0,#4]
000bf4  e3800fc0          ORR      r0,r0,#0x300
000bf8  e3800046          ORR      r0,r0,#0x46
000bfc  e5810004          STR      r0,[r1,#4]
;;;334        //Clock,Tx:Def,Rx:Def,Rx timeout:x,Rx error int:o,Loop-back:x,Send break:x,Tx:int,Rx:dma3
;;;335    
;;;336        /***DMA3 init***/
;;;337        rDISRC3=(U32)URXH2;			// Start address
000c00  e2810024          ADD      r0,r1,#0x24
000c04  e3a0144b          MOV      r1,#0x4b000000
000c08  e58100c0          STR      r0,[r1,#0xc0]
;;;338        rDISRCC3=(1<<1)|(1);		// APB,Fixed
000c0c  e3a00003          MOV      r0,#3
000c10  e3a0144b          MOV      r1,#0x4b000000
000c14  e58100c4          STR      r0,[r1,#0xc4]
;;;339        rDIDST3=(U32)uart2RxStr;	// Memory buffer Address
000c18  e51f0a00          LDR      r0,|L1.544|
000c1c  e5900000          LDR      r0,[r0,#0]  ; uart2RxStr
000c20  e3a0144b          MOV      r1,#0x4b000000
000c24  e58100c8          STR      r0,[r1,#0xc8]
;;;340        rDIDSTC3= (0<<1)|(0);		// AHB,Increment
000c28  e3a00000          MOV      r0,#0
000c2c  e3a0144b          MOV      r1,#0x4b000000
000c30  e58100cc          STR      r0,[r1,#0xcc]
;;;341        rDCON3=(1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(0<<20)|(5);
000c34  e59f0190          LDR      r0,|L1.3532|
000c38  e3a0144b          MOV      r1,#0x4b000000
000c3c  e58100d0          STR      r0,[r1,#0xd0]
;;;342        //handshake, sync PCLK, TC int, single tx, single service, Uart2, H/W request,auto-reload off, Byte size Tx, Tx count value
;;;343    
;;;344        // Clear Int Pending and Unmask
;;;345        ClearPending(BIT_UART2);
000c40  e3a00c80          MOV      r0,#0x8000
000c44  e3a0144a          MOV      r1,#0x4a000000
000c48  e5810000          STR      r0,[r1,#0]
000c4c  e3a00c80          MOV      r0,#0x8000
000c50  e3a0144a          MOV      r1,#0x4a000000
000c54  e5810010          STR      r0,[r1,#0x10]
000c58  e3a0044a          MOV      r0,#0x4a000000
000c5c  e5900010          LDR      r0,[r0,#0x10]
;;;346        rINTMSK=~(BIT_DMA3|BIT_UART2);
000c60  e3e00942          MVN      r0,#0x108000
000c64  e3a0144a          MOV      r1,#0x4a000000
000c68  e5810008          STR      r0,[r1,#8]
;;;347        rSUBSRCPND=(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
000c6c  e3a00f70          MOV      r0,#0x1c0
000c70  e3a0144a          MOV      r1,#0x4a000000
000c74  e5810018          STR      r0,[r1,#0x18]
;;;348        rINTSUBMSK=~(BIT_SUB_ERR2);
000c78  e3e00f40          MVN      r0,#0x100
000c7c  e3a0144a          MOV      r1,#0x4a000000
000c80  e581001c          STR      r0,[r1,#0x1c]
;;;349        rDMASKTRIG3=(0<<2)|(1<<1)|(0);    //no-stop, DMA3 channel on, no-SW trigger 
000c84  e3a00002          MOV      r0,#2
000c88  e3a0144b          MOV      r1,#0x4b000000
000c8c  e58100e0          STR      r0,[r1,#0xe0]
;;;350    
;;;351        while(isDone);
000c90  e1a00000          NOP      
                  |L1.3220|
000c94  e51f08bc          LDR      r0,|L1.992|
000c98  e5900000          LDR      r0,[r0,#0]  ; isDone
000c9c  e3500000          CMP      r0,#0
000ca0  1afffffb          BNE      |L1.3220|
;;;352    
;;;353        Uart_Printf("%s\n",uart2RxStr);
000ca4  e51f0a8c          LDR      r0,|L1.544|
000ca8  e5901000          LDR      r1,[r0,#0]  ; uart2RxStr
000cac  e24f0f98          ADR      r0,|L1.2644|
000cb0  ebfffffe          BL       Uart_Printf
;;;354        
;;;355    
;;;356        //----------------------------------------------------------------------------------------->    
;;;357        Uart_Printf("Jumper Setting  <======>  J16: 2-3, J18:2-3");
000cb4  e24f0f99          ADR      r0,|L1.2648|
000cb8  ebfffffe          BL       Uart_Printf
;;;358        Uart_Printf("\nConnect PC[COM1 or COM2] and UART1 of SMDK2442 with a serial cable!!! \n");
000cbc  e51f0240          LDR      r0,|L1.2692|
000cc0  ebfffffe          BL       Uart_Printf
;;;359        Uart_Printf("Then, press any key........\n");
000cc4  e24f0fbc          ADR      r0,|L1.2524|
000cc8  ebfffffe          BL       Uart_Printf
;;;360        Uart_Select(1);
000ccc  e3a00001          MOV      r0,#1
000cd0  ebfffffe          BL       Uart_Select
;;;361        Uart_Getch();
000cd4  ebfffffe          BL       Uart_Getch
;;;362        //--------------------------->
;;;363    
;;;364    
;;;365        Uart_Port_Return();
000cd8  ebfffffe          BL       Uart_Port_Return
;;;366    }
000cdc  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.3296|
000ce0  00000178          DCD      ||.constdata$1|| + 376
                  |L1.3300|
000ce4  61555b0a          DCB      "\n[Ua"
000ce8  63207472          DCB      "rt c"
000cec  6e6e6168          DCB      "hann"
000cf0  32206c65          DCB      "el 2"
000cf4  414d4420          DCB      " DMA"
000cf8  78542033          DCB      "3 Tx"
000cfc  73655420          DCB      " Tes"
000d00  000a5d74          DCB      "t]\n\0"
                  |L1.3332|
000d04  706d754a          DCB      "Jump"
000d08  53207265          DCB      "er S"
000d0c  69747465          DCB      "etti"
000d10  2020676e          DCB      "ng  "
000d14  3d3d3d3c          DCB      "<==="
000d18  3e3d3d3d          DCB      "===>"
000d1c  314a2020          DCB      "  J1"
000d20  2d323a37          DCB      "7:2-"
000d24  4a202c33          DCB      "3, J"
000d28  323a3931          DCB      "19:2"
000d2c  202c332d          DCB      "-3, "
000d30  3a36314a          DCB      "J16:"
000d34  322d3120          DCB      " 1-2"
000d38  314a202c          DCB      ", J1"
000d3c  2d313a38          DCB      "8:1-"
000d40  00000032          DCB      "2\0\0\0"
                  |L1.3396|
000d44  74726f50          DCB      "Port"
000d48  20736920          DCB      " is "
000d4c  6e616863          DCB      "chan"
000d50  2e646567          DCB      "ged."
000d54  2e2e2e2e          DCB      "...."
000d58  000a2e2e          DCB      "..\n\0"
                  |L1.3420|
000d5c  00000000          DCD      Uart2_TxDmaDone
                  |L1.3424|
000d60  00000309          DCD      0x00000309
                  |L1.3428|
000d64  50008020          DCD      0x50008020
                  |L1.3432|
000d68  61555b0a          DCB      "\n[Ua"
000d6c  63207472          DCB      "rt c"
000d70  6e6e6168          DCB      "hann"
000d74  32206c65          DCB      "el 2"
000d78  414d4420          DCB      " DMA"
000d7c  78522033          DCB      "3 Rx"
000d80  73655420          DCB      " Tes"
000d84  000a5d74          DCB      "t]\n\0"
                  |L1.3464|
000d88  65707954          DCB      "Type"
000d8c  796e6120          DCB      " any"
000d90  76696620          DCB      " fiv"
000d94  656b2065          DCB      "e ke"
000d98  21217379          DCB      "ys!!"
000d9c  00000a21          DCB      "!\n\0\0"
                  |L1.3488|
000da0  6e656854          DCB      "Then"
000da4  756f7920          DCB      " you"
000da8  6c697720          DCB      " wil"
000dac  6573206c          DCB      "l se"
000db0  68772065          DCB      "e wh"
000db4  79207461          DCB      "at y"
000db8  7420756f          DCB      "ou t"
000dbc  64657079          DCB      "yped"
000dc0  00000a2e          DCB      ".\n\0\0"
                  |L1.3524|
000dc4  00000000          DCD      Uart2_RxDmaDone
                  |L1.3528|
000dc8  00000000          DCD      Uart2_RxDmaOrErr
                  |L1.3532|
000dcc  a0c00005          DCD      0xa0c00005
                          ENDP

                  Test_Uart2_Fifo PROC
;;;368    void Test_Uart2_Fifo(void)
;;;369    {
000dd0  e92d4008          STMFD    sp!,{r3,lr}
;;;370        Uart_Port_Set(); 
000dd4  ebfffffe          BL       Uart_Port_Set
;;;371        // Additional configuration for UART2 port
;;;372        //rGPHCON&=0x3fafff;      // TXD2,RXD2
;;;373    
;;;374        Uart_Select(1);
000dd8  e3a00001          MOV      r0,#1
000ddc  ebfffffe          BL       Uart_Select
;;;375        /******* UART2 Tx FIFO test with interrupt ********/     
;;;376        Uart_Printf("[Uart channel 2 Tx FIFO Interrupt Test]\n");
000de0  e28f0f9f          ADR      r0,|L1.4196|
000de4  ebfffffe          BL       Uart_Printf
;;;377        Uart_TxEmpty(1);	//wait until tx buffer is empty.
000de8  e3a00001          MOV      r0,#1
000dec  ebfffffe          BL       Uart_TxEmpty
;;;378        
;;;379        //-------------------------------------------------------------------------------------------->
;;;380        Uart_Printf(" Jumper Setting  <======> J17:2-3, J19:2-3, J16: 1-2, J18:1-2");
000df0  e28f0fa6          ADR      r0,|L1.4240|
000df4  ebfffffe          BL       Uart_Printf
;;;381        Uart_Printf("\nConnect PC[COM1 or COM2] and UART2 of SMDK2442 with a serial cable!!! \n");
000df8  e51f0428          LDR      r0,|L1.2520|
000dfc  ebfffffe          BL       Uart_Printf
;;;382        Uart_Printf("Then, press any key........\n");
000e00  e59f02c8          LDR      r0,|L1.4304|
000e04  ebfffffe          BL       Uart_Printf
;;;383        Uart_Select(2);	// Change the uart port    
000e08  e3a00002          MOV      r0,#2
000e0c  ebfffffe          BL       Uart_Select
;;;384        Uart_Getch();
000e10  ebfffffe          BL       Uart_Getch
;;;385        //----------------------------------------->
;;;386        
;;;387        
;;;388        /* <Tx Trigger Level:8Byte> */    
;;;389        uart2TxStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART2 Tx FIFO interrupt(8byte) test is good!!!!\r\n";
000e14  e59f02b8          LDR      r0,|L1.4308|
000e18  e51f1cc8          LDR      r1,|L1.344|
000e1c  e5810000          STR      r0,[r1,#0]  ; uart2TxStr
;;;390        pISR_UART2=(U32)Uart2_TxFifo;
000e20  e59f02b0          LDR      r0,|L1.4312|
000e24  e51f142c          LDR      r1,|L1.2560|
000e28  e5810f5c          STR      r0,[r1,#0xf5c]
;;;391        rULCON2=(0<<6)|(0<<3)|(0<<2)|(3);	// Normal,No parity,One stop bit, 8bit
000e2c  e3a00003          MOV      r0,#3
000e30  e51f1cdc          LDR      r1,|L1.348|
000e34  e5810000          STR      r0,[r1,#0]
;;;392        rUCON2 |= (TX_INTTYPE<<9)|(RX_INTTYPE<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(1<<2)|(1);
000e38  e1c10000          BIC      r0,r1,r0
000e3c  e5900004          LDR      r0,[r0,#4]
000e40  e3800fc0          ORR      r0,r0,#0x300
000e44  e3800005          ORR      r0,r0,#5
000e48  e5810004          STR      r0,[r1,#4]
;;;393        //Clock,Tx:Def,Rx:Def,Rx timeout:x,Rx error int:x,Loop-back:x,Send break:x,Tx:int,Rx:int
;;;394        rUFCON2=(2<<6)|(1<<4)|(1<<2)|(1<<1)|(1);
000e4c  e3a00097          MOV      r0,#0x97
000e50  e1c11000          BIC      r1,r1,r0
000e54  e5810008          STR      r0,[r1,#8]
;;;395        //Tx and Rx FIFO Trigger Level:8byte,Tx and Rx FIFO Reset,FIFO on
;;;396        rINTMSK=~(BIT_UART2);
000e58  e3e00c80          MVN      r0,#0x8000
000e5c  e3a0144a          MOV      r1,#0x4a000000
000e60  e5810008          STR      r0,[r1,#8]
;;;397        rINTSUBMSK=~(BIT_SUB_TXD2);
000e64  e3e00080          MVN      r0,#0x80
000e68  e3a0144a          MOV      r1,#0x4a000000
000e6c  e581001c          STR      r0,[r1,#0x1c]
;;;398        Delay(500);
000e70  e3a00f7d          MOV      r0,#0x1f4
000e74  ebfffffe          BL       Delay
;;;399        rUFCON2=(2<<6)|(1<<4)|(1<<2)|(1<<1)|(0);
000e78  e3a00096          MOV      r0,#0x96
000e7c  e51f1d28          LDR      r1,|L1.348|
000e80  e5810008          STR      r0,[r1,#8]
;;;400        //Tx and Rx FIFO Trigger Level:8byte,Tx and Rx FIFO Reset,FIFO off
;;;401    
;;;402        /* <Tx Trigger Level:12Byte> */    
;;;403        uart2TxStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART2 Tx FIFO interrupt(12byte) test is good!!!!\r\n";
000e84  e59f0250          LDR      r0,|L1.4316|
000e88  e51f1d38          LDR      r1,|L1.344|
000e8c  e5810000          STR      r0,[r1,#0]  ; uart2TxStr
;;;404        pISR_UART2=(unsigned)Uart2_TxFifo;
000e90  e59f0240          LDR      r0,|L1.4312|
000e94  e51f149c          LDR      r1,|L1.2560|
000e98  e5810f5c          STR      r0,[r1,#0xf5c]
;;;405        rULCON2=(0<<6)|(0<<3)|(0<<2)|(3);	// Normal,No parity,One stop bit, 8bit
000e9c  e3a00003          MOV      r0,#3
000ea0  e51f1d4c          LDR      r1,|L1.348|
000ea4  e5810000          STR      r0,[r1,#0]
;;;406        rUCON2 |= (TX_INTTYPE<<9)|(RX_INTTYPE<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(1<<2)|(1);
000ea8  e1c10000          BIC      r0,r1,r0
000eac  e5900004          LDR      r0,[r0,#4]
000eb0  e3800fc0          ORR      r0,r0,#0x300
000eb4  e3800005          ORR      r0,r0,#5
000eb8  e5810004          STR      r0,[r1,#4]
;;;407        //Clock,Tx:Def,Rx:Def,Rx timeout:x,Rx error int:x,Loop-back:x,Send break:x,Tx:int,Rx:int
;;;408        rUFCON2=(3<<6)|(2<<4)|(1<<2)|(1<<1)|(1);
000ebc  e3a000e7          MOV      r0,#0xe7
000ec0  e1c11000          BIC      r1,r1,r0
000ec4  e5810008          STR      r0,[r1,#8]
;;;409        //Tx and Rx FIFO Trigger Level:12byte,Tx and Rx FIFO Reset,FIFO on
;;;410        rINTMSK=~(BIT_UART2);
000ec8  e3e00c80          MVN      r0,#0x8000
000ecc  e3a0144a          MOV      r1,#0x4a000000
000ed0  e5810008          STR      r0,[r1,#8]
;;;411        rINTSUBMSK=~(BIT_SUB_TXD2);
000ed4  e3e00080          MVN      r0,#0x80
000ed8  e3a0144a          MOV      r1,#0x4a000000
000edc  e5810

⌨️ 快捷键说明

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