📄 main.s
字号:
///////////////////////////////////////////////////////////////////////////////
// /
// 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\ /
// 02_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.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME main
EXTERN enableuartreint
EXTERN light_change
EXTERN light_init
EXTERN periph_clk_khz
EXTERN uart_init
EXTERN uart_sendN
PUBLIC main
// 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
SECTION `.text`:CODE:NOROOT(2)
THUMB
// 12 void main(void)
// 13 {
main:
PUSH {R4,LR}
// 14 //1 主程序使用的变量定义
// 15 uint32 runcount; //运行计数器
// 16
// 17 //2 关中断
// 18 DisableInterrupts; //禁止总中断
CPSID i
// 19
// 20 //3 模块初始化
// 21 light_init(Light_Run_PORT,Light_Run1,Light_OFF); //指示灯初始化
MOVS R2,#+1
MOVS R1,#+13
LDR.N R0,??DataTable1 ;; 0x400ff080
BL light_init
// 22 uart_init (UART3,periph_clk_khz,9600); //串口初始化
MOV R2,#+9600
LDR.N R0,??DataTable1_1
LDR R1,[R0, #+0]
LDR.N R0,??DataTable1_2 ;; 0x4006d000
BL uart_init
// 23
// 24 //4 开中断
// 25 enableuartreint(UART3,UART3irq); //开串口3接收中断
MOVS R1,#+51
LDR.N R0,??DataTable1_2 ;; 0x4006d000
BL enableuartreint
// 26 EnableInterrupts; //开总中断
CPSIE i
// 27
// 28 uart_sendN(UART3,(uint8*)"Hello World!",12);
MOVS R2,#+12
ADR.W R1,`?<Constant "Hello World!">`
LDR.N R0,??DataTable1_2 ;; 0x4006d000
BL uart_sendN
// 29 //主循环
// 30 while(1)
// 31 {
// 32 //1 主循环计数到一定的值,使小灯的亮、暗状态切换
// 33 runcount++;
??main_0:
ADDS R4,R4,#+1
// 34 if(runcount>=5000000)
LDR.N R0,??DataTable1_3 ;; 0x4c4b40
CMP R4,R0
BCC.N ??main_0
// 35 {
// 36 light_change(Light_Run_PORT,Light_Run1);//指示灯的亮、暗状态切换
MOVS R1,#+13
LDR.N R0,??DataTable1 ;; 0x400ff080
BL light_change
// 37 runcount=0;
MOVS R4,#+0
B.N ??main_0
// 38 }
// 39 }
// 40 }
SECTION `.text`:CODE:NOROOT(2)
DATA
??DataTable1:
DC32 0x400ff080
SECTION `.text`:CODE:NOROOT(2)
DATA
??DataTable1_1:
DC32 periph_clk_khz
SECTION `.text`:CODE:NOROOT(2)
DATA
??DataTable1_2:
DC32 0x4006d000
SECTION `.text`:CODE:NOROOT(2)
DATA
??DataTable1_3:
DC32 0x4c4b40
SECTION `.text`:CODE:NOROOT(2)
DATA
`?<Constant "Hello World!">`:
; Initializer data, 16 bytes
DC8 72, 101, 108, 108, 111, 32, 87, 111, 114, 108
DC8 100, 33, 0, 0, 0, 0
SECTION __DLIB_PERTHREAD:DATA:REORDER:NOROOT(0)
SECTION __DLIB_PERTHREAD_init:DATA:REORDER:NOROOT(0)
END
// 41
// 42
// 43
// 44
//
// 102 bytes in section .text
//
// 102 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -