📄 flash.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 14/Dec/2005 14:41:44 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\Common\Minimal #
# \flash.c #
# Command line = D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\Common\Minimal #
# \flash.c -D _NDEBUG -D STR71X_IAR -lC #
# D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\binary\List\ --diag_suppress pe191,pa082 -o #
# D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\binary\Obj\ -s9 --no_clustering --cpu_mode thumb #
# --endian little --cpu ARM7TDMI --stack_align 4 #
# --interwork -e --require_prototypes --fpu None #
# --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tptinl8n.h" -I #
# D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\ -I D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR #
# 71x_IAR\library\include\ -I #
# D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\..\common\include\ -I D:\board\FreeRTOSV3.2.3\Free #
# RTOS\Demo\ARM7_STR71x_IAR\..\..\source\include\ -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\INC\" #
# List file = D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\binary\List\flash.lst #
# Object file = D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\ARM7_STR71x_IA #
# R\binary\Obj\flash.r79 #
# #
# #
##############################################################################
D:\board\FreeRTOSV3.2.3\FreeRTOS\Demo\Common\Minimal\flash.c
1 /*
2 FreeRTOS V3.2.3 - Copyright (C) 2003-2005 Richard Barry.
3
4 This file is part of the FreeRTOS distribution.
5
6 FreeRTOS is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 FreeRTOS is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with FreeRTOS; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20 A special exception to the GPL can be applied should you wish to distribute
21 a combined work that includes FreeRTOS, without being obliged to provide
22 the source code for any proprietary components. See the licensing section
23 of http://www.FreeRTOS.org for full details of how and when the exception
24 can be applied.
25
26 ***************************************************************************
27 See http://www.FreeRTOS.org for documentation, latest information, license
28 and contact details. Please ensure to read the configuration and relevant
29 port sections of the online documentation.
30 ***************************************************************************
31 */
32
33 /**
34 * This version of flash .c is for use on systems that have limited stack space
35 * and no display facilities. The complete version can be found in the
36 * Demo/Common/Full directory.
37 *
38 * Three tasks are created, each of which flash an LED at a different rate. The first
39 * LED flashes every 200ms, the second every 400ms, the third every 600ms.
40 *
41 * The LED flash tasks provide instant visual feedback. They show that the scheduler
42 * is still operational.
43 *
44 * The PC port uses the standard parallel port for outputs, the Flashlite 186 port
45 * uses IO port F and the AVR port port B.
46 *
47 */
48
49 /*
50 Changes from V2.0.0
51
52 + Delay periods are now specified using variables and constants of
53 portTickType rather than unsigned portLONG.
54
55 Changes from V2.5.5
56
57 + Calls to vTaskDelay() have been replaced with vTaskDelayUntil().
58
59 */
60
61 #include <stdlib.h>
62
63 /* Scheduler include files. */
64 #include "FreeRTOS.h"
65 #include "task.h"
66
67 /* Demo program include files. */
68 #include "partest.h"
69 #include "flash.h"
70
71 #define ledSTACK_SIZE configMINIMAL_STACK_SIZE
72 #define ledNUMBER_OF_LEDS ( 3 )
73 #define ledFLASH_RATE_BASE ( ( portTickType ) 333 )
74
75 /* Variable used by the created tasks to calculate the LED number to use, and
76 the rate at which they should flash the LED. */
\ In segment DATA_Z, align 4, align-sorted
77 static volatile unsigned portBASE_TYPE uxFlashTaskNumber = 0;
\ ??uxFlashTaskNumber:
\ 00000000 DS8 4
78
79 /* The task that is created three times. */
80 static portTASK_FUNCTION_PROTO( vLEDFlashTask, pvParameters );
81
82 /*-----------------------------------------------------------*/
83
\ In segment CODE, align 4, keep-with-next
84 void vStartLEDFlashTasks( unsigned portBASE_TYPE uxPriority )
85 {
\ vStartLEDFlashTasks:
\ 00000000 70B5 PUSH {R4-R6,LR}
\ 00000002 041C MOV R4,R0
86 signed portBASE_TYPE xLEDTask;
87
88 /* Create the three tasks. */
89 for( xLEDTask = 0; xLEDTask < ledNUMBER_OF_LEDS; ++xLEDTask )
90 {
91 /* Spawn the task. */
92 xTaskCreate( vLEDFlashTask, ( const signed portCHAR * const ) "LEDx", ledSTACK_SIZE, NULL, uxPriority, ( xTaskHandle * ) NULL );
\ 00000004 0F4D LDR R5,??vStartLEDFlashTasks_0 ;; ??vLEDFlashTask
\ 00000006 104E LDR R6,??vStartLEDFlashTasks_0+0x4 ;; `?<Constant "LEDx">`
\ 00000008 0021 MOV R1,#+0
\ 0000000A 03B4 PUSH {R0,R1}
\ 0000000C 0023 MOV R3,#+0
\ 0000000E 6422 MOV R2,#+0x64
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -