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

📄 os_viewc.lst

📁 lpc2478开发板基于IAR编译器移植ucos实验例程
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION    12/Dec/2008  17:14:27 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  arm                                                  #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\UCOS-II\uCOSVie #
#                       w\os_viewc.c                                         #
#    Command line    =  E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\UCOS-II\uCOSVie #
#                       w\os_viewc.c -lCN E:\IAR_2478\IAR_2478\26uCOS\Src\uC #
#                       OS\RAM_Debug\List\ -o E:\IAR_2478\IAR_2478\26uCOS\Sr #
#                       c\uCOS\RAM_Debug\Obj\ -z2 --no_cse --no_unroll       #
#                       --no_inline --no_code_motion --no_tbaa               #
#                       --no_clustering --no_scheduling --debug --cpu_mode   #
#                       arm --endian little --cpu ARM7TDMI-S --stack_align   #
#                       4 -e --fpu None --dlib_config "C:\Program Files\IAR  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\arm\LIB\dl4tpannl8n.h" -I                 #
#                       E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\include\ -I     #
#                       E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\ucos-ii\include #
#                       \ -I "C:\Program Files\IAR Systems\Embedded          #
#                       Workbench 4.0 Evaluation\arm\INC\"                   #
#    List file       =  E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\RAM_Debug\List\ #
#                       os_viewc.lst                                         #
#    Object file     =  E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\RAM_Debug\Obj\o #
#                       s_viewc.r79                                          #
#                                                                            #
#                                                                            #
##############################################################################

E:\IAR_2478\IAR_2478\26uCOS\Src\uCOS\UCOS-II\uCOSView\os_viewc.c
      1          /*
      2          *********************************************************************************************************
      3          *                                            uC/OS-View PORT
      4          *
      5          *                          (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
      6          *
      7          *               All rights reserved.  Protected by international copyright laws.
      8          *               Knowledge of the source code may NOT be used to develop a similar product.
      9          *               Please help us continue to provide the Embedded community with the finest
     10          *               software available.  Your honesty is greatly appreciated.
     11          *********************************************************************************************************
     12          */
     13          
     14          /*
     15          *********************************************************************************************************
     16          *
     17          *                                            uC/OS-View PORT
     18          *
     19          *                                             NXP LPC2468
     20          *
     21          * Filename      : os_viewc.c
     22          *********************************************************************************************************
     23          */
     24          
     25          #include <includes.h>

   \                                 In segment DATA_AN, at 0xfffff11c
   \   unsigned long volatile __data VICVectAddr7
   \                     VICVectAddr7:
   \   00000000                      DS8 4

   \                                 In segment DATA_AN, at 0xe002c01c
   \   union <unnamed> volatile __data _A_PINSEL7
   \                     _A_PINSEL7:
   \   00000000                      DS8 4

   \                                 In segment DATA_AN, at 0xe0010000
   \   unsigned char volatile __data U1RBRTHR
   \                     U1RBRTHR:
   \   00000000                      DS8 1

   \                                 In segment DATA_AN, at 0xe0010004
   \   union <unnamed> volatile __data _A_U1IER
   \                     _A_U1IER:
   \   00000000                      DS8 4

   \                                 In segment DATA_AN, at 0xe0010008
   \   union <unnamed> volatile __data _A_U1FCR
   \                     _A_U1FCR:
   \   00000000                      DS8 4

   \                                 In segment DATA_AN, at 0xe001000c
   \   union <unnamed> volatile __data _A_U1LCR
   \                     _A_U1LCR:
   \   00000000                      DS8 1

   \                                 In segment DATA_AN, at 0xe0010014
   \   union <unnamed> const volatile __data _A_U1LSR
   \                     _A_U1LSR:
   \   00000000                      DS8 1
     26          
     27          /*
     28          *********************************************************************************************************
     29          *                                              CONSTANTS
     30          *********************************************************************************************************
     31          */
     32          
     33          /*
     34          *********************************************************************************************************
     35          *                                           EXIT uC/OS-View
     36          *
     37          * Description: This function is called if your target needs to 'uninstall' uC/OS-View.
     38          *
     39          * Arguments   : none
     40          *
     41          * Returns     ; none
     42          *********************************************************************************************************
     43          */
     44          

   \                                 In segment CODE, align 4, keep-with-next
     45          void  OSView_Exit (void)
     46          {
     47              ;
     48          }
   \                     OSView_Exit:
   \   00000000   0EF0A0E1           MOV      PC,LR            ;; return
     49          
     50          /*
     51          *********************************************************************************************************
     52          *                                           Obtain CPU name
     53          *
     54          * Description: This function is used to fetch the CPU name.
     55          *
     56          * Arguments   : s   is a pointer to a string in which the CPU name will be stored.
     57          *
     58          * Returns     ; none.
     59          *********************************************************************************************************
     60          */
     61          

   \                                 In segment CODE, align 4, keep-with-next
     62          void  OSView_GetCPUName (INT8U *s)
     63          {
   \                     OSView_GetCPUName:
   \   00000000   30402DE9           PUSH     {R4,R5,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
     64              INT8U  cpu_clk_freq;
     65          
     66          
     67              cpu_clk_freq = (INT8U)(BSP_CPU_ClkFreq() / 1000000L);
   \   00000008   ........           _BLF     BSP_CPU_ClkFreq,??BSP_CPU_ClkFreq??rA
   \   0000000C   F41AA0E3           MOV      R1,#+999424
   \   00000010   901F81E3           ORR      R1,R1,#0x240
   \   00000014   ........           _BLF     ??divu32_a,??rA??divu32_a
   \   00000018   0150B0E1           MOVS     R5,R1
     68              (void)OS_StrCopy(s, "NXP LPC2468 (xx MHz)");
   \   0000001C   38109FE5           LDR      R1,??OSView_GetCPUName_0  ;; `?<Constant "NXP LPC2468 (xx MHz)">`
   \   00000020   0400B0E1           MOVS     R0,R4
   \   00000024   ........           _BLF     OS_StrCopy,??OS_StrCopy??rA
     69              s[13] = cpu_clk_freq / 10 + '0';
   \   00000028   0500B0E1           MOVS     R0,R5
   \   0000002C   FF0010E2           ANDS     R0,R0,#0xFF      ;; Zero extend
   \   00000030   0A10A0E3           MOV      R1,#+10
   \   00000034   ........           _BLF     ??div32_a,??rA??div32_a
   \   00000038   300091E2           ADDS     R0,R1,#+48
   \   0000003C   0D00C4E5           STRB     R0,[R4, #+13]
     70              s[14] = cpu_clk_freq % 10 + '0';
   \   00000040   0500B0E1           MOVS     R0,R5
   \   00000044   FF0010E2           ANDS     R0,R0,#0xFF      ;; Zero extend
   \   00000048   0A10A0E3           MOV      R1,#+10
   \   0000004C   ........           _BLF     ??div32_a,??rA??div32_a
   \   00000050   300090E2           ADDS     R0,R0,#+48
   \   00000054   0E00C4E5           STRB     R0,[R4, #+14]
     71          }
   \   00000058   3080BDE8           POP      {R4,R5,PC}       ;; return
   \                     ??OSView_GetCPUName_0:
   \   0000005C   ........           DC32     `?<Constant "NXP LPC2468 (xx MHz)">`
     72          
     73          /*
     74          *********************************************************************************************************
     75          *                                  Obtain Interrupt Stack information
     76          *
     77          * Description: These functions return the base and size of the interrupt stack, if used.
     78          *
     79          * Arguments   : none
     80          *
     81          * Returns     ; Stack location.
     82          *
     83          * Notes       : Because no ISR stack is used, these functions return zero.
     84          *********************************************************************************************************
     85          */
     86          

   \                                 In segment CODE, align 4, keep-with-next
     87          INT32U  OSView_GetIntStkBase (void)
     88          {
     89              return (0);                                                         /* We are not using an ISR stack                            */
   \                     OSView_GetIntStkBase:
   \   00000000   0000A0E3           MOV      R0,#+0
   \   00000004   0EF0A0E1           MOV      PC,LR            ;; return
     90          }
     91          
     92          

   \                                 In segment CODE, align 4, keep-with-next
     93          INT32U  OSView_GetIntStkSize (void)
     94          {
     95              return (0);                                                         /* We are not using an ISR stack                            */
   \                     OSView_GetIntStkSize:
   \   00000000   0000A0E3           MOV      R0,#+0
   \   00000004   0EF0A0E1           MOV      PC,LR            ;; return
     96          }
     97          
     98          /*
     99          *********************************************************************************************************
    100          *                                    INITIALIZE uC/OS-View COM PORT
    101          *
    102          * Description: Initialize the hardware required for the OS to run. This will work on any target hardware,
    103          *              but may have to be tailored a little (regarding the clock frequency). Of course the same
    104          *              holds true if for some reason you choose to use another timer.
    105          *
    106          * Arguments   : baud_rate   is the intended baud rate for the port.
    107          *
    108          * Returns     ; none.
    109          *
    110          * Note(s)    : 1) This function assumes that a free running timer has been initialized.  The timer can
    111          *                 either be a 16 bits or 32 bits timer.  Your application needs to provide a function
    112          *                 called OSView_TmrRd() that reads the current counts of this timer.  The free running
    113          *                 timer is initialized by the BSP function OSView_TmrInit().
    114          *********************************************************************************************************
    115          */
    116          

   \                                 In segment CODE, align 4, keep-with-next
    117          void  OSView_InitTarget (INT32U baud_rate)
    118          {
   \                     OSView_InitTarget:
   \   00000000   F04F2DE9           PUSH     {R4-R11,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    119              INT16U     div;                                                     /* Baud rate divisor                                        */
    120              INT8U      divlo;
    121              INT8U      divhi;
    122              INT8U      lcr;										                /* Line Control Register                                    */
    123              INT32U     p_clk_freq;
    124              INT32U     pinsel;

⌨️ 快捷键说明

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