osal_memory.lst

来自「TI的基于ZIGBEE2006的协议栈」· LST 代码 · 共 1,197 行 · 第 1/4 页

LST
1,197
字号
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   04/Dec/2008  16:08:41 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  banked                                            #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  C:\Texas Instruments\ZStack-1.4.2\Components\osal #
#                          \common\OSAL_Memory.c                             #
#    Command line       =  -f "D:\#ZIGBEE开发之路\20081030101956Texas        #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\Tools\CC2430DB\f8wCoo #
#                          rd.cfg" (-DCPU32MHZ -DFORCE_MAC_NEAR              #
#                          -DROOT=__near_func -DMAC_CFG_APP_PENDING_QUEUE=TR #
#                          UE -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS       #
#                          "-DCONST=const __code" -DGENERIC=__generic) -f    #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\Tools\CC2430DB\f8wCon #
#                          fig.cfg" (-DSECURE=0 -DDEFAULT_CHANLIST=0x0000080 #
#                          0 -DZDAPP_CONFIG_PAN_ID=0xFFFF                    #
#                          -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
#                          ASK=0x007F -DBEACON_REQUEST_DELAY=100             #
#                          -DBEACON_REQ_DELAY_MASK=0x00FF                    #
#                          -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
#                          OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7           #
#                          -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3  #
#                          -DNWK_MAX_DATA_RETRIES=2                          #
#                          -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9        #
#                          -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20          #
#                          -DNWK_MAX_BINDING_ENTRIES=10                      #
#                          -DMAX_BINDING_CLUSTER_IDS=5                       #
#                          "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09,     #
#                          0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08,   #
#                          0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE     #
#                          -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100           #
#                          -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440   #
#                          -DTOP_BOOT_PAGES=0) -I "C:\Program Files\IAR      #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\" -I "C:\Program Files\IAR       #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\clib\" -I                        #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\" -I                           #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\Source\" -I                 #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\ZMain\TI2430DB\" -I   #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\mt\" #
#                           -I "D:\#ZIGBEE开发之路\20081030101956Texas       #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\hal\ #
#                          include\" -I "D:\#ZIGBEE开发之路\20081030101956Te #
#                          xas Instruments\Texas Instruments\Texas           #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\hal\ #
#                          target\CC2430EB\" -I "D:\#ZIGBEE开发之路\20081030 #
#                          101956Texas Instruments\Texas Instruments\Texas   #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\osal #
#                          \mcu\ccsoc\" -I "D:\#ZIGBEE开发之路\2008103010195 #
#                          6Texas Instruments\Texas Instruments\Texas        #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\osal #
#                          \include\" -I "D:\#ZIGBEE开发之路\20081030101956T #
#                          exas Instruments\Texas Instruments\Texas          #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\af\" -I "D:\#ZIGBEE开发之路\20081030101956Texas #
#                           Instruments\Texas Instruments\Texas              #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\nwk\" -I "D:\#ZIGBEE开发之路\20081030101956Texa #
#                          s Instruments\Texas Instruments\Texas             #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\sec\" -I "D:\#ZIGBEE开发之路\20081030101956Texa #
#                          s Instruments\Texas Instruments\Texas             #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\sys\" -I "D:\#ZIGBEE开发之路\20081030101956Texa #
#                          s Instruments\Texas Instruments\Texas             #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\zdo\" -I "D:\#ZIGBEE开发之路\20081030101956Texa #
#                          s Instruments\Texas Instruments\Texas             #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\zmac #
#                          \f8w\" -I "D:\#ZIGBEE开发之路\20081030101956Texas #
#                           Instruments\Texas Instruments\Texas              #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\zmac #
#                          \" -I "D:\#ZIGBEE开发之路\20081030101956Texas     #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\serv #
#                          ices\saddr\" -I "D:\#ZIGBEE开发之路\2008103010195 #
#                          6Texas Instruments\Texas Instruments\Texas        #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\serv #
#                          ices\sdata\" -I "D:\#ZIGBEE开发之路\2008103010195 #
#                          6Texas Instruments\Texas Instruments\Texas        #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
#                          include\" -I "D:\#ZIGBEE开发之路\20081030101956Te #
#                          xas Instruments\Texas Instruments\Texas           #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
#                          high_level\" -I "D:\#ZIGBEE开发之路\2008103010195 #
#                          6Texas Instruments\Texas Instruments\Texas        #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
#                          low_level\srf03\" -I "D:\#ZIGBEE开发之路\20081030 #
#                          101956Texas Instruments\Texas Instruments\Texas   #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
#                          low_level\srf03\single_chip\" -D CC2430EB -D      #
#                          ZTOOL_P1 -D MT_TASK -lC                           #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\CoordinatorEB\List\" -lA       #
#                          "D:\#ZIGBEE开发之路\20081030101956Texas           #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\CoordinatorEB\List\"           #
#                          --diag_suppress Pe001,Pa010 --diag_remark pe550   #
#                          -o "D:\#ZIGBEE开发之路\20081030101956Texas        #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\CoordinatorEB\Obj\" -e         #
#                          --require_prototypes -z9 --no_code_motion         #
#                          --debug --core=plain --dptr=16,1                  #
#                          --data_model=large --code_model=banked            #
#                          --calling_convention=xdata_reentrant              #
#                          --place_constants=data --nr_virtual_regs 8        #
#                          "C:\Texas Instruments\ZStack-1.4.2\Components\osa #
#                          l\common\OSAL_Memory.c"                           #
#    List file          =  D:\#ZIGBEE开发之路\20081030101956Texas            #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\CoordinatorEB\List\OSAL_Memory #
#                          .lst                                              #
#    Object file        =  D:\#ZIGBEE开发之路\20081030101956Texas            #
#                          Instruments\Texas Instruments\Texas               #
#                          Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\CoordinatorEB\Obj\OSAL_Memory. #
#                          r51                                               #
#                                                                            #
#                                                                            #
##############################################################################

C:\Texas Instruments\ZStack-1.4.2\Components\osal\common\OSAL_Memory.c
      1          /*********************************************************************
      2              Filename:       OSAL_Memory.c
      3              Revised:        $Date: 2006-10-26 11:15:57 -0700 (Thu, 26 Oct 2006) $
      4              Revision:       $Revision: 12421 $
      5          
      6              Description: OSAL Heap Memory management functions.
      7          
      8              Copyright (c) 2006 by Texas Instruments, Inc.
      9              All Rights Reserved.  Permission to use, reproduce, copy, prepare
     10              derivative works, modify, distribute, perform, display or sell this
     11              software and/or its documentation for any purpose is prohibited
     12              without the express written consent of Texas Instruments, Inc.
     13          *********************************************************************/
     14          
     15          /*********************************************************************
     16           * INCLUDES
     17           */
     18          
     19          #include "ZComDef.h"
     20          #include "OSAL_Memory.h"
     21          #include "OnBoard.h"
     22          #include "hal_assert.h"
     23          
     24          #if ( MAXMEMHEAP >= 32768 )
     25            #error MAXMEMHEAP is too big to manage!
     26          #endif
     27          
     28          // Minimum wasted bytes to justify splitting a block before allocation.
     29          #if !defined ( OSALMEM_MIN_BLKSZ )
     30            #define OSALMEM_MIN_BLKSZ    4
     31          #endif
     32          
     33          /* Profiling memory allocations showed that a significant % of very high
     34           * frequency allocations/frees are for block sizes less than or equal to 16.
     35           */
     36          #if !defined ( OSALMEM_SMALL_BLKSZ )
     37            #define OSALMEM_SMALL_BLKSZ  16
     38          #endif
     39          
     40          #if !defined ( OSALMEM_NODEBUG )
     41            #define OSALMEM_NODEBUG      TRUE
     42          #endif
     43          
     44          #if !defined ( OSALMEM_PROFILER )
     45            #define OSALMEM_PROFILER     FALSE
     46          #endif
     47          
     48          #if !defined ( OSALMEM_GUARD )
     49            #define OSALMEM_GUARD  TRUE  // TBD - Hacky workaround til Bugzilla 1252 is fixed!
     50            #define OSALMEM_READY  0xE2
     51          #endif
     52          
     53          #if ( OSALMEM_PROFILER )
     54            #define OSALMEM_INIT   'X'
     55            #define OSALMEM_ALOC   'A'
     56            #define OSALMEM_REIN   'F'
     57          #endif
     58          
     59          /*********************************************************************
     60           * MACROS
     61           */
     62          
     63          /*
     64           *  The MAC_ASSERT macro is for use during debugging.
     65           *  The given expression must evaluate as "true" or else fatal error occurs.
     66           *  At that point, the call stack feature of the debugger can pinpoint where
     67           *  the problem occurred.
     68           *
     69           *  To disable this feature and save code size, the project should define
     70           *  OSALMEM_NODEBUG to TRUE.
     71           */
     72          #if ( OSALMEM_NODEBUG )
     73            #define OSALMEM_ASSERT( expr )
     74            #define OSALMEM_DEBUG( statement )
     75          #else
     76            #define OSALMEM_ASSERT( expr)        HAL_ASSERT( expr )
     77            #define OSALMEM_DEBUG( statement)    st( statement )
     78          #endif
     79          
     80          /*********************************************************************
     81           * TYPEDEFS
     82           */
     83          
     84          typedef uint16  osalMemHdr_t;
     85          
     86          /*********************************************************************
     87           * CONSTANTS
     88           */
     89          
     90          #define OSALMEM_IN_USE  0x8000
     91          
     92          /* This number sets the size of the small-block bucket. Although profiling
     93           * shows max simultaneous alloc of 16x18, timing without profiling overhead
     94           * shows that the best worst case is achieved with the following.
     95           */
     96          #define SMALLBLKHEAP    232
     97          
     98          // To maintain data alignment of the pointer returned, reserve the greater
     99          // space for the memory block header.
    100          #define HDRSZ  ( (sizeof ( halDataAlign_t ) > sizeof( osalMemHdr_t )) ? \
    101                            sizeof ( halDataAlign_t ) : sizeof( osalMemHdr_t ) )
    102          
    103          /*********************************************************************
    104           * GLOBAL VARIABLES
    105           */
    106          
    107          /*********************************************************************
    108           * EXTERNAL VARIABLES
    109           */
    110          
    111          /*********************************************************************
    112           * EXTERNAL FUNCTIONS
    113           */
    114          
    115          /*********************************************************************
    116           * LOCAL VARIABLES
    117           */
    118          
    119          #if ( OSALMEM_GUARD )

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    120            static byte ready = 0;
   \                     ??ready:
   \   000000                DS 1
    121          #endif
    122          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    123          static osalMemHdr_t *ff1;  // First free block in the small-block bucket.

⌨️ 快捷键说明

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