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

📄 osal_nv.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   08/Mar/2009  09:13:26 #
# 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-1.1.0\Component #
#                          s\osal\mcu\ccsoc\OSAL_Nv.c                        #
#    Command line       =  -f "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Proje #
#                          cts\zstack\Samples\GenericApp\CC2430DB\..\..\..\T #
#                          ools\CC2430DB\f8wCoord.cfg" (-DCPU32MHZ           #
#                          -DFORCE_MAC_NEAR -DROOT=__near_func               #
#                          -DMAC_CFG_APP_PENDING_QUEUE=TRUE                  #
#                          -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS          #
#                          "-DCONST=const __code" -DGENERIC=__generic) -f    #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\Tool #
#                          s\CC2430DB\f8wConfig.cfg" (-DSECURE=0             #
#                          -DDEFAULT_CHANLIST=0x00000800                     #
#                          -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 "C:\Texas              #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\" -I "C:\Texas          #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\Source\" -I          #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\ZMai #
#                          n\TI2430DB\" -I "C:\Texas                         #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mt\" -I "C:\Texas Instruments\ZStack-1.4.2-1.1 #
#                          .0\Projects\zstack\Samples\GenericApp\CC2430DB\.. #
#                          \..\..\..\..\Components\hal\include\" -I          #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\..\. #
#                          .\Components\hal\target\CC2430DB\" -I "C:\Texas   #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\osal\mcu\ccsoc\" -I "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\osal\include\" -I "C:\Texas                    #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\af\" -I "C:\Texas                        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\nwk\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\sec\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\sys\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\zdo\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\zmac\f8w\" -I "C:\Texas                        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\zmac\" -I "C:\Texas Instruments\ZStack-1.4.2-1 #
#                          .1.0\Projects\zstack\Samples\GenericApp\CC2430DB\ #
#                          ..\..\..\..\..\Components\services\saddr\" -I     #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\..\. #
#                          .\Components\services\sdata\" -I "C:\Texas        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\include\" -I "C:\Texas                     #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\high_level\" -I "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\low_level\srf03\" -I "C:\Texas             #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\low_level\srf03\single_chip\" -D CC2430DB  #
#                          -D COORDINATOR_BINDING -D xZTOOL_P2 -D xMT_TASK   #
#                          -D xMT_ZDO_FUNC -D xLCD_SUPPORTED=DEBUG -lC       #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\CoordinatorDB #
#                          \List\" -lA "C:\Texas Instruments\ZStack-1.4.2-1. #
#                          1.0\Projects\zstack\Samples\GenericApp\CC2430DB\C #
#                          oordinatorDB\List\" --diag_suppress Pe001,Pa010   #
#                          --diag_remark pe550 -o "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\CoordinatorDB\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-1.1.0\Componen #
#                          ts\osal\mcu\ccsoc\OSAL_Nv.c"                      #
#    List file          =  C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects\ #
#                          zstack\Samples\GenericApp\CC2430DB\CoordinatorDB\ #
#                          List\OSAL_Nv.lst                                  #
#    Object file        =  C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects\ #
#                          zstack\Samples\GenericApp\CC2430DB\CoordinatorDB\ #
#                          Obj\OSAL_Nv.r51                                   #
#                                                                            #
#                                                                            #
##############################################################################

C:\Texas Instruments\ZStack-1.4.2-1.1.0\Components\osal\mcu\ccsoc\OSAL_Nv.c
      1          /*********************************************************************
      2              Filename:       OSAL_Nv.c
      3              Revised:        $Date: 2007-04-11 14:41:47 -0700 (Wed, 11 Apr 2007) $
      4              Revision:       $Revision: 13998 $
      5          
      6              Description: This module contains the OSAL non-volatile memory functions.
      7          
      8              Notes: A trick buried deep in initPage() requires that the MSB of the NV
      9                     Item Id be reserved for use by this module.
     10          
     11              Copyright (c) 2007 by Texas Instruments, Inc.
     12              All Rights Reserved.  Permission to use, reproduce, copy, prepare
     13              derivative works, modify, distribute, perform, display or sell this
     14              software and/or its documentation for any purpose is prohibited
     15              without the express written consent of Texas Instruments, Inc.
     16          *********************************************************************/
     17          
     18          /*********************************************************************
     19           * INCLUDES
     20           */
     21          
     22          #include "ZComDef.h"
     23          #include "hal_adc.h"

   \                                 In segment SFR_AN, at 0xab
   \   unsigned char volatile __sfr FWT
   \                     FWT:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xac
   \   unsigned char volatile __sfr FADDRL
   \                     FADDRL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xad
   \   unsigned char volatile __sfr FADDRH
   \                     FADDRH:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xae
   \   unsigned char volatile __sfr FCTL
   \                     FCTL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xd1
   \   unsigned char volatile __sfr DMAIRQ
   \                     DMAIRQ:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xd6
   \   unsigned char volatile __sfr DMAARM
   \                     DMAARM:
   \   000000                DS 1
     24          #include "hal_dma.h"
     25          #include "osal.h"
     26          #include "OSAL_Nv.h"
     27          #include <ioCC2430.h>
     28          
     29          #if !defined ( OSAL_NV_CLEANUP )
     30            #define OSAL_NV_CLEANUP  FALSE
     31          #endif
     32          
     33          /*********************************************************************
     34           * CONSTANTS
     35           */
     36          
     37          #define OSAL_NV_DMA_CH         (&dmaCh0)
     38          
     39          #define OSAL_NV_ACTIVE          0x00
     40          #define OSAL_NV_ERASED          0xFF
     41          #define OSAL_NV_ERASED_ID       0xFFFF
     42          #define OSAL_NV_ZEROED_ID       0x0000
     43          
     44          #define OSAL_NV_PAGE_FREE      (OSAL_NV_PAGE_SIZE - Z_EXTADDR_LEN)
     45          
     46          /* The last Flash page will reserve an IEEE addr block at the end of the page where the tools know
     47           * to program the IEEE.
     48           */
     49          #define OSAL_NV_IEEE_OFFSET    (OSAL_NV_PAGE_SIZE - Z_EXTADDR_LEN)
     50          #define OSAL_NV_IEEE_PAGE       63
     51          
     52          // In case pages 0-1 are ever used, define a null page value.
     53          #define OSAL_NV_PAGE_NULL       0
     54          
     55          // In case item Id 0 is ever used, define a null item value.
     56          #define OSAL_NV_ITEM_NULL       0
     57          
     58          #define OSAL_NV_WORD_SIZE       4
     59          
     60          #define OSAL_NV_PAGE_HDR_OFFSET 0
     61          
     62          /*********************************************************************
     63           * MACROS
     64           */
     65          
     66          #define OSAL_NV_PAGE_ERASE( pg ) \
     67            st( \
     68              FADDRH = (pg) << 1; \
     69              FCTL = 0x01; \
     70              asm("NOP");              \
     71              while(FCTL == 0x80);     \
     72            )
     73          
     74          #define OSAL_NV_PAGE_TO_ADDR( pg )    ((uint32)pg << 11)
     75          #define OSAL_NV_ADDR_TO_PAGE( addr )  ((uint8)(addr >> 11))
     76          
     77          #define  OSAL_NV_CHECK_BUS_VOLTAGE  (HalAdcCheckVdd( HAL_ADC_VDD_LIMIT_4 ))
     78          
     79          /*********************************************************************
     80           * TYPEDEFS
     81           */
     82          
     83          typedef struct
     84          {
     85            uint16 id;
     86            uint16 len;   // Enforce Flash-WORD size on len.
     87            uint16 chk;   // Byte-wise checksum of the 'len' data bytes of the item.
     88            uint16 stat;  // Item status.
     89          } osalNvHdr_t;
     90          // Struct member offsets.
     91          #define OSAL_NV_HDR_ID    0
     92          #define OSAL_NV_HDR_LEN   2

⌨️ 快捷键说明

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