📄 mac_tx_pool.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 16/Jan/2007 15:30:04 #
# 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 = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\lib\mac\CC2430\mac_tx_pool.c #
# Command line = -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\SRC\LIB\" -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.05 Evaluation version\8051\INC\CLIB\" -I #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\..\..\..\include\ -I #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\..\..\..\include\mac\cc2430\ #
# -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_E #
# ngine\Test\mac\mac_loc\..\..\..\include\hal\cc243 #
# 0\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO #
# C_Engine\Test\mac\mac_loc\..\..\..\apps\ -D #
# CC2430EB -D USE_LED -lCN #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\CC2430EB\List\ -lA #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\CC2430EB\List\ -o #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\CC2430EB\Obj\ -e -s9 --debug #
# --core=plain --dptr=16,1 --data_model=large #
# --code_model=banked --calling_convention=xdata_re #
# entrant --place_constants=data --nr_virtual_regs #
# 8 E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En #
# gine\lib\mac\CC2430\mac_tx_pool.c #
# List file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\CC2430EB\List\mac_tx_pool.lst #
# Object file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\CC2430EB\Obj\mac_tx_pool.r51 #
# #
# #
##############################################################################
E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\mac\CC2430\mac_tx_pool.c
1 /*******************************************************************************************************
2 * *
3 * ********** *
4 * ************ *
5 * *** *** *
6 * *** +++ *** *
7 * *** + + *** *
8 * *** + CHIPCON CC2430 INTEGRATED 802.15.4 MAC AND PHY *
9 * *** + + *** TX Packet Pool *
10 * *** +++ *** *
11 * *** *** *
12 * ************ *
13 * ********** *
14 * *
15 *******************************************************************************************************
16 * CONFIDENTIAL *
17 * The use of this file is restricted by the signed MAC software license agreement. *
18 * *
19 * Copyright Chipcon AS, 2005 *
20 *******************************************************************************************************
21 * This module contains the TX packet pool, which manages a table of MAC_TX_PACKET structures to be *
22 * used with the TX engine. *
23 *******************************************************************************************************/
24 #include <mac_headers.h>
25
26
27 //-------------------------------------------------------------------------------------------------------
28 // The TX packet pool
\ In segment PM0_XDATA, align 1
29 __no_init MAC_TX_PACKET pMtxPacketPool[MAC_OPT_TX_POOL_SIZE] @ "PM0_XDATA";
\ pMtxPacketPool:
\ 000000 DS 882
30
31 //-------------------------------------------------------------------------------------------------------
32
33
34
35
36 //-------------------------------------------------------------------------------------------------------
37 // void mtxpInit(void)
38 //
39 // DESCRIPTION:
40 // Initializes the TX packet pool and the indirect packet queue
41 //-------------------------------------------------------------------------------------------------------
\ In segment NEAR_CODE, align 1, keep-with-next
42 ROOT void mtxpInit(void) {
\ mtxpInit:
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
43 UINT8 n;
44 for (n = 0; n < MAC_OPT_TX_POOL_SIZE; n++) {
\ 000004 7A00 MOV R2,#0x0
\ 000006 78.. MOV R0,#(pMtxPacketPool & 0xff)
\ 000008 79.. MOV R1,#((pMtxPacketPool >> 8) & 0xff)
45 pMtxPacketPool[n].occupied = FALSE;
\ ??mtxpInit_0:
\ 00000A E4 CLR A
\ 00000B 8882 MOV DPL,R0
\ 00000D 8983 MOV DPH,R1
\ 00000F F0 MOVX @DPTR,A
46 pMtxPacketPool[n].poolIndex = n;
\ 000010 E8 MOV A,R0
\ 000011 2490 ADD A,#-0x70
\ 000013 F582 MOV DPL,A
\ 000015 E9 MOV A,R1
\ 000016 3400 ADDC A,#0x0
\ 000018 F583 MOV DPH,A
\ 00001A EA MOV A,R2
\ 00001B F0 MOVX @DPTR,A
47 }
\ 00001C 0A INC R2
\ 00001D E8 MOV A,R0
\ 00001E 2493 ADD A,#-0x6d
\ 000020 F8 MOV R0,A
\ 000021 E9 MOV A,R1
\ 000022 3400 ADDC A,#0x0
\ 000024 F9 MOV R1,A
\ 000025 EA MOV A,R2
\ 000026 C3 CLR C
\ 000027 9406 SUBB A,#0x6
\ 000029 40DF JC ??mtxpInit_0
48 } // mtxpInit
\ 00002B REQUIRE ?Subroutine0
\ 00002B ; // Fall through to label ?Subroutine0
\ In segment NEAR_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 D083 POP DPH
\ 000002 D082 POP DPL
\ 000004 22 RET
49
50
51
52
53 //-------------------------------------------------------------------------------------------------------
54 // MAC_TX_PACKET* mtxpReservePacket(void)
55 //
56 // DESCRIPTION:
57 // Reserves a packet in the packet pool
58 //
59 // RETURN VALUE:
60 // MAC_TX_PACKET*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -