main.s
来自「Cortex-M4+example」· S 代码 · 共 145 行
S
145 行
///////////////////////////////////////////////////////////////////////////////
// /
// IAR ANSI C/C++ Compiler V6.40.1.53790/W32 for ARM 09/Aug/2012 10:07:33 /
// Copyright 1999-2012 IAR Systems AB. /
// /
// Cpu mode = thumb /
// Endian = little /
// Source file = C:\Users\305030973\Desktop\M4 /
// example\01_light\src\Sources\C\main.c /
// Command line = "C:\Users\305030973\Desktop\M4 /
// example\01_light\src\Sources\C\main.c" -D IAR -D /
// TWR_K60N512 -lCN "C:\Users\305030973\Desktop\M4 /
// example\01_light\bin\Flash\List\" -lB /
// "C:\Users\305030973\Desktop\M4 /
// example\01_light\bin\Flash\List\" -o /
// "C:\Users\305030973\Desktop\M4 /
// example\01_light\bin\Flash\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 /
// "C:\Program Files\IAR Systems\Embedded Workbench /
// 6.4_2\arm\INC\c\DLib_Config_Normal.h" -I /
// "C:\Users\305030973\Desktop\M4 /
// example\01_light\src\Sources\H\" -I /
// "C:\Users\305030973\Desktop\M4 /
// example\01_light\src\Sources\H\Component_H\" -I /
// "C:\Users\305030973\Desktop\M4 /
// example\01_light\src\Sources\H\Frame_H\" -I /
// "C:\Program Files\IAR Systems\Embedded Workbench /
// 6.4_2\arm\INC\" -I "C:\Program Files\IAR /
// Systems\Embedded Workbench 6.4_2\arm\INC\CLIB\" -Ol /
// --use_c++_inline /
// List file = C:\Users\305030973\Desktop\M4 /
// example\01_light\bin\Flash\List\main.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME main
#define SHT_PROGBITS 0x1
EXTERN light_change
EXTERN light_init
PUBLIC main
// C:\Users\305030973\Desktop\M4 example\01_light\src\Sources\C\main.c
// 1 //-------------------------------------------------------------------------*
// 2 // 工 程 名: light *
// 3 // 硬件连接: 将K60核心板与扩展板连接 *
// 4 // 程序描述: 用GPIO编程控制小灯闪烁 *
// 5 // 目 的: 第一个Freescale K60系列MCU C语言程序框架 *
// 6 // 说 明: 提供Freescale MCU的编程框架,供教学入门使用 *
// 7 //---------------苏州大学飞思卡尔嵌入式系统实验室2011年--------------------*
// 8
// 9 //头文件
// 10 #include "includes.h"
// 11
// 12 //全局变量声明
// 13
// 14 //主函数
SECTION `.text`:CODE:NOROOT(2)
THUMB
// 15 void main(void)
// 16 {
// 17 //1 主程序使用的变量定义
// 18 uint32 runcount; //运行计数器
// 19
// 20 //2 关中断
// 21 DisableInterrupts; //禁止总中断
main:
CPSID i
// 22
// 23 //3 模块初始化
// 24 light_init(Light_Run_PORT,Light_Run1,Light_OFF); //指示灯初始化
MOVS R2,#+1
MOVS R1,#+13
LDR.N R0,??main_0 ;; 0x400ff080
BL light_init
// 25 light_init(Light_Run_PORT,Light_Run2,Light_ON); //指示灯初始化
MOVS R2,#+0
MOVS R1,#+14
LDR.N R0,??main_0 ;; 0x400ff080
BL light_init
// 26
// 27 //4 开中断
// 28
// 29 //主循环
// 30 while(1)
// 31 {
// 32 //1 主循环计数到一定的值,使小灯的亮、暗状态切换
// 33 runcount++;
??main_1:
ADDS R4,R4,#+1
// 34 if(runcount>=5000000)
LDR.N R0,??main_0+0x4 ;; 0x4c4b40
CMP R4,R0
BCC.N ??main_1
// 35 {
// 36 light_change(Light_Run_PORT,Light_Run1);//指示灯的亮、暗状态切换
MOVS R1,#+13
LDR.N R0,??main_0 ;; 0x400ff080
BL light_change
// 37 light_change(Light_Run_PORT,Light_Run2);//指示灯的亮、暗状态切换
MOVS R1,#+14
LDR.N R0,??main_0 ;; 0x400ff080
BL light_change
// 38 runcount=0;
MOVS R4,#+0
B.N ??main_1
Nop
DATA
??main_0:
DC32 0x400ff080
DC32 0x4c4b40
// 39 }
// 40 }
// 41 }
SECTION `.iar_vfe_header`:DATA:REORDER:NOALLOC:NOROOT(2)
SECTION_TYPE SHT_PROGBITS, 0
DATA
DC32 0
SECTION __DLIB_PERTHREAD:DATA:REORDER:NOROOT(0)
SECTION_TYPE SHT_PROGBITS, 0
SECTION __DLIB_PERTHREAD_init:DATA:REORDER:NOROOT(0)
SECTION_TYPE SHT_PROGBITS, 0
END
// 42
// 43
// 44
// 45
//
// 60 bytes in section .text
//
// 60 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?