📄 main.lst
字号:
###############################################################################
# #
# IAR ANSI C/C++ Compiler V6.10.1.52143/W32 for ARM 16/Apr/2011 20:58:13 #
# Copyright 1999-2010 IAR Systems AB. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\src\Sources\C\main.c #
# Command line = "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\src\Sources\C\main.c" -D #
# IAR -D TWR_K60N512 -lCN "E:\Project\15_K60\03_Software\0 #
# 2_My program\K60_IAR\03_uart_int\bin\Ram\List\" -lB #
# "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\bin\Ram\List\" -o #
# "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\bin\Ram\Obj\" --no_cse #
# --no_unroll --no_inline --no_code_motion --no_tbaa #
# --no_clustering --no_scheduling --debug --endian=little #
# --cpu=Cortex-M4 -e --fpu=None --dlib_config #
# D:\iar\arm\INC\c\DLib_Config_Normal.h -I #
# "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\src\Sources\H\" -I #
# "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\src\Sources\H\Component_H\" #
# -I "E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\src\Sources\H\Frame_H\" -Ol #
# --use_c++_inline #
# List file = E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\bin\Ram\List\main.lst #
# Object file = E:\Project\15_K60\03_Software\02_My #
# program\K60_IAR\03_uart_int\bin\Ram\Obj\main.o #
# #
# #
###############################################################################
E:\Project\15_K60\03_Software\02_My program\K60_IAR\03_uart_int\src\Sources\C\main.c
1 //-------------------------------------------------------------------------*
2 // 工 程 名: uart_int *
3 // 硬件连接: 将K60核心板与扩展板连接 *
4 // 程序描述: 启动后发送"Hello World!",之后等待接收一个字节数据,收到后回发*
5 // 目 的: 初步掌握利用中断方式进行串行通信的基本知识 *
6 // 说 明: 波特率为9600,使用UART3口 *
7 //---------------苏州大学飞思卡尔嵌入式系统实验室2011年--------------------*
8
9 //头文件
10 #include "includes.h"
11
\ In section .text, align 4, keep-with-next
12 void main(void)
13 {
\ main:
\ 00000000 10B5 PUSH {R4,LR}
14 //1 主程序使用的变量定义
15 uint32 runcount; //运行计数器
16
17 //2 关中断
18 DisableInterrupts; //禁止总中断
\ 00000002 72B6 CPSID i
19
20 //3 模块初始化
21 light_init(Light_Run_PORT,Light_Run1,Light_OFF); //指示灯初始化
\ 00000004 0122 MOVS R2,#+1
\ 00000006 0D21 MOVS R1,#+13
\ 00000008 .... LDR.N R0,??DataTable1 ;; 0x400ff080
\ 0000000A ........ BL light_init
22 uart_init (UART3,periph_clk_khz,9600); //串口初始化
\ 0000000E 4FF41652 MOV R2,#+9600
\ 00000012 .... LDR.N R0,??DataTable1_1
\ 00000014 0168 LDR R1,[R0, #+0]
\ 00000016 .... LDR.N R0,??DataTable1_2 ;; 0x4006d000
\ 00000018 ........ BL uart_init
23
24 //4 开中断
25 enableuartreint(UART3,UART3irq); //开串口3接收中断
\ 0000001C 3321 MOVS R1,#+51
\ 0000001E .... LDR.N R0,??DataTable1_2 ;; 0x4006d000
\ 00000020 ........ BL enableuartreint
26 EnableInterrupts; //开总中断
\ 00000024 62B6 CPSIE i
27
28 uart_sendN(UART3,(uint8*)"Hello World!",12);
\ 00000026 0C22 MOVS R2,#+12
\ 00000028 ........ ADR.W R1,`?<Constant "Hello World!">`
\ 0000002C .... LDR.N R0,??DataTable1_2 ;; 0x4006d000
\ 0000002E ........ BL uart_sendN
29 //主循环
30 while(1)
31 {
32 //1 主循环计数到一定的值,使小灯的亮、暗状态切换
33 runcount++;
\ ??main_0:
\ 00000032 641C ADDS R4,R4,#+1
34 if(runcount>=5000000)
\ 00000034 .... LDR.N R0,??DataTable1_3 ;; 0x4c4b40
\ 00000036 8442 CMP R4,R0
\ 00000038 FBD3 BCC.N ??main_0
35 {
36 light_change(Light_Run_PORT,Light_Run1);//指示灯的亮、暗状态切换
\ 0000003A 0D21 MOVS R1,#+13
\ 0000003C .... LDR.N R0,??DataTable1 ;; 0x400ff080
\ 0000003E ........ BL light_change
37 runcount=0;
\ 00000042 0024 MOVS R4,#+0
\ 00000044 F5E7 B.N ??main_0
38 }
39 }
40 }
\ In section .text, align 4, keep-with-next
\ ??DataTable1:
\ 00000000 80F00F40 DC32 0x400ff080
\ In section .text, align 4, keep-with-next
\ ??DataTable1_1:
\ 00000000 ........ DC32 periph_clk_khz
\ In section .text, align 4, keep-with-next
\ ??DataTable1_2:
\ 00000000 00D00640 DC32 0x4006d000
\ In section .text, align 4, keep-with-next
\ ??DataTable1_3:
\ 00000000 404B4C00 DC32 0x4c4b40
\ In section .text, align 4, keep-with-next
\ `?<Constant "Hello World!">`:
\ 00000000 ; Initializer data, 16 bytes
\ 00000000 48656C6C6F20 DC8 72, 101, 108, 108, 111, 32, 87, 111, 114, 108
\ 576F726C
\ 0000000A 642100000000 DC8 100, 33, 0, 0, 0, 0
41
42
43
44
Maximum stack usage in bytes:
Function .cstack
-------- -------
main 8
Section sizes:
Function/Label Bytes
-------------- -----
main 70
??DataTable1 4
??DataTable1_1 4
??DataTable1_2 4
??DataTable1_3 4
?<Constant "Hello World!"> 16
102 bytes in section .text
102 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -