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

📄 onboard.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000088   9A           SUBB    A,R2
   \   000089   50DE         JNC     ??_itoa_5
    364          
    365            *buf = '\0';
   \   00008B   E4           CLR     A
   \   00008C   F0           MOVX    @DPTR,A
    366          }
   \   00008D   7405         MOV     A,#0x5
   \   00008F   12....       LCALL   ?DEALLOC_XSTACK8
   \   000092   7F06         MOV     R7,#0x6
   \   000094   02....       LJMP    ?BANKED_LEAVE_XDATA
    367          
    368          /*********************************************************************
    369           * @fn        Onboard_rand
    370           *
    371           * @brief    Random number generator
    372           *
    373           * @param   none
    374           *
    375           * @return  uint16 - new random number
    376           *
    377           *********************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    378          uint16 Onboard_rand( void )
   \                     Onboard_rand:
    379          {
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
    380            uint16 randNum;
    381          
    382            randNum = macMcuRandomByte();
   \   000005                ; Setup parameters for call to function macMcuRandomByte
   \   000005   90....       MOV     DPTR,#(macMcuRandomByte & 0xffff)
   \   000008   74..         MOV     A,#((macMcuRandomByte >> 16) & 0xff)
   \   00000A   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00000D   E9           MOV     A,R1
   \   00000E   FE           MOV     R6,A
    383            randNum += (macMcuRandomByte() << 8);
   \   00000F                ; Setup parameters for call to function macMcuRandomByte
   \   00000F   74..         MOV     A,#((macMcuRandomByte >> 16) & 0xff)
   \   000011   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000014   EE           MOV     A,R6
   \   000015   2400         ADD     A,#0x0
   \   000017   E4           CLR     A
   \   000018   39           ADDC    A,R1
   \   000019   FF           MOV     R7,A
    384            return ( randNum );
   \   00001A   EE           MOV     A,R6
   \   00001B   FA           MOV     R2,A
   \   00001C   EF           MOV     A,R7
   \   00001D   FB           MOV     R3,A
   \   00001E   7F01         MOV     R7,#0x1
   \   000020   02....       LJMP    ?BANKED_LEAVE_XDATA
    385          }
    386          
    387          /*********************************************************************
    388           * @fn        Onboard_wait
    389           *
    390           * @brief    Random number generator
    391           *
    392           * @param   uint16 - time to wait
    393           *
    394           * @return  none
    395           *
    396           *********************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    397          void Onboard_wait( uint16 timeout )
   \                     Onboard_wait:
    398          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
   \   000000   8003         SJMP    ??Onboard_wait_0
    399            while (timeout--)
    400            {
    401              asm("NOP");
   \                     ??Onboard_wait_1:
   \   000002   00           NOP
    402              asm("NOP");
   \   000003   00           NOP
    403              asm("NOP");
   \   000004   00           NOP
    404            }
   \                     ??Onboard_wait_0:
   \   000005   EA           MOV     A,R2
   \   000006   F8           MOV     R0,A
   \   000007   EB           MOV     A,R3
   \   000008   F9           MOV     R1,A
   \   000009   74FF         MOV     A,#-0x1
   \   00000B   28           ADD     A,R0
   \   00000C   1A           DEC     R2
   \   00000D   74FF         MOV     A,#-0x1
   \   00000F   39           ADDC    A,R1
   \   000010   FB           MOV     R3,A
   \   000011   E8           MOV     A,R0
   \   000012   7001         JNZ     ??Onboard_wait_2
   \   000014   E9           MOV     A,R1
   \                     ??Onboard_wait_2:
   \   000015   70EB         JNZ     ??Onboard_wait_1
    405          }
   \   000017   02....       LJMP    ?BRET
    406          
    407          /*********************************************************************
    408           * @fn      Osal_TimerCallBack()
    409           *
    410           * @brief   Update the timer per tick
    411           *
    412           * @param   none
    413           *
    414           * @return  local clock in milliseconds
    415           **********************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    416          void Onboard_TimerCallBack ( uint8 timerId, uint8 channel, uint8 channelMode)
   \                     Onboard_TimerCallBack:
    417          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    418          
    419            if ((timerId == OSAL_TIMER) && (channelMode == HAL_TIMER_CH_MODE_OUTPUT_COMPARE))
   \   000004   7402         MOV     A,#0x2
   \   000006   69           XRL     A,R1
   \   000007   700D         JNZ     ??Onboard_TimerCallBack_0
   \   000009   7402         MOV     A,#0x2
   \   00000B   6B           XRL     A,R3
   \   00000C   7008         JNZ     ??Onboard_TimerCallBack_0
    420            {
    421              osal_update_timers();
   \   00000E                ; Setup parameters for call to function osal_update_timers
   \   00000E   90....       MOV     DPTR,#(osal_update_timers & 0xffff)
   \   000011   74..         MOV     A,#((osal_update_timers >> 16) & 0xff)
   \   000013   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    422            }
    423          }
   \                     ??Onboard_TimerCallBack_0:
   \   000016   02....       LJMP    ?Subroutine0 & 0xFFFF
    424          
    425          /*********************************************************************
    426           *                    EXTERNAL I/O FUNCTIONS
    427           *
    428           * User defined functions to control external devices. Add your code
    429           * to the following functions to control devices wired to DB outputs.
    430           *
    431           *********************************************************************/
    432          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    433          void BigLight_On( void )
   \                     BigLight_On:
    434          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    435            // Put code here to turn on an external light
    436          }
   \   000000   02....       LJMP    ?BRET
    437          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    438          void BigLight_Off( void )
   \                     BigLight_Off:
    439          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    440            // Put code here to turn off an external light
    441          }
   \   000000   02....       LJMP    ?BRET
    442          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    443          void BuzzerControl( byte on )
   \                     BuzzerControl:
    444          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    445            // Put code here to turn a buzzer on/off
    446          }
   \   000000   02....       LJMP    ?BRET
    447          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    448          void Dimmer( byte lvl )
   \                     Dimmer:
    449          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    450            // Put code here to control a dimmer
    451          }
   \   000000   02....       LJMP    ?BRET
    452          
    453          // No dip switches on this board

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    454          byte GetUserDipSw( void )
   \                     GetUserDipSw:
    455          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    456            return 0;
   \   000000   7900         MOV     R1,#0x0
   \   000002   02....       LJMP    ?BRET
    457          }

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for registeredKeysTaskID>`:
   \   000000   FF           DB 255

   \                                 In segment SFR_AN, at 0x90
   \   union <unnamed> volatile __sfr _A_P1
   \                     _A_P1:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xa8
   \   union <unnamed> volatile __sfr _A_IEN0
   \                     _A_IEN0:
   \   000000                DS 1
    458          
    459          /*********************************************************************
    460          *********************************************************************/

   Maximum stack usage in bytes:

     Function                ISTACK PSTACK XSTACK
     --------                ------ ------ ------
     BigLight_Off                0      0      0
     BigLight_On                 0      0      0
     BuzzerControl               0      0      0
     Dimmer                      0      0      0
     GetUserDipSw                0      0      0
     InitBoard                   0      0     14
       -> osal_int_disable       0      0     22
       -> HalLedSet              0      0     22
       -> HalLedSet              0      0     22
       -> Onboard_wait           0      0     22
       -> Onboard_wait           0      0     22
       -> HalLedSet              0      0     22
       -> Onboard_wait           0      0     22
       -> Onboard_wait           0      0     22
       -> HalTimerConfig         0      0     28
       -> HalKeyConfig           0      0     28
     OnBoard_KeyCallback         2      0      0
       -> OnBoard_SendKeys       4      0      0
     OnBoard_SendKeys            3      0     10
       -> osal_msg_allocate      0      0     20
       -> osal_msg_send          0      0     20
     OnBoard_stack_used          2      0      0
     Onboard_TimerCallBack       2      0      0
       -> osal_update_timers     4      0      0
     Onboard_rand                0      0      9
       -> macMcuRandomByte       0      0     18
       -> macMcuRandomByte       0      0     18
     Onboard_wait                0      0     11
     RegisterForKeys             2      0      0
     _itoa                       1      0     19


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     SLEEP                             1
     P2INP                             1
     P1DIR                             1
     OnboardKeyIntEnable               1
     OnboardTimerIntEnable             1
     aExtendedAddress                  8
     registeredKeysTaskID              1
     InitBoard                       219
     RegisterForKeys                  23
     ?Subroutine0                      7
     OnBoard_SendKeys                 79
     OnBoard_KeyCallback              43
     OnBoard_stack_used               80
     _itoa                           151
     Onboard_rand                     35
     Onboard_wait                     26
     Onboard_TimerCallBack            25
     BigLight_On                       3
     BigLight_Off                      3
     BuzzerControl                     3
     Dimmer                            3
     GetUserDipSw                      5
     ?<Initializer for registeredKeysTaskID>
                                       1
     _A_P1                             1
     _A_IEN0                           1

 
 705 bytes in segment BANKED_CODE
   5 bytes in segment SFR_AN
   1 byte  in segment XDATA_I
   1 byte  in segment XDATA_ID
  10 bytes in segment XDATA_Z
 
 706 bytes of CODE  memory
   0 bytes of DATA  memory (+ 5 bytes shared)
  11 bytes of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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