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

📄 main.lst

📁 IAR_ATMega16_UCOS_II.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
###############################################################################
#                                                                             #
# IAR C/C++ Compiler V5.30.0.50166/W32 for Atmel AVR    26/Dec/2009  09:14:41 #
# Copyright 1996-2009 IAR Systems AB.                                         #
#                                                                             #
#    Source file  =  E:\design\AVR\IAR_UCOS_II\main.c                         #
#    Command line =  E:\design\AVR\IAR_UCOS_II\main.c --cpu=m16 -ms -o        #
#                    E:\design\AVR\IAR_UCOS_II\Debug\Obj\ -lCN                #
#                    E:\design\AVR\IAR_UCOS_II\Debug\List\ -lB                #
#                    E:\design\AVR\IAR_UCOS_II\Debug\List\                    #
#                    --initializers_in_flash -z3 --no_cse --no_inline         #
#                    --no_code_motion --no_cross_call --no_clustering         #
#                    --no_tbaa --debug -e -I "D:\IAR Systems\Embedded         #
#                    Workbench 5.3 For AVR\avr\INC\" -I "D:\IAR               #
#                    Systems\Embedded Workbench 5.3 For AVR\avr\INC\CLIB\"    #
#                    --eeprom_size 512                                        #
#    List file    =  E:\design\AVR\IAR_UCOS_II\Debug\List\main.lst            #
#    Object file  =  E:\design\AVR\IAR_UCOS_II\Debug\Obj\main.r90             #
#                                                                             #
#                                                                             #
###############################################################################

E:\design\AVR\IAR_UCOS_II\main.c
      1          #include <iom16.h>

   \                                 In  segment ABSOLUTE, at 0x59
   \   <__C20> volatile __io _A_TIMSK
   \                     _A_TIMSK:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x53
   \   <__C38> volatile __io _A_TCCR0
   \                     _A_TCCR0:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x3b
   \   <__C98> volatile __io _A_PORTA
   \                     _A_PORTA:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x3a
   \   <__C101> volatile __io _A_DDRA
   \                     _A_DDRA:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x38
   \   <__C107> volatile __io _A_PORTB
   \                     _A_PORTB:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x37
   \   <__C110> volatile __io _A_DDRB
   \                     _A_DDRB:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x35
   \   <__C116> volatile __io _A_PORTC
   \                     _A_PORTC:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x34
   \   <__C119> volatile __io _A_DDRC
   \                     _A_DDRC:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x32
   \   <__C125> volatile __io _A_PORTD
   \                     _A_PORTD:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x31
   \   <__C128> volatile __io _A_DDRD
   \                     _A_DDRD:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x27
   \   <__C155> volatile __io _A_ADMUX
   \                     _A_ADMUX:
   \   00000000                      DS8 1

   \                                 In  segment ABSOLUTE, at 0x26
   \   <__C158> volatile __io _A_ADCSRA
   \                     _A_ADCSRA:
   \   00000000                      DS8 1
      2          #include "ucos_ii.h"
      3          
      4          #define  TASK_STK_SIZE 100 
      5          
      6          extern void IntEnter(void);
      7          extern void IntExit(void);
      8          
      9          typedef struct os_icb
     10          {
     11            unsigned int CSTACK;
     12            unsigned int RSTACK;
     13            unsigned int frame;
     14          }OS_ICB;

   \                                 In  segment NEAR_Z, align 1, keep-with-next
   \   00000000                      REQUIRE `?<Segment init: NEAR_Z>`
     15          OS_ICB OSICB;
   \                     OSICB:
   \   00000000                      DS8 6
     16          

   \                                 In  segment NEAR_Z, align 1, keep-with-next
   \   00000000                      REQUIRE `?<Segment init: NEAR_Z>`
     17          OS_STK          Task1Stk[TASK_STK_SIZE];
   \                     Task1Stk:
   \   00000000                      DS8 100

   \                                 In  segment NEAR_Z, align 1, keep-with-next
   \   00000000                      REQUIRE `?<Segment init: NEAR_Z>`
     18          OS_STK          Task2Stk[TASK_STK_SIZE];
   \                     Task2Stk:
   \   00000000                      DS8 100

   \                                 In  segment NEAR_Z, align 1, keep-with-next
   \   00000000                      REQUIRE `?<Segment init: NEAR_Z>`
     19          OS_STK          Task3Stk[TASK_STK_SIZE];
   \                     Task3Stk:
   \   00000000                      DS8 100

   \                                 In  segment NEAR_Z, align 1, keep-with-next
   \   00000000                      REQUIRE `?<Segment init: NEAR_Z>`
     20          OS_STK          Task4Stk[TASK_STK_SIZE];
   \                     Task4Stk:
   \   00000000                      DS8 100
     21          
     22          void AvrInit(void);
     23          void Task1(void *);
     24          void Task2(void *);
     25          void Task3(void *);
     26          void Task4(void *);
     27          

   \                                 In  segment CODE, align 2, keep-with-next
     28          void main (void)
   \                     main:
     29          {
     30            AvrInit();
   \   00000000   ....               RCALL   AvrInit
     31            OSInit();
   \   00000002   ........           CALL    OSInit
     32            OSTaskCreate(Task1, (void *)0, (void *)&Task1Stk[TASK_STK_SIZE - 1], 0);
   \   00000006   E060               LDI     R22, 0
   \   00000008   ....               LDI     R20, LOW((Task1Stk + 99))
   \   0000000A   ....               LDI     R21, HIGH((Task1Stk + 99))
   \   0000000C   E020               LDI     R18, 0
   \   0000000E   E030               LDI     R19, 0
   \   00000010   ....               LDI     R16, LOW(Task1/2)
   \   00000012   ....               LDI     R17, (Task1/2) >> 8
   \   00000014   ........           CALL    OSTaskCreate
     33            OSTaskCreate(Task2, (void *)0, (void *)&Task2Stk[TASK_STK_SIZE - 1], 1);
   \   00000018   E061               LDI     R22, 1
   \   0000001A   ....               LDI     R20, LOW((Task2Stk + 99))
   \   0000001C   ....               LDI     R21, HIGH((Task2Stk + 99))
   \   0000001E   E020               LDI     R18, 0
   \   00000020   E030               LDI     R19, 0
   \   00000022   ....               LDI     R16, LOW(Task2/2)
   \   00000024   ....               LDI     R17, (Task2/2) >> 8
   \   00000026   ........           CALL    OSTaskCreate
     34            OSTaskCreate(Task3, (void *)0, (void *)&Task3Stk[TASK_STK_SIZE - 1], 2);
   \   0000002A   E062               LDI     R22, 2
   \   0000002C   ....               LDI     R20, LOW((Task3Stk + 99))
   \   0000002E   ....               LDI     R21, HIGH((Task3Stk + 99))
   \   00000030   E020               LDI     R18, 0
   \   00000032   E030               LDI     R19, 0
   \   00000034   ....               LDI     R16, LOW(Task3/2)
   \   00000036   ....               LDI     R17, (Task3/2) >> 8
   \   00000038   ........           CALL    OSTaskCreate
     35            OSTaskCreate(Task4, (void *)0, (void *)&Task4Stk[TASK_STK_SIZE - 1], 3);  
   \   0000003C   E063               LDI     R22, 3
   \   0000003E   ....               LDI     R20, LOW((Task4Stk + 99))
   \   00000040   ....               LDI     R21, HIGH((Task4Stk + 99))
   \   00000042   E020               LDI     R18, 0
   \   00000044   E030               LDI     R19, 0
   \   00000046   ....               LDI     R16, LOW(Task4/2)
   \   00000048   ....               LDI     R17, (Task4/2) >> 8
   \   0000004A   ........           CALL    OSTaskCreate
     36            OSStart(); 
   \   0000004E   ........           CALL    OSStart
     37          }
   \   00000052   9508               RET
     38          

   \                                 In  segment CODE, align 2, keep-with-next
     39          void AvrInit(void)
   \                     AvrInit:
     40          {
     41          //以下为全局设定
     42            DDRB=0xFF;
   \   00000000   EF0F               LDI     R16, 255
   \   00000002   BB07               OUT     0x17, R16
     43            PORTB=0;
   \   00000004   E000               LDI     R16, 0
   \   00000006   BB08               OUT     0x18, R16
     44            DDRD=0xFF;
   \   00000008   EF0F               LDI     R16, 255
   \   0000000A   BB01               OUT     0x11, R16
     45            PORTD=0;
   \   0000000C   E000               LDI     R16, 0
   \   0000000E   BB02               OUT     0x12, R16
     46            DDRC=0xFF;
   \   00000010   EF0F               LDI     R16, 255
   \   00000012   BB04               OUT     0x14, R16
     47            PORTC=0;
   \   00000014   E000               LDI     R16, 0
   \   00000016   BB05               OUT     0x15, R16
     48            DDRA=0xFC;
   \   00000018   EF0C               LDI     R16, 252
   \   0000001A   BB0A               OUT     0x1A, R16
     49            PORTA=0;
   \   0000001C   E000               LDI     R16, 0
   \   0000001E   BB0B               OUT     0x1B, R16

⌨️ 快捷键说明

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