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

📄 phy.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   11/Dec/2008  13:41:49 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  near                                              #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\src\phy.c                                       #
#    Command line       =  -lC D:\zigbee\演示程序\简化协议的无线收发演示\dem #
#                          o_pro\Debug\List\ -lA D:\zigbee\演示程序\简化协议 #
#                          的无线收发演示\demo_pro\Debug\List\ -o            #
#                          D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\Obj\ -e -z2 --no_cse --no_unroll          #
#                          --no_inline --no_code_motion --no_tbaa --debug    #
#                          --core=plain --dptr=16,1 --data_model=large       #
#                          --code_model=near --calling_convention=xdata_reen #
#                          trant --place_constants=data --nr_virtual_regs 8  #
#                          -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\"           #
#                          D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\src\phy.c                                       #
#    List file          =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\List\phy.lst                              #
#    Object file        =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\Obj\phy.r51                               #
#                                                                            #
#                                                                            #
##############################################################################

D:\zigbee\演示程序\简化协议的无线收发演示\demo_pro\src\phy.c
      1          
      2          #include "compiler.h"
      3          #include "lrwpan_config.h"         //user configurations
      4          #include "lrwpan_common_types.h"   //types common acrosss most files
      5          #include "ieee_lrwpan_defs.h"
      6          #include "hal.h"
      7          #include "halStack.h"
      8          #include "console.h"
      9          #include "phy.h"
     10          
     11          
     12          #include "evboard.h"
     13          
     14          
     15          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     16          PHY_PIB phy_pib;
   \                     phy_pib:
   \   000000                DS 17

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     17          PHY_SERVICE a_phy_service;
   \                     a_phy_service:
   \   000000                DS 4

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     18          PHY_STATE_ENUM phyState;
   \                     phyState:
   \   000000                DS 1
     19          
     20          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     21          BYTE tmpTxBuff[LRWPAN_MAX_FRAME_SIZE];
   \                     tmpTxBuff:
   \   000000                DS 127
     22          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     23          void phyInit(void ) {
   \                     phyInit:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     24            phyState = PHY_STATE_IDLE;
   \   000004   7400         MOV     A,#0x0
   \   000006   90....       MOV     DPTR,#phyState
   \   000009   F0           MOVX    @DPTR,A
     25            phy_pib.flags.val = 0;
   \   00000A   7400         MOV     A,#0x0
   \   00000C   90....       MOV     DPTR,#(phy_pib + 8)
   \   00000F   F0           MOVX    @DPTR,A
     26            phy_pib.flags.bits.txFinished=1;
   \   000010   90....       MOV     DPTR,#(phy_pib + 8)
   \   000013   E0           MOVX    A,@DPTR
   \   000014   4401         ORL     A,#0x1
   \   000016   F0           MOVX    @DPTR,A
   \   000017   A3           INC     DPTR
   \   000018   E0           MOVX    A,@DPTR
   \   000019   4400         ORL     A,#0x0
   \   00001B   F0           MOVX    @DPTR,A
     27          }
   \   00001C   D083         POP     DPH
   \   00001E   D082         POP     DPL
   \   000020   22           RET
     28          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     29          void phyRxCallback(void)
   \                     phyRxCallback:
     30          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
     31          }
   \   000000   22           RET
     32          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     33          void phyTxStartCallBack(void)
   \                     phyTxStartCallBack:
     34          {
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 0
     35              phy_pib.txStartTime = halGetMACTimer();
   \   000005                ; Setup parameters for call to function halGetMACTimer
   \   000005   12....       LCALL   halGetMACTimer
   \   000008   8A..         MOV     ?V0 + 0,R2
   \   00000A   8B..         MOV     ?V0 + 1,R3
   \   00000C   8C..         MOV     ?V0 + 2,R4
   \   00000E   8D..         MOV     ?V0 + 3,R5
   \   000010   90....       MOV     DPTR,#(phy_pib + 10)
   \   000013   78..         MOV     R0,#?V0 + 0
   \   000015   12....       LCALL   ?L_MOV_TO_X
     36          }
   \   000018   7F04         MOV     R7,#0x4
   \   00001A   02....       LJMP    ?FUNC_LEAVE_XDATA
     37          
     38          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     39          void phyFSM(void) {
   \                     phyFSM:
   \   000000   74F1         MOV     A,#-0xf
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 15
   \   000005                ; Auto size: 0
     40          
     41            switch (phyState)
   \   000005   90....       MOV     DPTR,#phyState
   \   000008   E0           MOVX    A,@DPTR
   \   000009   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for phyFSM>_0`:
   \   00000C   01           DB        1
   \   00000D   01           DB        1
   \   00000E   ....         DW        ??phyFSM_0
   \   000010   ....         DW        ??phyFSM_1
   \   000012   ....         DW        ??phyFSM_2
     42            {
     43          	  case PHY_STATE_IDLE:		
     44          	    break;
     45          		
     46          	  case PHY_STATE_COMMAND_START:
     47          	    switch(a_phy_service.cmd)
   \                     ??phyFSM_1:
   \   000014   90....       MOV     DPTR,#a_phy_service
   \   000017   E0           MOVX    A,@DPTR
   \   000018   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for phyFSM>_1`:
   \   00001B   02           DB        2
   \   00001C   00           DB        0
   \   00001D   ....         DW        ??phyFSM_0
   \   00001F   ....         DW        ??phyFSM_3
     48          		{			
     49          		      case LRWPAN_SVC_PHY_TX_DATA:
     50          		        phy_pib.flags.bits.txFinished = 0;
   \                     ??phyFSM_3:
   \   000021   90....       MOV     DPTR,#(phy_pib + 8)
   \   000024   E0           MOVX    A,@DPTR
   \   000025   54FE         ANL     A,#0xfe
   \   000027   F0           MOVX    @DPTR,A
   \   000028   A3           INC     DPTR
   \   000029   E0           MOVX    A,@DPTR
   \   00002A   54FF         ANL     A,#0xff
   \   00002C   F0           MOVX    @DPTR,A
     51          				
     52          		        a_phy_service.status =halSendPacket(phy_pib.currentTxFlen,tmpTxBuff);
   \   00002D                ; Setup parameters for call to function halSendPacket
   \   00002D   7A..         MOV     R2,#(tmpTxBuff & 0xff)
   \   00002F   7B..         MOV     R3,#((tmpTxBuff >> 8) & 0xff)
   \   000031   90....       MOV     DPTR,#(phy_pib + 16)
   \   000034   E0           MOVX    A,@DPTR
   \   000035   F9           MOV     R1,A
   \   000036   12....       LCALL   halSendPacket
   \   000039   E9           MOV     A,R1
   \   00003A   90....       MOV     DPTR,#(a_phy_service + 3)
   \   00003D   F0           MOVX    @DPTR,A
     53          		        if (a_phy_service.status == LRWPAN_STATUS_SUCCESS)
   \   00003E   90....       MOV     DPTR,#(a_phy_service + 3)
   \   000041   E0           MOVX    A,@DPTR
   \   000042   7009         JNZ     ??phyFSM_4
     54          				{		

⌨️ 快捷键说明

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