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

📄 bench.lst

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 LST
📖 第 1 页 / 共 2 页
字号:
     62          
     63              //* Init timer
     64          
     65              //* open terminal for console
     66              COM.usart=&USART0_DESC;
   \   00000038   40019FE5              LDR      R0,??main_0        ;; #USART0_DESC
   \   0000003C   5C119FE5              LDR      R1,??main_0+32     ;; #COM
   \   00000040   000081E5              STR      R0,[R1, #+0]
     67              cd_baud = at91_baud_com(MCKI, BAUD_RATE);
   \   00000044   961CA0E3              MOV      R1,#+0x9600
   \   00000048   7D07A0E3              MOV      R0,#+0x1F40000
   \   0000004C   ........              BL       at91_baud_com
   \   00000050   0020A0E1              MOV      R2,R0
     68              //* open com
     69              at91_open_com(&COM,(COM_8_BIT|COM_PAR_NONE|COM_NBSTOP_1|COM_FLOW_CONTROL_NONE), cd_baud);
   \   00000054   231DA0E3              MOV      R1,#+0x8C0
   \   00000058   40019FE5              LDR      R0,??main_0+32     ;; #COM
   \   0000005C   ........              BL       at91_open_com
     70              at91_print(&COM,message);
   \   00000060   34119FE5              LDR      R1,??main_0+28     ;; #message
   \   00000064   34019FE5              LDR      R0,??main_0+32     ;; #COM
   \   00000068   ........              BL       at91_print
     71              at91_print_frame(&COM,(char *)atmel_header,sizeof(atmel_header));
   \   0000006C   4C20A0E3              MOV      R2,#+0x4C
   \   00000070   0C119FE5              LDR      R1,??main_0+4      ;; #atmel_header
   \   00000074   24019FE5              LDR      R0,??main_0+32     ;; #COM
   \   00000078   ........              BL       at91_print_frame
     72              
     73          for (;;)
     74              {
     75          	    //* check switch SW5 is push wait
     76          		if (( at91_pio_read ( &PIO_DESC) & SW5_MASK ) == SW5_MASK )
   \                     ??main_1:
   \   0000007C   20019FE5              LDR      R0,??main_0+36     ;; #PIO_DESC
   \   00000080   ........              BL       at91_pio_read
   \   00000084   0008A0E1              MOV      R0,R0, LSL #+16
   \   00000088   2008A0E1              MOV      R0,R0, LSR #+16
   \   0000008C   020C00E2              AND      R0,R0,#+0x200
   \   00000090   020C50E3              CMP      R0,#+0x200
   \   00000094   F8FFFF1A              BNE      ??main_1
     77          		{ 	// if switch
     78             			at91_print(&COM,"** Mearsure **\n\r");
   \   00000098   E8109FE5              LDR      R1,??main_0+8      ;; #`?<Constant "** Mearsure **\\n\\r">`
   \   0000009C   FC009FE5              LDR      R0,??main_0+32     ;; #COM
   \   000000A0   ........              BL       at91_print
     79          			at91_pio_write ( &PIO_DESC, LED1, PIO_SET_OUT );
   \   000000A4   0020A0E3              MOV      R2,#+0x0
   \   000000A8   0210A0E3              MOV      R1,#+0x2
   \   000000AC   F0009FE5              LDR      R0,??main_0+36     ;; #PIO_DESC
   \   000000B0   ........              BL       at91_pio_write
     80          			// open timer &TCB0_DESC
     81          			at91_tc_open_count(&TCB_DESC);
   \   000000B4   D8009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   000000B8   ........              BL       at91_tc_open_count
     82          			//* Start timer
     83          			at91_tc_start(&TCB_DESC);
   \   000000BC   D0009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   000000C0   ........              BL       at91_tc_start
     84          
     85          			//* Stop timer
     86          			result_out= at91_tc_stop(&TCB_DESC );
   \   000000C4   C8009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   000000C8   ........              BL       at91_tc_stop
   \   000000CC   0040A0E1              MOV      R4,R0
     87          			sprintf(message,"- Out test %d \n\r",result_out);
   \   000000D0   10002DE9              STMDB    SP!,{R4}           ;; Push
   \   000000D4   B0109FE5              LDR      R1,??main_0+12     ;; #`?<Constant "- Out test %d \\n\\r">`
   \   000000D8   BC009FE5              LDR      R0,??main_0+28     ;; #message
   \   000000DC   ........              BL       sprintf
     88          			at91_print(&COM,message);
   \   000000E0   B4109FE5              LDR      R1,??main_0+28     ;; #message
   \   000000E4   B4009FE5              LDR      R0,??main_0+32     ;; #COM
   \   000000E8   ........              BL       at91_print
     89          			// open timer &TCB0_DESC
     90          			at91_tc_open_count(&TCB_DESC);
   \   000000EC   A0009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   000000F0   ........              BL       at91_tc_open_count
     91          			//* Start timer
     92          			at91_tc_start(&TCB_DESC);
   \   000000F4   98009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   000000F8   ........              BL       at91_tc_start
     93          			cmpt++;
     94          			result= at91_tc_stop(&TCB_DESC );
   \   000000FC   90009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   00000100   ........              BL       at91_tc_stop
     95          			sprintf(message,"- cmpt++ test total:%d test:%d\n\r",result,result-result_out);
   \   00000104   041040E0              SUB      R1,R0,R4
   \   00000108   03002DE9              STMDB    SP!,{R0,R1}        ;; Push
   \   0000010C   7C109FE5              LDR      R1,??main_0+16     ;; #`?<Constant "- cmpt++ test total:%...">`
   \   00000110   84009FE5              LDR      R0,??main_0+28     ;; #message
   \   00000114   ........              BL       sprintf
     96             			at91_print(&COM,message);
   \   00000118   7C109FE5              LDR      R1,??main_0+28     ;; #message
   \   0000011C   7C009FE5              LDR      R0,??main_0+32     ;; #COM
   \   00000120   ........              BL       at91_print
     97          
     98          			// open timer &TCB0_DESC
     99          			at91_tc_open_count(&TCB_DESC);
   \   00000124   68009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   00000128   ........              BL       at91_tc_open_count
    100          	     	//* Start timer
    101          			at91_tc_start(&TCB_DESC);
   \   0000012C   60009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   00000130   ........              BL       at91_tc_start
    102          
    103          			// start test
    104          			testloop(10000);
   \   00000134   710EA0E3              MOV      R0,#+0x710
   \   00000138   020A80E2              ADD      R0,R0,#+0x2000
   \   0000013C   ........              BL       testloop
    105          
    106          			result= at91_tc_stop(&TCB_DESC );
   \   00000140   4C009FE5              LDR      R0,??main_0+20     ;; #TCB_DESC
   \   00000144   ........              BL       at91_tc_stop
    107          			sprintf(message,"- testloop  total %d testloop %d\n\r",result,result-result_out);
   \   00000148   041040E0              SUB      R1,R0,R4
   \   0000014C   03002DE9              STMDB    SP!,{R0,R1}        ;; Push
   \   00000150   40109FE5              LDR      R1,??main_0+24     ;; #`?<Constant "- testloop  total %d ...">`
   \   00000154   40009FE5              LDR      R0,??main_0+28     ;; #message
   \   00000158   ........              BL       sprintf
    108             			at91_print(&COM,message);
   \   0000015C   38109FE5              LDR      R1,??main_0+28     ;; #message
   \   00000160   38009FE5              LDR      R0,??main_0+32     ;; #COM
   \   00000164   ........              BL       at91_print
    109          
    110          		// send result
    111          		at91_pio_write ( &PIO_DESC, LED1, PIO_CLEAR_OUT );
   \   00000168   0120A0E3              MOV      R2,#+0x1
   \   0000016C   0210A0E3              MOV      R1,#+0x2
   \   00000170   2C009FE5              LDR      R0,??main_0+36     ;; #PIO_DESC
   \   00000174   ........              BL       at91_pio_write
   \   00000178   14D08DE2              ADD      SP,SP,#+0x14       ;; stack cleaning
   \   0000017C   BEFFFFEA              B        ??main_1
   \   00000180                         DATA     
   \                     ??main_0:
   \   00000180   ........              DC32     USART0_DESC
   \   00000184   ........              DC32     atmel_header
   \   00000188   ........              DC32     `?<Constant "** Mearsure **\\n\\r">`
   \   0000018C   ........              DC32     `?<Constant "- Out test %d \\n\\r">`
   \   00000190   ........              DC32     `?<Constant "- cmpt++ test total:%...">`
   \   00000194   ........              DC32     TCB_DESC
   \   00000198   ........              DC32     `?<Constant "- testloop  total %d ...">`
   \   0000019C   ........              DC32     message
   \   000001A0   ........              DC32     COM
   \   000001A4   ........              DC32     PIO_DESC
    112          		}
    113              }
    114          
    115          //* End
    116          }
    117          

   Maximum stack usage in bytes:

     Function  CSTACK
     --------  ------
     main         28 

 
 178 bytes in segment HUGE_C    
 528 bytes in segment HUGE_Z    
  12 bytes in segment INITTAB   
 424 bytes in segment NEARFUNC_A
 
 424 bytes of CODE      memory (+ 12 bytes shared)
 178 bytes of HUGECONST memory
 528 bytes of HUGEDATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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