Răsfoiți Sursa

first commit

dropLin 1 săptămână în urmă
comite
2f97870ab1
44 a modificat fișierele cu 14468 adăugiri și 0 ștergeri
  1. 11 0
      .gitignore
  2. BIN
      images/rx1.png
  3. BIN
      images/rx2.png
  4. BIN
      images/rxdynamic.png
  5. BIN
      images/tx.png
  6. BIN
      images/tx1.png
  7. BIN
      images/tx2.png
  8. BIN
      images/txdynamic.png
  9. BIN
      images/txrx.png
  10. 3546 0
      keil/Listings/PAN262x_FCC_TEST-KEY_P32-Release.map
  11. 3546 0
      keil/Listings/PAN262x_FCC_TEST-Release.map
  12. 253 0
      keil/Listings/STARTUP.lst
  13. 235 0
      keil/Listings/gpio.lst
  14. 56 0
      keil/Listings/log.lst
  15. 560 0
      keil/Listings/main.lst
  16. 673 0
      keil/Listings/rcc.lst
  17. 588 0
      keil/Listings/timer.lst
  18. 292 0
      keil/Listings/uart.lst
  19. BIN
      keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release
  20. BIN
      keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.SBR
  21. 46 0
      keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.build_log.htm
  22. 434 0
      keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.hex
  23. 15 0
      keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.lnp
  24. BIN
      keil/Objects/PAN262x_FCC_TEST-Release
  25. BIN
      keil/Objects/PAN262x_FCC_TEST-Release.SBR
  26. 45 0
      keil/Objects/PAN262x_FCC_TEST-Release.build_log.htm
  27. 434 0
      keil/Objects/PAN262x_FCC_TEST-Release.hex
  28. 15 0
      keil/Objects/PAN262x_FCC_TEST-Release.lnp
  29. BIN
      keil/Objects/STARTUP.obj
  30. BIN
      keil/Objects/gpio.obj
  31. 1 0
      keil/Objects/log.__i
  32. BIN
      keil/Objects/log.obj
  33. 1 0
      keil/Objects/main.__i
  34. BIN
      keil/Objects/main.obj
  35. BIN
      keil/Objects/rcc.obj
  36. BIN
      keil/Objects/timer.obj
  37. BIN
      keil/Objects/uart.obj
  38. 2 0
      keil/cfg.ini
  39. 1801 0
      keil/rf_tx.uvgui.lqp13
  40. 482 0
      keil/rf_tx.uvopt
  41. 889 0
      keil/rf_tx.uvproj
  42. 19 0
      readme.md
  43. 506 0
      source/main.c
  44. 18 0
      updateLIB.bat

+ 11 - 0
.gitignore

@@ -0,0 +1,11 @@
+.vscode
+*.html
+gitFocePushRemote.bat
+gitPushRemote.bat
+gitInit.bat
+# 忽略my_folder文件夹下的所有文件和文件夹  
+keil_v5/*  
+  
+# 但不忽略keil_v5文件夹下的.uvprojx和.uvproj文件  
+!keil_v5/*.uvprojx  
+!keil_v5/*.uvoptx

BIN
images/rx1.png


BIN
images/rx2.png


BIN
images/rxdynamic.png


BIN
images/tx.png


BIN
images/tx1.png


BIN
images/tx2.png


BIN
images/txdynamic.png


BIN
images/txrx.png


+ 3546 - 0
keil/Listings/PAN262x_FCC_TEST-KEY_P32-Release.map

@@ -0,0 +1,3546 @@
+LX51 LINKER/LOCATER V4.66.100.0                                                         11/21/2025  17:14:05  PAGE 1
+
+
+LX51 LINKER/LOCATER V4.66.100.0, INVOKED BY:
+D:\KEIL_V5\C51\BIN\LX51.EXE .\Objects\STARTUP.obj, .\Objects\gpio.obj, .\Objects\uart.obj, .\Objects\timer.obj, .\Object
+>> s\rcc.obj, ..\..\..\..\driver\src\RF.LIB, .\Objects\log.obj, .\Objects\main.obj TO .\Objects\PAN262x_FCC_TEST-KEY_P32
+>> -Release PRINT (.\Listings\PAN262x_FCC_TEST-KEY_P32-Release.map) DISABLEWARNING (16) REMOVEUNUSED CLASSES (XDATA (X:0
+>> X0-X:0X7FF), HDATA (X:0X0-X:0X7FF), CODE (C:0X0-C:0X7FFF), CONST (C:0X0-C:0X7FFF), ECODE (C:0X0-C:0X7FFF), HCONST (C:
+>> 0X0-C:0X7FFF), CODE (C:0X0000-C:0X7FFF), CONST (C:0X0000-C:0X7FFF), XDATA (X:0X0-X:0X07FF), IDATA (I:0X0-I:0XFF))
+
+
+CPU MODE:     8051 MODE
+MEMORY MODEL: SMALL
+
+
+INPUT MODULES INCLUDED:
+  .\Objects\STARTUP.obj (?C_STARTUP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  .\Objects\gpio.obj (GPIO)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\uart.obj (UART)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\timer.obj (TIMER)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\rcc.obj (RCC)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\log.obj (LOG)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\main.obj (MAIN)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  ..\..\..\..\driver\src\RF.LIB (RF)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDOPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDIX)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDOPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SLCMP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULCMP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LLDCODE0)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (PRINTF)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (RAND)
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 2
+
+
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDIIDATA)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+
+
+ACTIVE MEMORY CLASSES OF MODULE:  .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+BASE        START       END         USED      MEMORY CLASS
+==========================================================
+X:000000H   X:000000H   X:0007FFH   00009CH   XDATA
+X:000000H   X:000000H   X:0007FFH             HDATA
+C:000000H   C:000000H   C:007FFFH   001A9EH   CODE
+C:000000H   C:000000H   C:007FFFH   00006AH   CONST
+C:000000H   C:000000H   C:007FFFH             ECODE
+C:000000H   C:000000H   C:007FFFH             HCONST
+I:000000H   I:000000H   I:0000FFH   000001H   IDATA
+I:000000H   I:000000H   I:00007FH   00002BH   DATA
+I:000020H.0 I:000020H.0 I:00002FH.7 000001H.1 BIT
+
+
+MEMORY MAP OF MODULE:  .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+
+START     STOP      LENGTH    ALIGN  RELOC    MEMORY CLASS   SEGMENT NAME
+=========================================================================
+
+* * * * * * * * * * *   D A T A   M E M O R Y   * * * * * * * * * * * * *
+000000H   000007H   000008H   ---    AT..     DATA           "REG BANK 0"
+000008H   00000BH   000004H   BYTE   UNIT     DATA           ?DT?RAND?RAND
+00000CH   00000DH   000002H   BYTE   UNIT     DATA           ?DT?MAIN
+00000EH.0 00001FH.7 000012H.0 ---    ---      **GAP**
+000020H.0 000021H.0 000001H.1 BIT    UNIT     BIT            _BIT_GROUP_
+000021H.1 000021H   000000H.7 ---    ---      **GAP**
+000022H   00003EH   00001DH   BYTE   UNIT     DATA           _DATA_GROUP_
+00003FH   00003FH   000001H   BYTE   UNIT     IDATA          ?STACK
+
+* * * * * * * * * * *   C O D E   M E M O R Y   * * * * * * * * * * * * *
+000000H   000002H   000003H   ---    OFFS..   CODE           ?CO??C_STARTUP?0
+000003H   00000AH   000008H   BYTE   UNIT     CONST          ?CO?GPIO
+00000BH   000011H   000007H   BYTE   UNIT     CODE           ?L?COM0001
+000012H   00001BH   00000AH   BYTE   UNIT     CODE           ?L?COM0015
+00001CH   000023H   000008H   BYTE   UNIT     CODE           ?PR?_PUTCHAR?UART
+000024H   000029H   000006H   BYTE   UNIT     CODE           ?PR?_RF_SETCHANNEL?RF
+00002AH   00002AH   000001H   ---    ---      **GAP**
+00002BH   00002DH   000003H   BYTE   OFFS..   CODE           ?MAIN?0002B
+00002EH   000060H   000033H   BYTE   UNIT     CODE           ?PR?_TIM_CMD?TIMER
+000061H   000067H   000007H   BYTE   UNIT     CODE           ?L?COM0033
+000068H   00006AH   000003H   BYTE   UNIT     CODE           ?PR?RF_ENABLEIRQ?RF
+00006BH   00006DH   000003H   BYTE   OFFS..   CODE           ?MAIN?0006B
+00006EH   0003C9H   00035CH   BYTE   UNIT     CODE           ?PR?PRINTF?PRINTF
+0003CAH   000701H   000338H   BYTE   UNIT     CODE           ?C?LIB_CODE
+000702H   0007A5H   0000A4H   BYTE   UNIT     CODE           ?C_INITSEG
+0007A6H   000831H   00008CH   BYTE   UNIT     CODE           ?C_C51STARTUP
+000832H   00087EH   00004DH   BYTE   UNIT     CODE           ?PR?RAND?RAND
+00087FH   0008E0H   000062H   BYTE   UNIT     CONST          ?CO?MAIN
+0008E1H   000A9DH   0001BDH   BYTE   UNIT     CODE           ?PR?_GPIO_INIT?GPIO
+000A9EH   000B1EH   000081H   BYTE   UNIT     CODE           ?PR?_UART_INIT?UART
+000B1FH   000BA6H   000088H   BYTE   UNIT     CODE           ?PR?_TIM_TIMEBASEINIT?TIMER
+000BA7H   000D9DH   0001F7H   BYTE   UNIT     CODE           ?PR?MAIN?MAIN
+000D9EH   000DB1H   000014H   BYTE   UNIT     CODE           ?PR?_TIM_ENABLEIRQ?TIMER
+000DB2H   000ECDH   00011CH   BYTE   UNIT     CODE           ?PR?_APP_RFINIT?MAIN
+000ECEH   000EF0H   000023H   BYTE   UNIT     CODE           ?PR?_RCC_PERIPHCLOCKCMD?RCC
+000EF1H   000EF7H   000007H   BYTE   UNIT     CODE           ?L?COM0007
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 3
+
+
+000EF8H   000F1DH   000026H   BYTE   UNIT     CODE           ?PR?APP_UARTINIT?MAIN
+000F1EH   000F24H   000007H   BYTE   UNIT     CODE           ?PR?RF_FLUSHTXFIFO?RF
+000F25H   000F30H   00000CH   BYTE   UNIT     CODE           ?L?COM000D
+000F31H   000F39H   000009H   BYTE   UNIT     CODE           ?PR?RF_ENTERTXMODE?RF
+000F3AH   000F41H   000008H   BYTE   UNIT     CODE           ?L?COM001B
+000F42H   ---       000000H   BYTE   UNIT     CODE           ?PR?RF_DEINIT?RF
+000F42H   000F4BH   00000AH   BYTE   UNIT     CODE           ?L?COM0028
+000F4CH   000F52H   000007H   BYTE   UNIT     CODE           ?L?COM0034
+000F53H   000F72H   000020H   BYTE   UNIT     CODE           ?PR?APP_TIMER2INIT?MAIN
+000F73H   000F79H   000007H   BYTE   UNIT     CODE           ?L?COM0029
+000F7AH   000F7FH   000006H   BYTE   UNIT     CODE           ?PR?RF_ENTERRXMODE?RF
+000F80H   000F8FH   000010H   BYTE   UNIT     CODE           ?L?COM0017
+000F90H   000F96H   000007H   BYTE   UNIT     CODE           ?PR?RF_FLUSHRXFIFO?RF
+000F97H   000F9EH   000008H   BYTE   UNIT     CODE           ?PR?RF_CLEARIRQFLAGS?RF
+000F9FH   000FA6H   000008H   BYTE   UNIT     CODE           ?L?COM0035
+000FA7H   000FB0H   00000AH   BYTE   UNIT     CODE           ?L?COM0026
+000FB1H   000FBBH   00000BH   BYTE   UNIT     CODE           ?L?COM0027
+000FBCH   000FC7H   00000CH   BYTE   UNIT     CODE           ?L?COM0009
+000FC8H   000FF7H   000030H   BYTE   UNIT     CODE           ?PR?_RF_ENABLEDYNAMICPAYLOAD?RF
+000FF8H   000FF9H   000002H   BYTE   UNIT     CODE           ?PR?RF_CE_ENABLE?RF
+000FFAH   0010E7H   0000EEH   BYTE   UNIT     CODE           ?PR?_RCC_CTRL?RCC
+0010E8H   0010F1H   00000AH   BYTE   UNIT     CODE           ?L?COM0005
+0010F2H   0010F8H   000007H   BYTE   UNIT     CODE           ?L?COM0021
+0010F9H   001101H   000009H   BYTE   UNIT     CODE           ?L?COM0018
+001102H   001110H   00000FH   BYTE   UNIT     CODE           ?L?COM0004
+001111H   001126H   000016H   BYTE   UNIT     CODE           ?L?COM0014
+001127H   001138H   000012H   BYTE   UNIT     CODE           ?PR?_RCC_SOURCE?RCC
+001139H   00118FH   000057H   BYTE   UNIT     CODE           ?PR?RCC_SYSCLKINIT?RCC
+001190H   0011AAH   00001BH   BYTE   UNIT     CODE           ?PR?RCC_RCHCALICHK?RCC
+0011ABH   0011B1H   000007H   BYTE   UNIT     CODE           ?L?COM002A
+0011B2H   0011B9H   000008H   BYTE   UNIT     CODE           ?L?COM0023
+0011BAH   00125BH   0000A2H   BYTE   UNIT     CODE           ?PR?RF_INIT?RF
+00125CH   001262H   000007H   BYTE   UNIT     CODE           ?L?COM001F
+001263H   00127BH   000019H   BYTE   UNIT     CODE           ?PR?_RCC_RCHCALI?RCC
+00127CH   00129CH   000021H   BYTE   UNIT     CODE           ?PR?_DELAYMS?MAIN
+00129DH   0012D2H   000036H   BYTE   UNIT     CODE           ?PR?KEY_SCAN?MAIN
+0012D3H   0012DAH   000008H   BYTE   UNIT     CODE           ?L?COM002D
+0012DBH   001351H   000077H   BYTE   UNIT     CODE           ?PR?RF_INTERRUPTHANDLER?MAIN
+001352H   001398H   000047H   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOADBYXDATA?RF
+001399H   0013ACH   000014H   BYTE   UNIT     CODE           ?PR?_RF_DELAY?RF
+0013ADH   00145BH   0000AFH   BYTE   UNIT     CODE           ?PR?_RF_TWOPOINT_CAL?RF
+00145CH   001463H   000008H   BYTE   UNIT     CODE           ?L?COM0032
+001464H   00146AH   000007H   BYTE   UNIT     CODE           ?L?COM001D
+00146BH   0014D5H   00006BH   BYTE   UNIT     CODE           ?PR?_RF_VCOCAL_GROUP?RF
+0014D6H   0014DBH   000006H   BYTE   UNIT     CODE           ?L?COM002E
+0014DCH   0014E3H   000008H   BYTE   UNIT     CODE           ?L?COM002F
+0014E4H   0014F3H   000010H   BYTE   UNIT     CODE           ?L?COM001A
+0014F4H   001514H   000021H   BYTE   UNIT     CODE           ?L?COM0008
+001515H   001545H   000031H   BYTE   UNIT     CODE           ?L?COM0003
+001546H   00157AH   000035H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOADBYXDATA?RF
+00157BH   001581H   000007H   BYTE   UNIT     CODE           ?L?COM0010
+001582H   001639H   0000B8H   BYTE   UNIT     CODE           ?PR?_RF_SETDATARATE?RF
+00163AH   00166DH   000034H   BYTE   UNIT     CODE           ?PR?_RF_VCO_CAL?RF
+00166EH   0016C7H   00005AH   BYTE   UNIT     CODE           ?PR?_RF_FILTER_CAL?RF
+0016C8H   0016CFH   000008H   BYTE   UNIT     CODE           ?PR?RF_GETIRQFLAGS?RF
+0016D0H   0016D7H   000008H   BYTE   UNIT     CODE           ?L?COM0024
+0016D8H   0016DFH   000008H   BYTE   UNIT     CODE           ?L?COM0030
+0016E0H   0016E8H   000009H   BYTE   UNIT     CODE           ?L?COM002C
+0016E9H   001714H   00002CH   BYTE   UNIT     CODE           ?PR?TIMER2_INTERRUPTHANDLER?MAIN
+001715H   00171AH   000006H   BYTE   UNIT     CODE           ?PR?RF_CE_DISABLE?RF
+00171BH   00172EH   000014H   BYTE   UNIT     CODE           ?PR?RF_CARRIER?RF
+00172FH   001753H   000025H   BYTE   UNIT     CODE           ?PR?_RF_SETCRC?RF
+001754H   001809H   0000B6H   BYTE   UNIT     CODE           ?PR?_RF_SETTXPOWER?RF
+00180AH   001813H   00000AH   BYTE   UNIT     CODE           ?L?COM0002
+001814H   001823H   000010H   BYTE   UNIT     CODE           ?PR?_RF_ENABLEWHITEN?RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 4
+
+
+001824H   001865H   000042H   BYTE   UNIT     CODE           ?PR?_RF_SETCHIPMODE?RF
+001866H   001878H   000013H   BYTE   UNIT     CODE           ?PR?_RF_SETWORKMODE?RF
+001879H   00188EH   000016H   BYTE   UNIT     CODE           ?PR?_RF_SETADDRWIDTH?RF
+00188FH   0018F9H   00006BH   BYTE   UNIT     CODE           ?PR?_RF_SETRXADDR?RF
+0018FAH   001902H   000009H   BYTE   UNIT     CODE           ?L?COM0016
+001903H   001922H   000020H   BYTE   UNIT     CODE           ?L?COM000C
+001923H   001944H   000022H   BYTE   UNIT     CODE           ?PR?_RF_ENABLERXPIPE?RF
+001945H   00198DH   000049H   BYTE   UNIT     CODE           ?PR?_RF_SETTXADDR?RF
+00198EH   00199AH   00000DH   BYTE   UNIT     CODE           ?PR?_RF_SETRXPAYLOADLEN?RF
+00199BH   0019AAH   000010H   BYTE   UNIT     CODE           ?PR?_RF_SETNOACK?RF
+0019ABH   0019F4H   00004AH   BYTE   UNIT     CODE           ?PR?_RF_SETAUTORETRANS?RF
+0019F5H   001A05H   000011H   BYTE   UNIT     CODE           ?PR?_RF_SETTXSETUPTIME?RF
+001A06H   001A0DH   000008H   BYTE   UNIT     CODE           ?L?COM0031
+001A0EH   001A19H   00000CH   BYTE   UNIT     CODE           ?L?COM0022
+001A1AH   001AA6H   00008DH   BYTE   UNIT     CODE           ?PR?_RF_SETTRXACKTIMEOUT?RF
+001AA7H   001AB6H   000010H   BYTE   UNIT     CODE           ?PR?_RF_SETACKPAYLOAD?RF
+001AB7H   001ACCH   000016H   BYTE   UNIT     CODE           ?PR?_RF_SETFIFOLENTYPE?RF
+001ACDH   001ADFH   000013H   BYTE   UNIT     CODE           ?PR?_RF_ITCONFIG?RF
+001AE0H   001AE5H   000006H   BYTE   UNIT     CODE           ?PR?_RF_CARRIEROFFSET?RF
+001AE6H   001AEFH   00000AH   BYTE   UNIT     CODE           ?L?COM0011
+001AF0H   001AFCH   00000DH   BYTE   UNIT     CODE           ?L?COM0020
+001AFDH   001B08H   00000CH   BYTE   UNIT     CODE           ?L?COM0025
+
+* * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
+000000H   000098H   000099H   BYTE   UNIT     XDATA          ?XD?MAIN
+000099H   00009BH   000003H   BYTE   UNIT     XDATA          _XDATA_GROUP_
+
+* * * * * * * * *   R E M O V E D     S E G M E N T S   * * * * * * * *
+   *DEL*:           000013H   BYTE   UNIT     CODE           ?PR?_GPIO_EXTINTCONFIG?GPIO
+   *DEL*:           000011H   BYTE   UNIT     CODE           ?PR?_GPIO_ENABLEDBC?GPIO
+   *DEL*:           000010H   BYTE   UNIT     CODE           ?PR?_GPIO_DISABLEDBC?GPIO
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?GPIO_ENABLERST?GPIO
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?GPIO_DISABLERST?GPIO
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?UART_ENABLEIRQ?UART
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?UART_DISABLEIRQ?UART
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?_UART_SENDONEBYTE?UART
+   *DEL*:           00000BH   BYTE   UNIT     CODE           ?PR?_UART_PUTCHAR?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_SENDSTRING?UART
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_UART_SENDSTRING?UART
+   *DEL*:           00003FH   BYTE   UNIT     CODE           ?PR?_UART_SENDBUF?UART
+   *DEL*:           000005H   BYTE   UNIT     DATA           ?DT?_UART_SENDBUF?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_PARITYCHECK?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_ODDCHECK?UART
+   *DEL*:           000041H   BYTE   UNIT     CODE           ?PR?_TIM_DEINIT?TIMER
+   *DEL*:           000043H   BYTE   UNIT     CODE           ?PR?_TIM_EXTCNTCONFIG?TIMER
+   *DEL*:           000043H   BYTE   UNIT     CODE           ?PR?_TIM_GATECONFIG?TIMER
+   *DEL*:           000073H   BYTE   UNIT     CODE           ?PR?_TIM_CMPINIT?TIMER
+   *DEL*:           000005H   BYTE   UNIT     DATA           ?DT?_TIM_CMPINIT?TIMER
+   *DEL*:           000093H   BYTE   UNIT     CODE           ?PR?_TIM_CAPINIT?TIMER
+   *DEL*:           000006H   BYTE   UNIT     DATA           ?DT?_TIM_CAPINIT?TIMER
+   *DEL*:           000014H   BYTE   UNIT     CODE           ?PR?_TIM_DISABLEIRQ?TIMER
+   *DEL*:           000028H   BYTE   UNIT     CODE           ?PR?_RCC_PERIPHRESET?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_XTALTURNONNONEBLOCK?RCC
+   *DEL*:           000040H   BYTE   UNIT     CODE           ?PR?_RCC_GETCLOCKREADYSTATUS?RCC
+   *DEL*:           000011H   BYTE   UNIT     CODE           ?PR?_RCC_XTALFASTRDYENABLE?RCC
+   *DEL*:           00000BH   BYTE   UNIT     CODE           ?PR?_RCC_SYSDIV?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_RCHCALIDISABLE?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_RCHCALIAUTO?RCC
+   *DEL*:           00001AH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI_EN?RCC
+   *DEL*:           00001AH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI_MANU?RCC
+   *DEL*:           000013H   BYTE   UNIT     CODE           ?PR?_RCC_SETLVRVOLTLEVEL?RCC
+   *DEL*:           00001DH   BYTE   UNIT     CODE           ?PR?_RCC_ENABLELVR?RCC
+   *DEL*:           00002DH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI?RCC
+   *DEL*:           00001BH   BYTE   UNIT     CODE           ?PR?_RCC_MUX?RCC
+   *DEL*:           000012H   BYTE   UNIT     CODE           ?PR?RCC_PUMPUP?RCC
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 5
+
+
+   *DEL*:           000082H   BYTE   UNIT     CODE           ?PR?RCC_LITE_SYSCLKINIT?RCC
+   *DEL*:           000001H   BYTE   UNIT     DATA           ?DT?RCC_LITE_SYSCLKINIT?RCC
+   *DEL*:           00006BH   BYTE   UNIT     CODE           ?PR?_PANLOG_HEXDUMP?LOG
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_PANLOG_HEXDUMP?LOG
+   *DEL*:           000047H   BYTE   UNIT     CODE           ?PR?_PRINT_HEX?LOG
+   *DEL*:           000007H   BYTE   UNIT     DATA           ?DT?_PRINT_HEX?LOG
+   *DEL*:           000009H   BYTE   UNIT     CONST          ?CO?LOG
+   *DEL*:           0000ABH   BYTE   UNIT     CODE           ?PR?_TWO_POINT_CAL_MODE0?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_TWO_POINT_CAL_MODE0?RF
+   *DEL*:           0000AEH   BYTE   UNIT     CODE           ?PR?_TWO_POINT_CAL_MODE1?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_TWO_POINT_CAL_MODE1?RF
+   *DEL*:           00000CH   BYTE   UNIT     CODE           ?PR?_RF_VCOCAL?RF
+   *DEL*:           00000AH   BYTE   UNIT     CODE           ?PR?RF_ISTXFIFOFULL?RF
+   *DEL*:           000001H   BYTE   UNIT     CODE           ?PR?RF_EXITTXMODE?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_EXITRXMODE?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?_RF_SETRATE?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?_RF_SETPOWER?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_DISABLERXPIPES?RF
+   *DEL*:           00003EH   BYTE   UNIT     CODE           ?PR?_RF_SETRXWINDOWTIME?RF
+   *DEL*:           000004H   BYTE   UNIT     DATA           ?DT?_RF_SETRXWINDOWTIME?RF
+   *DEL*:           00000CH   BYTE   UNIT     CODE           ?PR?RF_RXWINDOWSTARTONCE?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXWINDOWCLOSE?RF
+   *DEL*:           00000AH   BYTE   UNIT     CODE           ?PR?RF_GETAVAILABLERXPIPEINDEX?RF
+   *DEL*:           000049H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOAD?RF
+   *DEL*:           000009H   BYTE   UNIT     DATA           ?DT?_RF_WRITETXPAYLOAD?RF
+   *DEL*:           000044H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOADBYIDATA?RF
+   *DEL*:           000006H   BYTE   UNIT     CODE           ?PR?RF_READPAYLOADLEN?RF
+   *DEL*:           00004DH   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOAD?RF
+   *DEL*:           000002H   BYTE   UNIT     DATA           ?DT?_RF_READRXPAYLOAD?RF
+   *DEL*:           000048H   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOADBYIDATA?RF
+   *DEL*:           00003CH   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOAD?RF
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_RF_WRITEACKPAYLOAD?RF
+   *DEL*:           000032H   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOADBYIDATA?RF
+   *DEL*:           000030H   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOADBYXDATA?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXFIFOISFULL?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXFIFOISEMPTY?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_TXFIFOISFULL?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_TXFIFOISEMPTY?RF
+   *DEL*:           00000FH   BYTE   UNIT     CODE           ?PR?_RF_RSSI_ENABLE?RF
+   *DEL*:           000049H   BYTE   UNIT     CODE           ?PR?_RF_SETBLEACCESSADDR?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_RF_SETBLEACCESSADDR?RF
+   *DEL*:           000075H   BYTE   UNIT     CODE           ?PR?_RF_SETBLEWHITELIST?RF
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_RF_SETBLEWHITELIST?RF
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_RF_SETBLELENFILTER?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?RF_DISABLEIRQ?RF
+
+
+
+OVERLAY MAP OF MODULE:   .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+
+FUNCTION/MODULE                     BIT_GROUP   DATA_GROUP   XDATA_GROUP
+--> CALLED FUNCTION/MODULE         START  STOP  START  STOP  START  STOP
+========================================================================
+?C_C51STARTUP                      ----- -----  ----- -----  ----- -----
+  +--> MAIN/MAIN
+  +--> ?C_INITSEG
+
+MAIN/MAIN                          ----- -----  0022H 0029H  ----- -----
+  +--> RCC_SYSCLKINIT/RCC
+  +--> _DELAYMS/MAIN
+  +--> APP_UARTINIT/MAIN
+  +--> APP_TIMER2INIT/MAIN
+  +--> _APP_RFINIT/MAIN
+  +--> RF_ENTERTXMODE/RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 6
+
+
+  +--> _GPIO_INIT/GPIO
+  +--> PRINTF/PRINTF
+  +--> KEY_SCAN/MAIN
+  +--> RF_DEINIT/RF
+  +--> _RF_SETCHANNEL/RF
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_ENTERRXMODE/RF
+  +--> RF_CARRIER/RF
+  +--> RAND/RAND
+  +--> _RF_WRITETXPAYLOADBYXDATA/RF
+
+RCC_SYSCLKINIT/RCC                 ----- -----  002AH 002AH  ----- -----
+  +--> RCC_RCHCALICHK/RCC
+  +--> _RCC_SOURCE/RCC
+  +--> _RCC_CTRL/RCC
+
+RCC_RCHCALICHK/RCC                 ----- -----  ----- -----  ----- -----
+  +--> _RCC_RCHCALI/RCC
+
+_RCC_RCHCALI/RCC                   ----- -----  002BH 002CH  ----- -----
+
+_RCC_SOURCE/RCC                    ----- -----  ----- -----  ----- -----
+
+_RCC_CTRL/RCC                      ----- -----  002BH 002CH  ----- -----
+
+_DELAYMS/MAIN                      ----- -----  ----- -----  ----- -----
+
+APP_UARTINIT/MAIN                  ----- -----  ----- -----  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> _GPIO_INIT/GPIO
+  +--> _UART_INIT/UART
+
+_RCC_PERIPHCLOCKCMD/RCC            ----- -----  ----- -----  ----- -----
+
+_GPIO_INIT/GPIO                    ----- -----  002AH 002EH  ----- -----
+
+_UART_INIT/UART                    ----- -----  002AH 002DH  ----- -----
+
+APP_TIMER2INIT/MAIN                ----- -----  ----- -----  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> _TIM_TIMEBASEINIT/TIMER
+  +--> _TIM_ENABLEIRQ/TIMER
+  +--> _TIM_CMD/TIMER
+
+_TIM_TIMEBASEINIT/TIMER            ----- -----  002AH 002EH  ----- -----
+
+_TIM_ENABLEIRQ/TIMER               ----- -----  ----- -----  ----- -----
+
+_TIM_CMD/TIMER                     ----- -----  ----- -----  ----- -----
+
+_APP_RFINIT/MAIN                   ----- -----  002AH 002CH  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> RF_INIT/RF
+  +--> _RF_CARRIEROFFSET/RF
+  +--> _RF_SETCHIPMODE/RF
+  +--> _RF_SETDATARATE/RF
+  +--> _RF_SETCHANNEL/RF
+  +--> _RF_SETCRC/RF
+  +--> _RF_SETTXPOWER/RF
+  +--> _RF_SETFIFOLENTYPE/RF
+  +--> _RF_SETTXADDR/RF
+  +--> _RF_SETRXADDR/RF
+  +--> _RF_SETRXPAYLOADLEN/RF
+  +--> _RF_SETWORKMODE/RF
+  +--> _RF_SETTXSETUPTIME/RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 7
+
+
+  +--> _RF_SETTRXACKTIMEOUT/RF
+  +--> _RF_SETAUTORETRANS/RF
+  +--> _RF_SETNOACK/RF
+  +--> _RF_SETACKPAYLOAD/RF
+  +--> _RF_ENABLEDYNAMICPAYLOAD/RF
+  +--> _RF_ITCONFIG/RF
+  +--> RF_ENABLEIRQ/RF
+
+RF_INIT/RF                         ----- -----  ----- -----  ----- -----
+
+_RF_CARRIEROFFSET/RF               ----- -----  ----- -----  ----- -----
+
+_RF_SETCHIPMODE/RF                 ----- -----  ----- -----  ----- -----
+  +--> _RF_ENABLEWHITEN/RF
+
+_RF_ENABLEWHITEN/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETDATARATE/RF                 ----- -----  002DH 002EH  ----- -----
+  +--> RF_CE_ENABLE/RF
+  +--> _RF_VCO_CAL/RF
+  +--> _RF_TWOPOINT_CAL/RF
+  +--> _RF_FILTER_CAL/RF
+
+RF_CE_ENABLE/RF                    ----- -----  ----- -----  ----- -----
+
+_RF_VCO_CAL/RF                     ----- -----  ----- -----  ----- -----
+  +--> _RF_VCOCAL_GROUP/RF
+
+_RF_VCOCAL_GROUP/RF                ----- -----  002FH 0035H  ----- -----
+  +--> _RF_DELAY/RF
+
+_RF_DELAY/RF                       ----- -----  ----- -----  ----- -----
+
+_RF_TWOPOINT_CAL/RF                ----- -----  002FH 0031H  ----- -----
+  +--> _RF_SETCHANNEL/RF
+  +--> _RF_DELAY/RF
+
+_RF_SETCHANNEL/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_FILTER_CAL/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_SETCRC/RF                      ----- -----  ----- -----  ----- -----
+
+_RF_SETTXPOWER/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_SETFIFOLENTYPE/RF              ----- -----  ----- -----  ----- -----
+
+_RF_SETTXADDR/RF                   ----- -----  002DH 002FH  0099H 009BH
+  +--> _RF_SETADDRWIDTH/RF
+
+_RF_SETADDRWIDTH/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETRXADDR/RF                   ----- -----  002DH 0034H  ----- -----
+  +--> _RF_SETADDRWIDTH/RF
+  +--> _RF_ENABLERXPIPE/RF
+
+_RF_ENABLERXPIPE/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETRXPAYLOADLEN/RF             ----- -----  ----- -----  ----- -----
+
+_RF_SETWORKMODE/RF                 ----- -----  ----- -----  ----- -----
+
+_RF_SETTXSETUPTIME/RF              ----- -----  ----- -----  ----- -----
+
+_RF_SETTRXACKTIMEOUT/RF            ----- -----  ----- -----  ----- -----
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 8
+
+
+
+_RF_SETAUTORETRANS/RF              ----- -----  002DH 002DH  ----- -----
+
+_RF_SETNOACK/RF                    ----- -----  ----- -----  ----- -----
+
+_RF_SETACKPAYLOAD/RF               ----- -----  ----- -----  ----- -----
+
+_RF_ENABLEDYNAMICPAYLOAD/RF        ----- -----  ----- -----  ----- -----
+
+_RF_ITCONFIG/RF                    ----- -----  ----- -----  ----- -----
+
+RF_ENABLEIRQ/RF                    ----- -----  ----- -----  ----- -----
+
+RF_ENTERTXMODE/RF                  ----- -----  ----- -----  ----- -----
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_FLUSHTXFIFO/RF                  ----- -----  ----- -----  ----- -----
+
+RF_FLUSHRXFIFO/RF                  ----- -----  ----- -----  ----- -----
+
+RF_CLEARIRQFLAGS/RF                ----- -----  ----- -----  ----- -----
+
+PRINTF/PRINTF                      20H.0 21H.0  002AH 003DH  ----- -----
+  +--> _PUTCHAR/UART
+
+_PUTCHAR/UART                      ----- -----  ----- -----  ----- -----
+
+KEY_SCAN/MAIN                      ----- -----  ----- -----  ----- -----
+  +--> _DELAYMS/MAIN
+
+RF_DEINIT/RF                       ----- -----  ----- -----  ----- -----
+
+RF_ENTERRXMODE/RF                  ----- -----  ----- -----  ----- -----
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_CARRIER/RF                      ----- -----  ----- -----  ----- -----
+  +--> RF_CE_DISABLE/RF
+
+RF_CE_DISABLE/RF                   ----- -----  ----- -----  ----- -----
+
+RAND/RAND                          ----- -----  ----- -----  ----- -----
+
+_RF_WRITETXPAYLOADBYXDATA/RF       ----- -----  002AH 002BH  ----- -----
+  +--> _RF_DELAY/RF
+
+?C_INITSEG                         ----- -----  ----- -----  ----- -----
+
+*** NEW ROOT *********************
+
+RF_INTERRUPTHANDLER/MAIN           ----- -----  ----- -----  ----- -----
+  +--> RF_GETIRQFLAGS/RF
+  +--> _RF_READRXPAYLOADBYXDATA/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_GETIRQFLAGS/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_READRXPAYLOADBYXDATA/RF        ----- -----  003EH 003EH  ----- -----
+  +--> _RF_DELAY/RF
+
+*** NEW ROOT *********************
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 9
+
+
+
+TIMER2_INTERRUPTHANDLER/MAIN       ----- -----  ----- -----  ----- -----
+
+
+
+PUBLIC SYMBOLS OF MODULE:  .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+
+      VALUE       CLASS    TYPE      PUBLIC SYMBOL NAME
+      =================================================
+      0000002AH   DATA     BYTE      ?_GPIO_Init?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_panlog_hexdump?BYTE
+      0000002AH   DATA     ---       ?_PRINTF517?BYTE
+      0000002AH   DATA     ---       ?_PRINTF?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_SetBleWhitelist?BYTE
+      0000002DH   DATA     BYTE      ?_RF_SetRxAddr?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_WriteAckPayload?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_WriteTxPayload?BYTE
+      0000002AH   DATA     ---       ?_SPRINTF517?BYTE
+      0000002AH   DATA     ---       ?_SPRINTF?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_TIM_CapInit?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_TIM_CmpInit?BYTE
+      0000002AH   DATA     BYTE      ?_TIM_TimeBaseInit?BYTE
+      0000002AH   DATA     BYTE      ?_UART_Init?BYTE
+      010006DCH   CODE     ---       ?C?CCASE
+      010003E3H   CODE     ---       ?C?CLDOPTR
+      010003CAH   CODE     ---       ?C?CLDPTR
+      00000000H   NUMBER   ---       ?C?CODESEG
+      01000410H   CODE     ---       ?C?CSTPTR
+      010004BFH   CODE     ---       ?C?ILDIX
+      01000500H   CODE     ---       ?C?ILDOPTR
+      010004D5H   CODE     ---       ?C?ILDPTR
+      01000422H   CODE     ---       ?C?IMUL
+      0100069FH   CODE     ---       ?C?LIMUL
+      0100068FH   CODE     ---       ?C?LLDCODE0
+      01000538H   CODE     ---       ?C?LMUL
+      010006CCH   CODE     ---       ?C?PLDIIDATA
+      01000489H   CODE     ---       ?C?SIDIV
+      01000655H   CODE     ---       ?C?SLCMP
+      01000434H   CODE     ---       ?C?UIDIV
+      0100066BH   CODE     ---       ?C?ULCMP
+      010005C3H   CODE     ---       ?C?ULDIV
+      0100067CH   CODE     ---       ?C?ULSHR
+      00000000H   NUMBER   ---       ?C?XDATASEG
+      010007EDH   CODE     ---       ?C_START
+      01000000H   CODE     ---       ?C_STARTUP
+      00000008H   DATA     ---       ?SRAND?BYTE
+      01000DBAH   CODE     ---       _APP_RfInit
+      0100127CH   CODE     ---       _DelayMs
+*DEL*:00000000H   CODE     ---       _GPIO_DisableDbc
+*DEL*:00000000H   CODE     ---       _GPIO_EnableDbc
+*DEL*:00000000H   CODE     ---       _GPIO_ExtIntConfig
+      010008E1H   CODE     ---       _GPIO_Init
+*DEL*:00000000H   CODE     ---       _panlog_hexdump
+*DEL*:00000000H   CODE     ---       _print_hex
+      010000D0H   CODE     ---       _PRINTF
+      010000D0H   CODE     ---       _PRINTF517
+      0100001CH   CODE     ---       _putchar
+      01000FFAH   CODE     ---       _RCC_Ctrl
+*DEL*:00000000H   CODE     ---       _RCC_EnableLvr
+*DEL*:00000000H   CODE     ---       _RCC_GetClockReadyStatus
+*DEL*:00000000H   CODE     ---       _RCC_Mux
+      01000ECEH   CODE     ---       _RCC_PeriphClockCmd
+*DEL*:00000000H   CODE     ---       _RCC_PeriphReset
+      01001263H   CODE     ---       _RCC_RchCali
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 10
+
+
+*DEL*:00000000H   CODE     ---       _RCC_RclCali
+*DEL*:00000000H   CODE     ---       _RCC_RclCali_EN
+*DEL*:00000000H   CODE     ---       _RCC_RclCali_MANU
+*DEL*:00000000H   CODE     ---       _RCC_SetLvrVoltLevel
+      01001127H   CODE     ---       _RCC_Source
+*DEL*:00000000H   CODE     ---       _RCC_SysDiv
+*DEL*:00000000H   CODE     ---       _RCC_XTALFastRdyEnable
+      01001AE0H   CODE     ---       _RF_CarrierOffset
+      01000FC8H   CODE     ---       _RF_EnableDynamicPayload
+      01001923H   CODE     ---       _RF_EnableRxPipe
+      01001814H   CODE     ---       _RF_EnableWhiten
+      0100166EH   CODE     ---       _RF_Filter_Cal
+      01001ACDH   CODE     ---       _RF_ITConfig
+*DEL*:00000000H   CODE     ---       _RF_ReadRxPayload
+*DEL*:00000000H   CODE     ---       _RF_ReadRxPayloadByIDATA
+      01001352H   CODE     ---       _RF_ReadRxPayloadByXDATA
+*DEL*:00000000H   CODE     ---       _RF_RSSI_Enable
+      01001AA7H   CODE     ---       _RF_SetAckPayload
+      01001879H   CODE     ---       _RF_SetAddrWidth
+      010019ABH   CODE     ---       _RF_SetAutoRetrans
+*DEL*:00000000H   CODE     ---       _RF_SetBleAccessAddr
+*DEL*:00000000H   CODE     ---       _RF_SetBleLenFilter
+*DEL*:00000000H   CODE     ---       _RF_SetBleWhitelist
+      01000024H   CODE     ---       _RF_SetChannel
+      01001824H   CODE     ---       _RF_SetChipMode
+      0100172FH   CODE     ---       _RF_SetCrc
+      01001582H   CODE     ---       _RF_SetDataRate
+      01001AB7H   CODE     ---       _RF_SetFifoLenType
+      0100199BH   CODE     ---       _RF_SetNoAck
+*DEL*:00000000H   CODE     ---       _RF_SetPower
+*DEL*:00000000H   CODE     ---       _RF_SetRate
+      0100188FH   CODE     ---       _RF_SetRxAddr
+      0100198EH   CODE     ---       _RF_SetRxPayloadLen
+*DEL*:00000000H   CODE     ---       _RF_SetRxWindowTime
+      01001A1AH   CODE     ---       _RF_SetTRxAckTimeout
+      01001945H   CODE     ---       _RF_SetTxAddr
+      01001754H   CODE     ---       _RF_SetTxPower
+      010019F5H   CODE     ---       _RF_SetTxSetupTime
+      01001866H   CODE     ---       _RF_SetWorkMode
+      010013ADH   CODE     ---       _RF_Twopoint_Cal
+      0100163AH   CODE     ---       _RF_Vco_Cal
+*DEL*:00000000H   CODE     ---       _RF_VCOCal
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayload
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayloadByIDATA
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayloadByXDATA
+*DEL*:00000000H   CODE     ---       _RF_WriteTxPayload
+*DEL*:00000000H   CODE     ---       _RF_WriteTxPayloadByIDATA
+      01001546H   CODE     ---       _RF_WriteTxPayloadByXDATA
+      010000CAH   CODE     ---       _SPRINTF
+      010000CAH   CODE     ---       _SPRINTF517
+      01000874H   CODE     ---       _SRAND
+*DEL*:00000000H   CODE     ---       _TIM_CapInit
+      0100002EH   CODE     ---       _TIM_Cmd
+*DEL*:00000000H   CODE     ---       _TIM_CmpInit
+*DEL*:00000000H   CODE     ---       _TIM_DeInit
+*DEL*:00000000H   CODE     ---       _TIM_DisableIRQ
+      01000D9EH   CODE     ---       _TIM_EnableIRQ
+*DEL*:00000000H   CODE     ---       _TIM_ExtCntConfig
+*DEL*:00000000H   CODE     ---       _TIM_GateConfig
+      01000B1FH   CODE     ---       _TIM_TimeBaseInit
+      01000A9EH   CODE     ---       _UART_Init
+*DEL*:00000000H   CODE     ---       _UART_OddCheck
+*DEL*:00000000H   CODE     ---       _UART_ParityCheck
+*DEL*:00000000H   CODE     ---       _UART_PutChar
+*DEL*:00000000H   CODE     ---       _UART_sendBuf
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 11
+
+
+*DEL*:00000000H   CODE     ---       _UART_SendOneByte
+*DEL*:00000000H   CODE     ---       _UART_SendString
+*SFR* 000000E0H   DATA     BYTE      ACC
+*SFR* 000000D8H   DATA     BYTE      ADCON
+*SFR* 000000FBH   DATA     BYTE      ANA_DAT
+*SFR* 000000FAH   DATA     BYTE      ANA_SEL
+      01000F53H   CODE     ---       APP_Timer2Init
+      01000EF8H   CODE     ---       APP_UartInit
+*SFR* 000000F0H   DATA     BYTE      B
+*SFR* 000000C1H   DATA     BYTE      CCEN
+*SFR* 000000C3H   DATA     BYTE      CCH1
+*SFR* 000000C5H   DATA     BYTE      CCH2
+*SFR* 000000C7H   DATA     BYTE      CCH3
+*SFR* 000000C2H   DATA     BYTE      CCL1
+*SFR* 000000C4H   DATA     BYTE      CCL2
+*SFR* 000000C6H   DATA     BYTE      CCL3
+*SFR* 000000CBH   DATA     BYTE      CRCH
+*SFR* 000000CAH   DATA     BYTE      CRCL
+*SFR* 00000093H   DATA     BYTE      DPC
+*SFR* 00000083H   DATA     BYTE      DPH
+*SFR* 00000085H   DATA     BYTE      DPH1
+*SFR* 00000082H   DATA     BYTE      DPL
+*SFR* 00000084H   DATA     BYTE      DPL1
+*SFR* 00000092H   DATA     BYTE      DPS
+*SFR* 00000082H   DATA     WORD      DPTR
+*SFR* 00000084H   DATA     WORD      DPTR1
+*SFR* 000000A8H.7 DATA     BIT       EA
+*SFR* 000000B8H.2 DATA     BIT       EADC
+*SFR* 000000B8H.0 DATA     BIT       EI2C
+*SFR* 000000B8H.3 DATA     BIT       EPWM
+*SFR* 000000B8H.5 DATA     BIT       ERF
+*SFR* 000000B8H.1 DATA     BIT       ESPI
+*SFR* 000000A8H.1 DATA     BIT       ET0
+*SFR* 000000A8H.3 DATA     BIT       ET1
+*SFR* 000000A8H.5 DATA     BIT       ET2
+*SFR* 000000A8H.4 DATA     BIT       EUART
+*SFR* 000000B8H.4 DATA     BIT       EUSB
+*SFR* 000000A8H.0 DATA     BIT       EX0
+*SFR* 000000A8H.2 DATA     BIT       EX1
+*SFR* 000000C0H.7 DATA     BIT       EXF2
+*SFR* 000000D0H.1 DATA     BIT       F1
+*SFR* 000000EAH   DATA     BYTE      FMC_ISPADDRH
+*SFR* 000000E9H   DATA     BYTE      FMC_ISPADDRL
+*SFR* 000000ECH   DATA     BYTE      FMC_ISPCMD
+*SFR* 000000E8H   DATA     BYTE      FMC_ISPCTL
+*SFR* 000000EBH   DATA     BYTE      FMC_ISPDATA
+*SFR* 000000EDH   DATA     BYTE      FMC_ISPTRG
+*DEL*:00000000H   CODE     ---       GPIO_DisableRst
+*DEL*:00000000H   CODE     ---       GPIO_EnableRst
+      01000003H   CONST    ---       GpioInOutCfg
+      02000000H   XDATA    ---       gRfConfig
+*SFR* 000000DCH   DATA     BYTE      I2C2CON
+*SFR* 000000DAH   DATA     BYTE      I2C2DAT
+*SFR* 000000DDH   DATA     BYTE      I2C2STA
+*SFR* 000000A8H   DATA     BYTE      IE
+*SFR* 00000088H.1 DATA     BIT       IE0
+*SFR* 000000B8H   DATA     BYTE      IE1
+*SFR* 000000A8H   DATA     BYTE      IEN0
+*SFR* 000000B8H   DATA     BYTE      IEN1
+*SFR* 000000A9H   DATA     BYTE      IP0
+*SFR* 000000B9H   DATA     BYTE      IP1
+*SFR* 000000C0H   DATA     BYTE      IRCON
+*SFR* 00000088H.0 DATA     BIT       IT0
+*SFR* 00000088H.2 DATA     BIT       IT1
+      0100129DH   CODE     ---       key_scan
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 12
+
+
+      01000BA7H   CODE     ---       main
+*SFR* 00000090H   DATA     BYTE      P1
+*SFR* 00000090H.0 DATA     BIT       P1_0
+*SFR* 00000090H.1 DATA     BIT       P1_1
+*SFR* 00000090H.2 DATA     BIT       P1_2
+*SFR* 00000090H.3 DATA     BIT       P1_3
+*SFR* 00000090H.4 DATA     BIT       P1_4
+*SFR* 00000090H.5 DATA     BIT       P1_5
+*SFR* 00000090H.6 DATA     BIT       P1_6
+*SFR* 00000090H.7 DATA     BIT       P1_7
+*SFR* 000000A0H   DATA     BYTE      P2
+*SFR* 000000B0H   DATA     BYTE      P3
+*SFR* 000000B0H.0 DATA     BIT       P3_0
+*SFR* 000000B0H.1 DATA     BIT       P3_1
+*SFR* 000000B0H.2 DATA     BIT       P3_2
+*SFR* 000000B0H.3 DATA     BIT       P3_3
+*SFR* 000000B0H.4 DATA     BIT       P3_4
+*SFR* 000000B0H.5 DATA     BIT       P3_5
+*SFR* 000000B0H.6 DATA     BIT       P3_6
+*SFR* 000000B0H.7 DATA     BIT       P3_7
+*SFR* 00000087H   DATA     BYTE      PCON
+*SFR* 000000D0H   DATA     BYTE      PSW
+      01000832H   CODE     ---       RAND
+*SFR* 000000FDH   DATA     BYTE      RCC_DAT
+*DEL*:00000000H   CODE     ---       RCC_LITE_SysClkInit
+*DEL*:00000000H   CODE     ---       RCC_PumpUp
+*DEL*:00000000H   CODE     ---       RCC_RchCaliAuto
+      01001190H   CODE     ---       RCC_RchCaliChk
+*DEL*:00000000H   CODE     ---       RCC_RchCaliDisable
+*SFR* 000000FCH   DATA     BYTE      RCC_SEL
+      01001139H   CODE     ---       RCC_SysClkInit
+*DEL*:00000000H   CODE     ---       RCC_XTALTurnOnNoneBlock
+      0100171BH   CODE     ---       RF_Carrier
+      01001715H   CODE     ---       RF_CE_Disable
+      01000FF8H   CODE     ---       RF_CE_Enable
+      01000F97H   CODE     ---       RF_ClearIRQFlags
+      01000F42H   CODE     ---       RF_Deinit
+*DEL*:00000000H   CODE     ---       RF_DisableIRQ
+*DEL*:00000000H   CODE     ---       RF_DisableRxPipes
+      01000068H   CODE     ---       RF_EnableIRQ
+      01000F7AH   CODE     ---       RF_EnterRxMode
+      01000F36H   CODE     ---       RF_EnterTxMode
+*DEL*:00000000H   CODE     ---       RF_ExitRxMode
+*DEL*:00000000H   CODE     ---       RF_ExitTxMode
+      01000F90H   CODE     ---       RF_FlushRxFifo
+      01000F1EH   CODE     ---       RF_FlushTxFifo
+*DEL*:00000000H   CODE     ---       RF_GetAvailableRxPipeIndex
+      010016C8H   CODE     ---       RF_GetIRQFlags
+      010011BAH   CODE     ---       RF_Init
+      010012DBH   CODE     ---       RF_InterruptHandler
+*DEL*:00000000H   CODE     ---       RF_IsTxFifoFull
+*DEL*:00000000H   CODE     ---       RF_ReadPayloadLen
+*DEL*:00000000H   CODE     ---       RF_RxFifoIsEmpty
+*DEL*:00000000H   CODE     ---       RF_RxFifoIsFull
+*DEL*:00000000H   CODE     ---       RF_RxWindowClose
+*DEL*:00000000H   CODE     ---       RF_RxWindowStartOnce
+      0000000CH   DATA     BYTE      rf_status
+*DEL*:00000000H   CODE     ---       RF_TxFifoIsEmpty
+*DEL*:00000000H   CODE     ---       RF_TxFifoIsFull
+*SFR* 00000099H   DATA     BYTE      S0BUF
+*SFR* 00000098H   DATA     BYTE      S0CON
+*SFR* 00000098H.0 DATA     BIT       S0CON_RI0
+*SFR* 00000098H.1 DATA     BIT       S0CON_TI0
+*SFR* 000000BAH   DATA     BYTE      S0RELH
+*SFR* 000000AAH   DATA     BYTE      S0RELL
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 13
+
+
+*SFR* 00000081H   DATA     BYTE      SP
+*SFR* 000000E2H   DATA     BYTE      SPCON
+*SFR* 000000E5H   DATA     BYTE      SPCON1
+*SFR* 000000E3H   DATA     BYTE      SPDAT
+*SFR* 000000E4H   DATA     BYTE      SPSSN
+*SFR* 000000E1H   DATA     BYTE      SPSTA
+*SFR* 000000F7H   DATA     BYTE      SRST
+*SFR* 000000F9H   DATA     BYTE      SYS_DAT
+*SFR* 000000F8H   DATA     BYTE      SYS_SEL
+*SFR* 000000C8H   DATA     BYTE      T2CON
+*SFR* 000000ABH   DATA     BYTE      TCAPCON
+*SFR* 000000ACH   DATA     BYTE      TCAPSTA
+*SFR* 00000088H   DATA     BYTE      TCON
+*SFR* 00000088H.5 DATA     BIT       TF0
+*SFR* 00000088H.7 DATA     BIT       TF1
+*SFR* 000000C0H.6 DATA     BIT       TF2
+*SFR* 0000008CH   DATA     BYTE      TH0
+*SFR* 0000008DH   DATA     BYTE      TH1
+*SFR* 000000CDH   DATA     BYTE      TH2
+*SFR* 0000008CH   DATA     WORD      TIME0_CNT
+      010016E9H   CODE     ---       TIMER2_InterruptHandler
+      02000097H   XDATA    WORD      Timer2IntCnt
+*SFR* 0000008AH   DATA     BYTE      TL0
+*SFR* 0000008BH   DATA     BYTE      TL1
+*SFR* 000000CCH   DATA     BYTE      TL2
+*SFR* 00000089H   DATA     BYTE      TMOD
+*SFR* 00000088H.4 DATA     BIT       TR0
+*SFR* 00000088H.6 DATA     BIT       TR1
+*DEL*:00000000H   CODE     ---       UART_DisableIRQ
+*DEL*:00000000H   CODE     ---       UART_EnableIRQ
+*SFR* 0000008FH   DATA     BYTE      WDT_DIV
+*SFR* 00000086H   DATA     BYTE      WDTREL
+
+
+
+LINKER CODE PACKING SYMBOLS OF MODULE:  .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+
+      VALUE       CLASS    TYPE      SYMBOL NAME
+      ==========================================
+      0100000BH   CODE     PART      ?L?COM0001
+      0100180AH   CODE     PART      ?L?COM0002
+      01001515H   CODE     PART      ?L?COM0003
+      01001102H   CODE     PART      ?L?COM0004
+      010010E8H   CODE     PART      ?L?COM0005
+      010010E8H   CODE     END       ?L?COM0006
+      01000EF1H   CODE     PART      ?L?COM0007
+      010014F4H   CODE     PART      ?L?COM0008
+      01000FBCH   CODE     PART      ?L?COM0009
+      01000FBCH   CODE     END       ?L?COM000A
+      01000FBCH   CODE     END       ?L?COM000B
+      01001903H   CODE     PART      ?L?COM000C
+      01000F25H   CODE     PART      ?L?COM000D
+      01000F25H   CODE     END       ?L?COM000E
+      01000F25H   CODE     END       ?L?COM000F
+      0100157BH   CODE     PART      ?L?COM0010
+      01001AE6H   CODE     PART      ?L?COM0011
+      01000DB2H   CODE     BEGIN     ?L?COM0012
+      01000DB2H   CODE     END       ?L?COM0013
+      01001111H   CODE     PART      ?L?COM0014
+      01000012H   CODE     PART      ?L?COM0015
+      010018FAH   CODE     PART      ?L?COM0016
+      01000F80H   CODE     PART      ?L?COM0017
+      010010F9H   CODE     PART      ?L?COM0018
+      01001399H   CODE     BEGIN     ?L?COM0019
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 14
+
+
+      010014E4H   CODE     PART      ?L?COM001A
+      01000F3AH   CODE     PART      ?L?COM001B
+      01000F3AH   CODE     END       ?L?COM001C
+      01001464H   CODE     PART      ?L?COM001D
+      01001464H   CODE     END       ?L?COM001E
+      0100125CH   CODE     PART      ?L?COM001F
+      01001AF0H   CODE     PART      ?L?COM0020
+      010010F2H   CODE     PART      ?L?COM0021
+      01001A0EH   CODE     PART      ?L?COM0022
+      010011B2H   CODE     PART      ?L?COM0023
+      010016D0H   CODE     PART      ?L?COM0024
+      01001AFDH   CODE     PART      ?L?COM0025
+      01000FA7H   CODE     PART      ?L?COM0026
+      01000FB1H   CODE     PART      ?L?COM0027
+      01000F42H   CODE     PART      ?L?COM0028
+      01000F73H   CODE     PART      ?L?COM0029
+      010011ABH   CODE     PART      ?L?COM002A
+      01000F31H   CODE     BEGIN     ?L?COM002B
+      010016E0H   CODE     PART      ?L?COM002C
+      010012D3H   CODE     PART      ?L?COM002D
+      010014D6H   CODE     PART      ?L?COM002E
+      010014DCH   CODE     PART      ?L?COM002F
+      010016D8H   CODE     PART      ?L?COM0030
+      01001A06H   CODE     PART      ?L?COM0031
+      0100145CH   CODE     PART      ?L?COM0032
+      01000061H   CODE     PART      ?L?COM0033
+      01000F4CH   CODE     PART      ?L?COM0034
+      01000F9FH   CODE     PART      ?L?COM0035
+
+
+
+SYMBOL TABLE OF MODULE:  .\Objects\PAN262x_FCC_TEST-KEY_P32-Release (?C_STARTUP)
+
+      VALUE       REP       CLASS    TYPE      SYMBOL NAME
+      ====================================================
+      ---         MODULE    ---      ---       ?C_STARTUP
+      01000000H   PUBLIC    CODE     ---       ?C_STARTUP
+      000000E0H   SYMBOL    DATA     ---       ACC
+      000000F0H   SYMBOL    DATA     ---       B
+      00000083H   SYMBOL    DATA     ---       DPH
+      00000082H   SYMBOL    DATA     ---       DPL
+      00000000H   SYMBOL    NUMBER   ---       IBPSTACK
+      00000100H   SYMBOL    NUMBER   ---       IBPSTACKTOP
+      00000080H   SYMBOL    NUMBER   ---       IDATALEN
+      010007A9H   SYMBOL    CODE     ---       IDATALOOP
+      00000000H   SYMBOL    NUMBER   ---       PBPSTACK
+      00000100H   SYMBOL    NUMBER   ---       PBPSTACKTOP
+      00000000H   SYMBOL    NUMBER   ---       PDATALEN
+      00000000H   SYMBOL    NUMBER   ---       PDATASTART
+      00000000H   SYMBOL    NUMBER   ---       PPAGE
+      00000000H   SYMBOL    NUMBER   ---       PPAGEENABLE
+      000000A0H   SYMBOL    DATA     ---       PPAGE_SFR
+      00000081H   SYMBOL    DATA     ---       SP
+      010007A6H   SYMBOL    CODE     ---       STARTUP1
+      00000000H   SYMBOL    NUMBER   ---       XBPSTACK
+      00000000H   SYMBOL    NUMBER   ---       XBPSTACKTOP
+      00000000H   SYMBOL    NUMBER   ---       XDATALEN
+      00000000H   SYMBOL    NUMBER   ---       XDATASTART
+      01000000H   LINE      CODE     ---       #126
+      010007A6H   LINE      CODE     ---       #133
+      010007A8H   LINE      CODE     ---       #134
+      010007A9H   LINE      CODE     ---       #135
+      010007AAH   LINE      CODE     ---       #136
+      010007ACH   LINE      CODE     ---       #185
+      010007AFH   LINE      CODE     ---       #196
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 15
+
+
+
+      ---         MODULE    ---      ---       GPIO
+      01000003H   PUBLIC    CONST    ---       GpioInOutCfg
+      0000002AH   PUBLIC    DATA     BYTE      ?_GPIO_Init?BYTE
+      010008E1H   PUBLIC    CODE     ---       _GPIO_Init
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 16
+
+
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+
+      010008E1H   BLOCK     CODE     ---       LVL=0
+      010008E1H   LINE      ---      ---       #68
+      010008E1H   LINE      ---      ---       #69
+      00000007H   SYMBOL    DATA     BYTE      Port
+      00000005H   SYMBOL    DATA     BYTE      Mux
+      00000003H   SYMBOL    DATA     BYTE      Mode
+      0000002DH   SYMBOL    DATA     BYTE      Pull
+      010008E1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010008E1H   LINE      ---      ---       #71
+      010008E5H   LINE      ---      ---       #73
+      010008ECH   LINE      ---      ---       #74
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 17
+
+
+      010008ECH   LINE      ---      ---       #75
+      010008EFH   LINE      ---      ---       #76
+      010008F1H   LINE      ---      ---       #77
+      010008F8H   LINE      ---      ---       #78
+      010008F8H   LINE      ---      ---       #79
+      010008FBH   LINE      ---      ---       #80
+      010008FBH   LINE      ---      ---       #82
+      010008FBH   LINE      ---      ---       #84
+      010008FBH   LINE      ---      ---       #87
+      01000925H   LINE      ---      ---       #88
+      0100094BH   LINE      ---      ---       #89
+      01000974H   LINE      ---      ---       #92
+      01000979H   LINE      ---      ---       #93
+      01000979H   LINE      ---      ---       #94
+      01000988H   LINE      ---      ---       #95
+      0100098FH   LINE      ---      ---       #96
+      01000991H   LINE      ---      ---       #98
+      01000991H   LINE      ---      ---       #99
+      010009B4H   LINE      ---      ---       #100
+      010009D9H   LINE      ---      ---       #101
+      010009D9H   LINE      ---      ---       #104
+      01000A0BH   LINE      ---      ---       #105
+      01000A3FH   LINE      ---      ---       #108
+      01000A6DH   LINE      ---      ---       #109
+      01000A9DH   LINE      ---      ---       #110
+      0000002EH   SYMBOL    DATA     ---       Offset
+      00000006H   SYMBOL    DATA     BYTE      BitId
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+      00000005H   SYMBOL    DATA     BYTE      Trigger
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+      00000005H   SYMBOL    DATA     BYTE      DbcTicks
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+
+      ---         MODULE    ---      ---       UART
+      0100001CH   PUBLIC    CODE     ---       _putchar
+      0000002AH   PUBLIC    DATA     BYTE      ?_UART_Init?BYTE
+      01000A9EH   PUBLIC    CODE     ---       _UART_Init
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 18
+
+
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 19
+
+
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+
+      01000A9EH   BLOCK     CODE     ---       LVL=0
+      01000A9EH   LINE      ---      ---       #50
+      01000A9EH   LINE      ---      ---       #51
+      01000A9EH   LINE      ---      ---       #52
+      01000AA3H   LINE      ---      ---       #53
+      01000AD1H   LINE      ---      ---       #54
+      01000AD1H   LINE      ---      ---       #55
+      01000AD1H   LINE      ---      ---       #56
+      01000AD4H   LINE      ---      ---       #57
+      01000AD7H   LINE      ---      ---       #58
+      01000ADAH   LINE      ---      ---       #59
+      01000ADDH   LINE      ---      ---       #60
+      01000ADEH   LINE      ---      ---       #61
+      01000ADEH   LINE      ---      ---       #62
+      01000AE1H   LINE      ---      ---       #65
+      01000AE4H   LINE      ---      ---       #66
+      01000AE5H   LINE      ---      ---       #67
+      01000AE5H   LINE      ---      ---       #68
+      01000AE8H   LINE      ---      ---       #71
+      01000AEBH   LINE      ---      ---       #72
+      01000AECH   LINE      ---      ---       #73
+      01000AECH   LINE      ---      ---       #74
+      01000AEFH   LINE      ---      ---       #77
+      01000AF2H   LINE      ---      ---       #78
+      01000AF3H   LINE      ---      ---       #79
+      01000AF3H   LINE      ---      ---       #80
+      01000AF6H   LINE      ---      ---       #81
+      01000AF9H   LINE      ---      ---       #82
+      01000AFCH   LINE      ---      ---       #83
+      01000AFCH   LINE      ---      ---       #84
+      01000AFCH   LINE      ---      ---       #85
+      01000AFCH   LINE      ---      ---       #86
+      01000AFEH   LINE      ---      ---       #87
+      01000AFEH   LINE      ---      ---       #88
+      01000B01H   LINE      ---      ---       #91
+      01000B04H   LINE      ---      ---       #92
+      01000B05H   LINE      ---      ---       #93
+      01000B05H   LINE      ---      ---       #94
+      01000B08H   LINE      ---      ---       #97
+      01000B0BH   LINE      ---      ---       #98
+      01000B0CH   LINE      ---      ---       #99
+      01000B0CH   LINE      ---      ---       #100
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 20
+
+
+      01000B0FH   LINE      ---      ---       #101
+      01000B12H   LINE      ---      ---       #102
+      01000B15H   LINE      ---      ---       #103
+      01000B18H   LINE      ---      ---       #104
+      01000B1BH   LINE      ---      ---       #105
+      01000B1EH   LINE      ---      ---       #106
+      01000B1EH   LINE      ---      ---       #107
+      01000B1EH   LINE      ---      ---       #108
+      01000B1EH   LINE      ---      ---       #109
+      01000B1EH   LINE      ---      ---       #110
+      00000007H   SYMBOL    DATA     BYTE      DataBits
+      00000005H   SYMBOL    DATA     BYTE      RxIRQEn
+      00000003H   SYMBOL    DATA     BYTE      Parity
+      0000002DH   SYMBOL    DATA     BYTE      BaudRate
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Byte
+      00000006H   SYMBOL    DATA     CHAR      c
+      00000004H   SYMBOL    DATA     INT       len
+      00000007H   SYMBOL    DATA     BYTE      num
+      00000006H   SYMBOL    DATA     CHAR      check
+      00000007H   SYMBOL    DATA     BYTE      num
+      00000006H   SYMBOL    DATA     CHAR      check
+
+      0100001CH   BLOCK     CODE     ---       LVL=0
+      0100001CH   LINE      ---      ---       #237
+      0100001CH   LINE      ---      ---       #238
+      0100001CH   LINE      ---      ---       #239
+      0100001EH   LINE      ---      ---       #240
+      01000021H   LINE      ---      ---       #241
+      01000023H   LINE      ---      ---       #242
+      01000023H   LINE      ---      ---       #243
+      00000007H   SYMBOL    DATA     CHAR      c
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      ---         MODULE    ---      ---       TIMER
+      01000D9EH   PUBLIC    CODE     ---       _TIM_EnableIRQ
+      0100002EH   PUBLIC    CODE     ---       _TIM_Cmd
+      0000002AH   PUBLIC    DATA     BYTE      ?_TIM_TimeBaseInit?BYTE
+      01000B1FH   PUBLIC    CODE     ---       _TIM_TimeBaseInit
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 21
+
+
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 22
+
+
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+
+      01000B1FH   BLOCK     CODE     ---       LVL=0
+      01000B1FH   LINE      ---      ---       #84
+      01000B22H   LINE      ---      ---       #85
+      01000B22H   LINE      ---      ---       #89
+      01000B25H   LINE      ---      ---       #90
+      01000B25H   LINE      ---      ---       #92
+      01000B27H   LINE      ---      ---       #95
+      01000B2AH   LINE      ---      ---       #96
+      01000B2AH   LINE      ---      ---       #97
+      01000B2EH   LINE      ---      ---       #98
+      01000B31H   LINE      ---      ---       #99
+      01000B33H   LINE      ---      ---       #101
+      01000B33H   LINE      ---      ---       #102
+      01000B3BH   LINE      ---      ---       #103
+      01000B3BH   LINE      ---      ---       #106
+      01000B3EH   LINE      ---      ---       #109
+      01000B45H   LINE      ---      ---       #110
+      01000B46H   LINE      ---      ---       #111
+      01000B4BH   LINE      ---      ---       #112
+      01000B4BH   LINE      ---      ---       #114
+      01000B4DH   LINE      ---      ---       #117
+      01000B50H   LINE      ---      ---       #118
+      01000B50H   LINE      ---      ---       #119
+      01000B54H   LINE      ---      ---       #120
+      01000B57H   LINE      ---      ---       #121
+      01000B59H   LINE      ---      ---       #123
+      01000B59H   LINE      ---      ---       #124
+      01000B61H   LINE      ---      ---       #125
+      01000B61H   LINE      ---      ---       #128
+      01000B64H   LINE      ---      ---       #131
+      01000B70H   LINE      ---      ---       #132
+      01000B71H   LINE      ---      ---       #133
+      01000B76H   LINE      ---      ---       #134
+      01000B76H   LINE      ---      ---       #136
+      01000B79H   LINE      ---      ---       #139
+      01000B84H   LINE      ---      ---       #142
+      01000B88H   LINE      ---      ---       #145
+      01000B97H   LINE      ---      ---       #147
+      01000B9AH   LINE      ---      ---       #148
+      01000B9AH   LINE      ---      ---       #150
+      01000BA2H   LINE      ---      ---       #151
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 23
+
+
+      01000BA3H   LINE      ---      ---       #153
+      01000BA3H   LINE      ---      ---       #155
+      01000BA6H   LINE      ---      ---       #156
+      01000BA6H   LINE      ---      ---       #157
+      01000BA6H   LINE      ---      ---       #158
+      00000004H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      TIM_Mode
+      00000003H   SYMBOL    DATA     BYTE      TIM_Clk
+      0000002DH   SYMBOL    DATA     WORD      InitCnt
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      Channel
+      00000003H   SYMBOL    DATA     BYTE      CmpMode
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      Channel
+      00000003H   SYMBOL    DATA     BYTE      CapMode
+
+      0100002EH   BLOCK     CODE     ---       LVL=0
+      0100002EH   LINE      ---      ---       #411
+      0100002EH   LINE      ---      ---       #412
+      0100002EH   LINE      ---      ---       #417
+      01000039H   LINE      ---      ---       #418
+      01000039H   LINE      ---      ---       #419
+      01000039H   LINE      ---      ---       #420
+      01000039H   LINE      ---      ---       #421
+      0100003CH   LINE      ---      ---       #422
+      0100003CH   LINE      ---      ---       #423
+      0100003EH   LINE      ---      ---       #424
+      0100003FH   LINE      ---      ---       #426
+      0100003FH   LINE      ---      ---       #427
+      01000041H   LINE      ---      ---       #428
+      01000041H   LINE      ---      ---       #429
+      01000042H   LINE      ---      ---       #430
+      01000042H   LINE      ---      ---       #431
+      01000042H   LINE      ---      ---       #432
+      01000042H   LINE      ---      ---       #433
+      01000045H   LINE      ---      ---       #434
+      01000045H   LINE      ---      ---       #435
+      01000047H   LINE      ---      ---       #436
+      01000048H   LINE      ---      ---       #438
+      01000048H   LINE      ---      ---       #439
+      0100004AH   LINE      ---      ---       #440
+      0100004AH   LINE      ---      ---       #441
+      0100004BH   LINE      ---      ---       #442
+      0100004BH   LINE      ---      ---       #443
+      0100004BH   LINE      ---      ---       #444
+      0100004BH   LINE      ---      ---       #445
+      0100004EH   LINE      ---      ---       #446
+      0100004EH   LINE      ---      ---       #448
+      01000054H   LINE      ---      ---       #449
+      01000054H   LINE      ---      ---       #450
+      0100005CH   LINE      ---      ---       #451
+      0100005CH   LINE      ---      ---       #452
+      0100005DH   LINE      ---      ---       #454
+      0100005DH   LINE      ---      ---       #456
+      01000060H   LINE      ---      ---       #457
+      01000060H   LINE      ---      ---       #458
+      01000060H   LINE      ---      ---       #459
+      01000060H   LINE      ---      ---       #460
+      01000060H   LINE      ---      ---       #461
+      01000060H   LINE      ---      ---       #462
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 24
+
+
+      01000060H   LINE      ---      ---       #463
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000D9EH   BLOCK     CODE     ---       LVL=0
+      01000D9EH   LINE      ---      ---       #470
+      01000D9EH   LINE      ---      ---       #471
+      01000D9EH   LINE      ---      ---       #475
+      01000DA9H   LINE      ---      ---       #476
+      01000DA9H   LINE      ---      ---       #477
+      01000DA9H   LINE      ---      ---       #478
+      01000DA9H   LINE      ---      ---       #479
+      01000DABH   LINE      ---      ---       #480
+      01000DACH   LINE      ---      ---       #481
+      01000DACH   LINE      ---      ---       #482
+      01000DACH   LINE      ---      ---       #483
+      01000DACH   LINE      ---      ---       #484
+      01000DAEH   LINE      ---      ---       #485
+      01000DAFH   LINE      ---      ---       #486
+      01000DAFH   LINE      ---      ---       #487
+      01000DAFH   LINE      ---      ---       #488
+      01000DAFH   LINE      ---      ---       #489
+      01000DB1H   LINE      ---      ---       #490
+      01000DB1H   LINE      ---      ---       #491
+      01000DB1H   LINE      ---      ---       #492
+      01000DB1H   LINE      ---      ---       #493
+      01000DB1H   LINE      ---      ---       #494
+      01000DB1H   LINE      ---      ---       #495
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+
+      ---         MODULE    ---      ---       RCC
+      01001139H   PUBLIC    CODE     ---       RCC_SysClkInit
+      01001190H   PUBLIC    CODE     ---       RCC_RchCaliChk
+      01001263H   PUBLIC    CODE     ---       _RCC_RchCali
+      01001127H   PUBLIC    CODE     ---       _RCC_Source
+      01000FFAH   PUBLIC    CODE     ---       _RCC_Ctrl
+      01000ECEH   PUBLIC    CODE     ---       _RCC_PeriphClockCmd
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 25
+
+
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 26
+
+
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      00000006H   SYMBOL    DATA     WORD      RCC_Periph
+
+      01000ECEH   BLOCK     CODE     ---       LVL=0
+      01000ECEH   LINE      ---      ---       #86
+      01000ECEH   LINE      ---      ---       #87
+      01000ECEH   LINE      ---      ---       #88
+      01000ED4H   LINE      ---      ---       #89
+      01000ED4H   LINE      ---      ---       #90
+      01000ED7H   LINE      ---      ---       #92
+      01000EDAH   LINE      ---      ---       #93
+      01000EDAH   LINE      ---      ---       #94
+      01000EDAH   LINE      ---      ---       #95
+      01000EDCH   LINE      ---      ---       #102
+      01000EDCH   LINE      ---      ---       #103
+      01000EDFH   LINE      ---      ---       #105
+      01000EE2H   LINE      ---      ---       #106
+      01000EE2H   LINE      ---      ---       #107
+      01000EE8H   LINE      ---      ---       #108
+      01000EE9H   LINE      ---      ---       #110
+      01000EE9H   LINE      ---      ---       #111
+      01000EF0H   LINE      ---      ---       #112
+      01000EF0H   LINE      ---      ---       #113
+      01000EF0H   LINE      ---      ---       #114
+      00000006H   SYMBOL    DATA     WORD      RCC_Periph
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FFAH   BLOCK     CODE     ---       LVL=0
+      01000FFAH   LINE      ---      ---       #128
+      01000FFCH   LINE      ---      ---       #129
+      00000007H   SYMBOL    DATA     BYTE      sel
+      0000002BH   SYMBOL    DATA     BYTE      NewState
+      01000FFCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FFCH   LINE      ---      ---       #130
+      01000FFFH   LINE      ---      ---       #132
+      01001002H   LINE      ---      ---       #134
+      01001014H   LINE      ---      ---       #135
+      01001014H   LINE      ---      ---       #136
+      01001014H   LINE      ---      ---       #137
+      01001018H   LINE      ---      ---       #138
+      01001018H   LINE      ---      ---       #139
+      0100101FH   LINE      ---      ---       #141
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 27
+
+
+      01001022H   LINE      ---      ---       #142
+      01001029H   LINE      ---      ---       #143
+      01001029H   LINE      ---      ---       #144
+      01001033H   LINE      ---      ---       #145
+      01001033H   LINE      ---      ---       #146
+      01001035H   LINE      ---      ---       #147
+      01001035H   LINE      ---      ---       #148
+      01001037H   LINE      ---      ---       #149
+      01001037H   LINE      ---      ---       #151
+      01001037H   LINE      ---      ---       #152
+      0100103AH   LINE      ---      ---       #153
+      01001045H   LINE      ---      ---       #154
+      01001045H   LINE      ---      ---       #155
+      01001045H   LINE      ---      ---       #157
+      01001045H   LINE      ---      ---       #158
+      01001049H   LINE      ---      ---       #159
+      01001049H   LINE      ---      ---       #160
+      0100104CH   LINE      ---      ---       #161
+      01001057H   LINE      ---      ---       #162
+      01001057H   LINE      ---      ---       #164
+      01001057H   LINE      ---      ---       #165
+      0100105AH   LINE      ---      ---       #166
+      01001065H   LINE      ---      ---       #167
+      01001065H   LINE      ---      ---       #168
+      01001065H   LINE      ---      ---       #170
+      01001065H   LINE      ---      ---       #171
+      01001069H   LINE      ---      ---       #172
+      00000082H   SYMBOL    DATA     WORD      count
+      01001069H   BLOCK     CODE     NEAR LAB  LVL=2
+      01001069H   LINE      ---      ---       #175
+      0100106EH   LINE      ---      ---       #176
+      0100106EH   LINE      ---      ---       #178
+      0100106EH   LINE      ---      ---       #180
+      01001074H   LINE      ---      ---       #182
+      01001079H   LINE      ---      ---       #183
+      01001079H   LINE      ---      ---       #184
+      01001080H   LINE      ---      ---       #188
+      01001089H   LINE      ---      ---       #189
+      01001089H   LINE      ---      ---       #190
+      01001093H   LINE      ---      ---       #191
+      01001093H   LINE      ---      ---       #192
+      01001095H   LINE      ---      ---       #193
+      01001095H   LINE      ---      ---       #194
+      01001097H   LINE      ---      ---       #195
+      0100109DH   LINE      ---      ---       #196
+      0100109DH   LINE      ---      ---       #198
+      010010A2H   LINE      ---      ---       #204
+      010010ABH   LINE      ---      ---       #205
+      010010ABH   LINE      ---      ---       #206
+      010010B5H   LINE      ---      ---       #207
+      010010B5H   LINE      ---      ---       #208
+      010010B7H   LINE      ---      ---       #209
+      010010B7H   LINE      ---      ---       #210
+      010010B9H   LINE      ---      ---       #212
+      010010BCH   LINE      ---      ---       #214
+      0000002CH   SYMBOL    DATA     BYTE      Temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      010010BEH   LINE      ---      ---       #216
+      010010BEH   LINE      ---      ---       #217
+      010010C1H   LINE      ---      ---       #218
+      010010C1H   LINE      ---      ---       #219
+      010010C2H   LINE      ---      ---       #221
+      010010C2H   LINE      ---      ---       #222
+      010010C6H   LINE      ---      ---       #223
+      010010C6H   LINE      ---      ---       #224
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 28
+
+
+      010010CBH   LINE      ---      ---       #225
+      010010CBH   LINE      ---      ---       #227
+      010010CBH   LINE      ---      ---       #229
+      010010CEH   LINE      ---      ---       #230
+      010010D1H   LINE      ---      ---       #231
+      010010D6H   LINE      ---      ---       #232
+      010010D6H   LINE      ---      ---       #233
+      010010E0H   LINE      ---      ---       #234
+      010010E0H   LINE      ---      ---       #235
+      010010E2H   LINE      ---      ---       #236
+      010010E2H   LINE      ---      ---       #237
+      010010E4H   LINE      ---      ---       #238
+      010010E4H   LINE      ---      ---       #240
+      010010E4H   LINE      ---      ---       #241
+      010010E7H   LINE      ---      ---       #242
+      010010E7H   LINE      ---      ---       #243
+      010010E7H   LINE      ---      ---       #244
+      010010E7H   LINE      ---      ---       #245
+      010010E7H   LINE      CODE     ---       #245
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      ClockSource
+      00000006H   SYMBOL    DATA     CHAR      ReadyFlag
+      00000007H   SYMBOL    DATA     BYTE      NewState
+
+      01001127H   BLOCK     CODE     ---       LVL=0
+      01001127H   LINE      ---      ---       #335
+      01001127H   LINE      ---      ---       #336
+      01001127H   LINE      ---      ---       #337
+      0100112AH   LINE      ---      ---       #338
+      01001138H   LINE      ---      ---       #339
+      00000007H   SYMBOL    DATA     BYTE      sel
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Division
+
+      01001263H   BLOCK     CODE     ---       LVL=0
+      01001263H   LINE      ---      ---       #361
+      01001263H   LINE      ---      ---       #362
+      00000007H   SYMBOL    DATA     BYTE      rch_cap_trim
+      00000005H   SYMBOL    DATA     BYTE      rch_cal_code_cfg
+      01001263H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001263H   LINE      ---      ---       #363
+      01001265H   LINE      ---      ---       #364
+      01001267H   LINE      ---      ---       #366
+      0100126AH   LINE      ---      ---       #367
+      01001271H   LINE      ---      ---       #369
+      01001274H   LINE      ---      ---       #370
+      0100127BH   LINE      ---      ---       #371
+      0000002BH   SYMBOL    DATA     BYTE      trim
+      0000002CH   SYMBOL    DATA     BYTE      cal
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      VoltLevel
+      00000007H   SYMBOL    DATA     BYTE      Level
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      cali_per
+      00000005H   SYMBOL    DATA     BYTE      cali_h
+      00000006H   SYMBOL    DATA     BYTE      reg_rcc
+      00000007H   SYMBOL    DATA     BYTE      source
+      00000005H   SYMBOL    DATA     BYTE      sel
+
+      01001190H   BLOCK     CODE     ---       LVL=0
+      01001190H   LINE      ---      ---       #540
+      01001190H   LINE      ---      ---       #541
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 29
+
+
+      01001190H   LINE      ---      ---       #542
+      010011A4H   LINE      ---      ---       #543
+      010011A4H   LINE      ---      ---       #544
+      010011AAH   LINE      ---      ---       #545
+      010011AAH   LINE      ---      ---       #546
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001139H   BLOCK     CODE     ---       LVL=0
+      01001139H   LINE      ---      ---       #552
+      01001139H   LINE      ---      ---       #553
+      01001139H   LINE      ---      ---       #554
+      0100113FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0000002AH   SYMBOL    DATA     BYTE      Temp
+      ---         BLOCKEND  CODE     ---       LVL=1
+      01001163H   LINE      ---      ---       #555
+      01001165H   LINE      ---      ---       #556
+      01001169H   LINE      ---      ---       #557
+      01001170H   LINE      ---      ---       #558
+      01001177H   LINE      ---      ---       #559
+      0100117FH   LINE      ---      ---       #560
+      0100117FH   LINE      ---      ---       #561
+      01001183H   LINE      ---      ---       #562
+      01001183H   LINE      ---      ---       #563
+      0100118BH   LINE      ---      ---       #564
+      0100118BH   LINE      ---      ---       #565
+      0100118FH   LINE      ---      ---       #566
+      0100118FH   LINE      ---      ---       #567
+      0100118FH   LINE      CODE     ---       #567
+
+      ---         MODULE    ---      ---       LOG
+
+      ---         MODULE    ---      ---       MAIN
+      02000097H   PUBLIC    XDATA    WORD      Timer2IntCnt
+      02000000H   PUBLIC    XDATA    ---       gRfConfig
+      0000000CH   PUBLIC    DATA     BYTE      rf_status
+      010016E9H   PUBLIC    CODE     ---       TIMER2_InterruptHandler
+      010012DBH   PUBLIC    CODE     ---       RF_InterruptHandler
+      01000BA7H   PUBLIC    CODE     ---       main
+      0100129DH   PUBLIC    CODE     ---       key_scan
+      0100127CH   PUBLIC    CODE     ---       _DelayMs
+      01000DBAH   PUBLIC    CODE     ---       _APP_RfInit
+      01000F53H   PUBLIC    CODE     ---       APP_Timer2Init
+      01000EF8H   PUBLIC    CODE     ---       APP_UartInit
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 30
+
+
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 31
+
+
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      0000000DH   SYMBOL    DATA     BYTE      key_flag
+
+      01000EF8H   BLOCK     CODE     ---       LVL=0
+      01000EF8H   LINE      ---      ---       #105
+      01000EF8H   LINE      ---      ---       #106
+      01000EF8H   LINE      ---      ---       #107
+      01000F08H   LINE      ---      ---       #112
+      01000F13H   LINE      ---      ---       #113
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F53H   BLOCK     CODE     ---       LVL=0
+      01000F53H   LINE      ---      ---       #116
+      01000F53H   LINE      ---      ---       #117
+      01000F53H   LINE      ---      ---       #118
+      01000F5BH   LINE      ---      ---       #120
+      01000F68H   LINE      ---      ---       #121
+      01000F6CH   LINE      ---      ---       #122
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000DB2H   BLOCK     CODE     ---       LVL=0
+      01000DBAH   LINE      ---      ---       #125
+      01000DC0H   LINE      ---      ---       #126
+      01000DC0H   LINE      ---      ---       #127
+      01000DC8H   LINE      ---      ---       #129
+      01000DCBH   LINE      ---      ---       #131
+      01000DD0H   LINE      ---      ---       #132
+      01000DDCH   LINE      ---      ---       #133
+      01000DE8H   LINE      ---      ---       #134
+      01000DF3H   LINE      ---      ---       #135
+      01000DFFH   LINE      ---      ---       #136
+      01000E0BH   LINE      ---      ---       #138
+      01000E10H   LINE      ---      ---       #140
+      01000E2AH   LINE      ---      ---       #141
+      01000E47H   LINE      ---      ---       #142
+      01000E4EH   LINE      ---      ---       #144
+      01000E5AH   LINE      ---      ---       #147
+      01000E68H   LINE      ---      ---       #149
+      01000E74H   LINE      ---      ---       #150
+      01000E74H   LINE      ---      ---       #151
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 32
+
+
+      01000E80H   LINE      ---      ---       #152
+      01000E89H   LINE      ---      ---       #153
+      01000E95H   LINE      ---      ---       #154
+      01000EA1H   LINE      ---      ---       #155
+      01000EABH   LINE      ---      ---       #156
+      01000EADH   LINE      ---      ---       #158
+      01000EADH   LINE      ---      ---       #159
+      01000EB5H   LINE      ---      ---       #160
+      01000EBAH   LINE      ---      ---       #161
+      01000EBFH   LINE      ---      ---       #162
+      01000EC4H   LINE      ---      ---       #163
+      01000EC4H   LINE      ---      ---       #165
+      01000ECBH   LINE      ---      ---       #166
+      01000DB2H   SYMBOL    CODE     NEAR LAB  ?L?COM0012
+      0000002AH   SYMBOL    DATA     ---       pCfg
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100127CH   BLOCK     CODE     ---       LVL=0
+      0100127CH   LINE      ---      ---       #168
+      0100127CH   LINE      ---      ---       #169
+      00000006H   SYMBOL    DATA     WORD      Ms
+      0100127CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100127CH   LINE      ---      ---       #172
+      01001286H   LINE      ---      ---       #173
+      01001286H   LINE      ---      ---       #174
+      01001289H   LINE      ---      ---       #175
+      01001289H   LINE      ---      ---       #177
+      0100128AH   LINE      ---      ---       #178
+      01001295H   LINE      ---      ---       #179
+      0100129CH   LINE      ---      ---       #180
+      00000004H   SYMBOL    DATA     WORD      i
+      00000002H   SYMBOL    DATA     WORD      j
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100129DH   BLOCK     CODE     ---       LVL=0
+      0100129DH   LINE      ---      ---       #182
+      0100129DH   LINE      ---      ---       #183
+      0100129DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100129DH   LINE      ---      ---       #185
+      010012A0H   LINE      ---      ---       #186
+      010012A0H   LINE      ---      ---       #187
+      010012A2H   LINE      ---      ---       #188
+      010012A4H   LINE      ---      ---       #190
+      010012A4H   LINE      ---      ---       #191
+      010012A6H   LINE      ---      ---       #192
+      010012A6H   LINE      ---      ---       #194
+      010012A9H   LINE      ---      ---       #195
+      010012A9H   LINE      ---      ---       #196
+      010012ADH   LINE      ---      ---       #197
+      010012ADH   LINE      ---      ---       #198
+      010012B1H   LINE      ---      ---       #200
+      010012B1H   LINE      ---      ---       #201
+      010012B4H   LINE      ---      ---       #202
+      010012B4H   LINE      ---      ---       #203
+      010012B4H   LINE      ---      ---       #205
+      010012B6H   LINE      ---      ---       #207
+      010012B6H   LINE      ---      ---       #208
+      010012B9H   LINE      ---      ---       #209
+      010012B9H   LINE      ---      ---       #210
+      010012BEH   LINE      ---      ---       #211
+      010012BEH   LINE      ---      ---       #212
+      010012C2H   LINE      ---      ---       #214
+      010012C2H   LINE      ---      ---       #215
+      010012C7H   LINE      ---      ---       #216
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 33
+
+
+      010012C7H   LINE      ---      ---       #217
+      010012CAH   LINE      ---      ---       #218
+      010012CDH   LINE      ---      ---       #219
+      010012CDH   LINE      ---      ---       #220
+      010012D0H   LINE      ---      ---       #221
+      010012D0H   LINE      ---      ---       #222
+      010012D0H   LINE      ---      ---       #223
+      010012D0H   LINE      ---      ---       #224
+      010012D0H   LINE      ---      ---       #226
+      010012D2H   LINE      ---      ---       #227
+      00000001H   SYMBOL    DATA     BYTE      P10Sta
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000BA7H   BLOCK     CODE     ---       LVL=0
+      01000BA7H   LINE      ---      ---       #228
+      01000BA7H   LINE      ---      ---       #229
+      01000BA7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000BA7H   LINE      ---      ---       #230
+      01000BAAH   LINE      ---      ---       #231
+      01000BADH   LINE      ---      ---       #232
+      01000BAFH   LINE      ---      ---       #233
+      01000BB2H   LINE      ---      ---       #234
+      01000BB4H   LINE      ---      ---       #235
+      01000BB6H   LINE      ---      ---       #236
+      01000BBAH   LINE      ---      ---       #238
+      01000BBDH   LINE      ---      ---       #239
+      01000BC4H   LINE      ---      ---       #240
+      01000BC6H   LINE      ---      ---       #241
+      01000BC8H   LINE      ---      ---       #242
+      01000BCAH   LINE      ---      ---       #244
+      01000BCCH   LINE      ---      ---       #245
+      01000BD6H   LINE      ---      ---       #246
+      01000BD8H   LINE      ---      ---       #248
+      01000BE0H   LINE      ---      ---       #250
+      01000BE0H   LINE      ---      ---       #251
+      01000BE0H   LINE      ---      ---       #253
+      01000BE4H   LINE      ---      ---       #254
+      01000BE4H   LINE      ---      ---       #255
+      01000BF0H   LINE      ---      ---       #256
+      01000BF0H   LINE      ---      ---       #257
+      01000BF0H   LINE      ---      ---       #258
+      01000BF6H   LINE      ---      ---       #259
+      01000BF8H   LINE      ---      ---       #260
+      01000BF8H   LINE      ---      ---       #262
+      01000BFBH   LINE      ---      ---       #263
+      01000BFDH   LINE      ---      ---       #264
+      01000BFDH   LINE      ---      ---       #266
+      01000BFDH   LINE      ---      ---       #267
+      01000BFDH   LINE      ---      ---       #268
+      01000C06H   LINE      ---      ---       #269
+      01000C06H   LINE      ---      ---       #270
+      01000C06H   LINE      ---      ---       #271
+      01000C06H   LINE      ---      ---       #272
+      01000C06H   LINE      ---      ---       #273
+      01000C09H   LINE      ---      ---       #274
+      01000C09H   LINE      ---      ---       #275
+      01000C0FH   LINE      ---      ---       #276
+      01000C0FH   LINE      ---      ---       #277
+      01000C12H   LINE      ---      ---       #278
+      01000C15H   LINE      ---      ---       #279
+      01000C17H   LINE      ---      ---       #280
+      01000C21H   LINE      ---      ---       #281
+      01000C2DH   LINE      ---      ---       #282
+      01000C2DH   LINE      ---      ---       #284
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 34
+
+
+      01000C56H   LINE      ---      ---       #285
+      01000C56H   LINE      ---      ---       #286
+      01000C56H   LINE      ---      ---       #287
+      01000C5AH   LINE      ---      ---       #288
+      01000C5AH   LINE      ---      ---       #289
+      01000C5CH   LINE      ---      ---       #291
+      01000C5EH   LINE      ---      ---       #293
+      01000C60H   LINE      ---      ---       #295
+      01000C60H   LINE      ---      ---       #296
+      01000C66H   LINE      ---      ---       #297
+      01000C66H   LINE      ---      ---       #298
+      01000C69H   LINE      ---      ---       #300
+      01000C6BH   LINE      ---      ---       #301
+      01000C73H   LINE      ---      ---       #302
+      01000C73H   LINE      ---      ---       #303
+      01000C73H   LINE      ---      ---       #304
+      01000C75H   LINE      ---      ---       #306
+      01000C75H   LINE      ---      ---       #307
+      01000C77H   LINE      ---      ---       #308
+      01000C77H   LINE      ---      ---       #311
+      01000C77H   LINE      ---      ---       #313
+      01000C79H   LINE      ---      ---       #314
+      01000C79H   LINE      ---      ---       #315
+      01000C7DH   LINE      ---      ---       #316
+      01000C7DH   LINE      ---      ---       #317
+      01000C7FH   LINE      ---      ---       #319
+      01000C84H   LINE      ---      ---       #320
+      01000C84H   LINE      ---      ---       #321
+      01000C8AH   LINE      ---      ---       #322
+      01000C8AH   LINE      ---      ---       #323
+      01000C8EH   LINE      ---      ---       #328
+      01000C8EH   LINE      ---      ---       #329
+      01000C90H   LINE      ---      ---       #330
+      01000C90H   LINE      ---      ---       #331
+      01000C94H   LINE      ---      ---       #332
+      01000C94H   LINE      ---      ---       #333
+      01000C96H   LINE      ---      ---       #335
+      01000C9BH   LINE      ---      ---       #336
+      01000C9BH   LINE      ---      ---       #337
+      01000CA1H   LINE      ---      ---       #338
+      01000CA1H   LINE      ---      ---       #339
+      01000CA5H   LINE      ---      ---       #344
+      01000CA5H   LINE      ---      ---       #345
+      01000CA7H   LINE      ---      ---       #346
+      01000CA7H   LINE      ---      ---       #347
+      01000CADH   LINE      ---      ---       #348
+      01000CADH   LINE      ---      ---       #349
+      01000CB0H   LINE      ---      ---       #350
+      01000CB5H   LINE      ---      ---       #351
+      01000CB7H   LINE      ---      ---       #352
+      01000CC0H   LINE      ---      ---       #353
+      01000CC0H   LINE      ---      ---       #354
+      01000CC2H   LINE      ---      ---       #355
+      01000CC2H   LINE      ---      ---       #356
+      01000CC8H   LINE      ---      ---       #357
+      01000CC8H   LINE      ---      ---       #358
+      01000CCBH   LINE      ---      ---       #359
+      01000CCDH   LINE      ---      ---       #360
+      01000CCFH   LINE      ---      ---       #362
+      01000CD1H   LINE      ---      ---       #366
+      01000CD4H   LINE      ---      ---       #367
+      01000CD4H   LINE      ---      ---       #368
+      01000CD6H   LINE      ---      ---       #369
+      01000CD6H   LINE      ---      ---       #370
+      01000CDCH   LINE      ---      ---       #371
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 35
+
+
+      01000CDCH   LINE      ---      ---       #372
+      01000CDFH   LINE      ---      ---       #373
+      01000CE1H   LINE      ---      ---       #374
+      01000CE1H   LINE      ---      ---       #375
+      01000CE3H   LINE      ---      ---       #376
+      01000CE3H   LINE      ---      ---       #377
+      01000CE9H   LINE      ---      ---       #378
+      01000CE9H   LINE      ---      ---       #380
+      01000CECH   LINE      ---      ---       #381
+      01000CF1H   LINE      ---      ---       #382
+      01000CF1H   LINE      ---      ---       #383
+      01000CF3H   LINE      ---      ---       #384
+      01000CF3H   LINE      ---      ---       #385
+      01000CF7H   LINE      ---      ---       #386
+      01000CF7H   LINE      ---      ---       #387
+      01000CFAH   LINE      ---      ---       #388
+      01000CFCH   LINE      ---      ---       #390
+      01000CFEH   LINE      ---      ---       #391
+      01000D01H   LINE      ---      ---       #392
+      01000D06H   LINE      ---      ---       #393
+      01000D06H   LINE      ---      ---       #394
+      01000D0BH   LINE      ---      ---       #395
+      01000D0BH   LINE      ---      ---       #396
+      01000D10H   LINE      ---      ---       #398
+      01000D1BH   LINE      ---      ---       #399
+      01000D21H   LINE      ---      ---       #400
+      01000D29H   LINE      ---      ---       #401
+      01000D36H   LINE      ---      ---       #403
+      01000D36H   LINE      ---      ---       #404
+      01000D3CH   LINE      ---      ---       #405
+      01000D3CH   LINE      ---      ---       #406
+      01000D44H   LINE      ---      ---       #407
+      01000D4BH   LINE      ---      ---       #410
+      01000D4BH   LINE      ---      ---       #412
+      01000D4DH   LINE      ---      ---       #413
+      01000D4DH   LINE      ---      ---       #414
+      01000D51H   LINE      ---      ---       #415
+      01000D51H   LINE      ---      ---       #416
+      01000D54H   LINE      ---      ---       #417
+      01000D56H   LINE      ---      ---       #418
+      01000D59H   LINE      ---      ---       #419
+      01000D5DH   LINE      ---      ---       #420
+      01000D5DH   LINE      ---      ---       #422
+      01000D62H   LINE      ---      ---       #423
+      01000D62H   LINE      ---      ---       #424
+      01000D67H   LINE      ---      ---       #425
+      01000D69H   LINE      ---      ---       #426
+      01000D6DH   LINE      ---      ---       #427
+      01000D77H   LINE      ---      ---       #428
+      01000D84H   LINE      ---      ---       #430
+      01000D84H   LINE      ---      ---       #431
+      01000D8AH   LINE      ---      ---       #432
+      01000D8AH   LINE      ---      ---       #433
+      01000D8DH   LINE      ---      ---       #434
+      01000D95H   LINE      ---      ---       #435
+      01000D9CH   LINE      ---      ---       #437
+      01000D9CH   LINE      ---      ---       #438
+      00000022H   SYMBOL    DATA     BYTE      txrx_done
+      00000023H   SYMBOL    DATA     BYTE      mode
+      00000024H   SYMBOL    DATA     BYTE      mode_set
+      00000025H   SYMBOL    DATA     BYTE      rf_ch
+      00000026H   SYMBOL    DATA     BYTE      get_rand_num
+      00000027H   SYMBOL    DATA     BYTE      autoMode
+      00000028H   SYMBOL    DATA     INT       sendPacketCount
+      ---         BLOCKEND  CODE     ---       LVL=1
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 36
+
+
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010012DBH   BLOCK     CODE     ---       LVL=0
+      01001306H   LINE      ---      ---       #471
+      01001306H   LINE      ---      ---       #474
+      0100130AH   LINE      ---      ---       #475
+      01001310H   LINE      ---      ---       #476
+      01001310H   LINE      ---      ---       #477
+      01001310H   LINE      ---      ---       #478
+      01001316H   LINE      ---      ---       #479
+      01001316H   LINE      ---      ---       #480
+      01001323H   LINE      ---      ---       #481
+      01001323H   LINE      ---      ---       #483
+      01001323H   LINE      ---      ---       #484
+      01001323H   LINE      ---      ---       #486
+      01001323H   LINE      ---      ---       #487
+      01001323H   LINE      ---      ---       #489
+      01001323H   LINE      ---      ---       #490
+      01001323H   LINE      ---      ---       #492
+      01001323H   LINE      ---      ---       #493
+      01001323H   LINE      ---      ---       #494
+      01001323H   LINE      ---      ---       #495
+      01001323H   LINE      ---      ---       #496
+      01001326H   LINE      ---      ---       #497
+      01001329H   LINE      ---      ---       #498
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016E9H   BLOCK     CODE     ---       LVL=0
+      010016F8H   LINE      ---      ---       #500
+      010016F8H   LINE      ---      ---       #504
+      010016FAH   LINE      ---      ---       #505
+      01001708H   LINE      ---      ---       #506
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      ---         MODULE    ---      ---       RF
+      01001AE0H   PUBLIC    CODE     ---       _RF_CarrierOffset
+      0100171BH   PUBLIC    CODE     ---       RF_Carrier
+      01000068H   PUBLIC    CODE     ---       RF_EnableIRQ
+      01000F97H   PUBLIC    CODE     ---       RF_ClearIRQFlags
+      010016C8H   PUBLIC    CODE     ---       RF_GetIRQFlags
+      01001ACDH   PUBLIC    CODE     ---       _RF_ITConfig
+      0100166EH   PUBLIC    CODE     ---       _RF_Filter_Cal
+      01001352H   PUBLIC    CODE     ---       _RF_ReadRxPayloadByXDATA
+      01001546H   PUBLIC    CODE     ---       _RF_WriteTxPayloadByXDATA
+      01001AB7H   PUBLIC    CODE     ---       _RF_SetFifoLenType
+      01001AA7H   PUBLIC    CODE     ---       _RF_SetAckPayload
+      01001A1AH   PUBLIC    CODE     ---       _RF_SetTRxAckTimeout
+      010019F5H   PUBLIC    CODE     ---       _RF_SetTxSetupTime
+      010019ABH   PUBLIC    CODE     ---       _RF_SetAutoRetrans
+      0100199BH   PUBLIC    CODE     ---       _RF_SetNoAck
+      01000FC8H   PUBLIC    CODE     ---       _RF_EnableDynamicPayload
+      0100198EH   PUBLIC    CODE     ---       _RF_SetRxPayloadLen
+      0000002DH   PUBLIC    DATA     BYTE      ?_RF_SetRxAddr?BYTE
+      0100188FH   PUBLIC    CODE     ---       _RF_SetRxAddr
+      01001923H   PUBLIC    CODE     ---       _RF_EnableRxPipe
+      01001945H   PUBLIC    CODE     ---       _RF_SetTxAddr
+      01001879H   PUBLIC    CODE     ---       _RF_SetAddrWidth
+      01001866H   PUBLIC    CODE     ---       _RF_SetWorkMode
+      01001824H   PUBLIC    CODE     ---       _RF_SetChipMode
+      01001814H   PUBLIC    CODE     ---       _RF_EnableWhiten
+      01001754H   PUBLIC    CODE     ---       _RF_SetTxPower
+      0100172FH   PUBLIC    CODE     ---       _RF_SetCrc
+      01001582H   PUBLIC    CODE     ---       _RF_SetDataRate
+      01000024H   PUBLIC    CODE     ---       _RF_SetChannel
+      01001715H   PUBLIC    CODE     ---       RF_CE_Disable
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 37
+
+
+      01000FF8H   PUBLIC    CODE     ---       RF_CE_Enable
+      01000F7AH   PUBLIC    CODE     ---       RF_EnterRxMode
+      01000F36H   PUBLIC    CODE     ---       RF_EnterTxMode
+      01000F42H   PUBLIC    CODE     ---       RF_Deinit
+      010011BAH   PUBLIC    CODE     ---       RF_Init
+      01000F90H   PUBLIC    CODE     ---       RF_FlushRxFifo
+      01000F1EH   PUBLIC    CODE     ---       RF_FlushTxFifo
+      0100163AH   PUBLIC    CODE     ---       _RF_Vco_Cal
+      010013ADH   PUBLIC    CODE     ---       _RF_Twopoint_Cal
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 38
+
+
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      01001399H   SYMBOL    CODE     ---       _RF_Delay
+      0100166EH   SYMBOL    CODE     ---       _RF_Filter_Cal
+      0100146BH   SYMBOL    CODE     ---       _rf_vcocal_group
+
+      01001399H   BLOCK     CODE     ---       LVL=0
+      0100139DH   LINE      ---      ---       #23
+      0100139DH   LINE      ---      ---       #24
+      0100139DH   LINE      ---      ---       #25
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 39
+
+
+      010013A1H   LINE      ---      ---       #28
+      010013ACH   LINE      ---      ---       #30
+      01001399H   SYMBOL    CODE     NEAR LAB  ?L?COM0019
+      00000006H   SYMBOL    DATA     WORD      DelayCnt
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+
+      010013ADH   BLOCK     CODE     ---       LVL=0
+      010013ADH   LINE      ---      ---       #145
+      010013AFH   LINE      ---      ---       #146
+      0000002FH   SYMBOL    DATA     BYTE      tp_code_cover
+      010013AFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010013AFH   LINE      ---      ---       #151
+      010013B7H   LINE      ---      ---       #155
+      010013B9H   LINE      ---      ---       #156
+      010013C1H   LINE      ---      ---       #158
+      010013C8H   LINE      ---      ---       #160
+      010013CBH   LINE      ---      ---       #161
+      00000030H   SYMBOL    DATA     BYTE      i
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+      00000007H   SYMBOL    DATA     BYTE      lpf_r
+      010013CBH   BLOCK     CODE     NEAR LAB  LVL=2
+      010013CBH   LINE      ---      ---       #164
+      010013DBH   LINE      ---      ---       #166
+      010013E1H   LINE      ---      ---       #167
+      010013E4H   LINE      ---      ---       #168
+      010013E7H   LINE      ---      ---       #169
+      010013EAH   LINE      ---      ---       #171
+      010013F1H   LINE      ---      ---       #173
+      010013F8H   LINE      ---      ---       #175
+      01001400H   LINE      ---      ---       #179
+      01001404H   LINE      ---      ---       #181
+      0100140AH   LINE      ---      ---       #183
+      01001411H   LINE      ---      ---       #186
+      01001417H   LINE      ---      ---       #188
+      0100141EH   LINE      ---      ---       #190
+      01001437H   LINE      ---      ---       #191
+      00000031H   SYMBOL    DATA     BYTE      lpf
+      ---         BLOCKEND  CODE     ---       LVL=2
+      01001440H   LINE      ---      ---       #192
+      01001447H   LINE      ---      ---       #194
+      0100144CH   LINE      ---      ---       #195
+      01001450H   LINE      ---      ---       #196
+      01001454H   LINE      ---      ---       #197
+      01001456H   LINE      ---      ---       #200
+      0100145BH   LINE      ---      ---       #202
+      0100145BH   LINE      CODE     ---       #202
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100146BH   BLOCK     CODE     ---       LVL=0
+      0100146BH   LINE      ---      ---       #212
+      0100146FH   LINE      ---      ---       #213
+      0000002FH   SYMBOL    DATA     BYTE      cover_tx
+      00000030H   SYMBOL    DATA     BYTE      cover_rx
+      0100146FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100146FH   LINE      ---      ---       #217
+      01001472H   LINE      ---      ---       #218
+      00000031H   SYMBOL    DATA     BYTE      i
+      00000032H   SYMBOL    DATA     WORD      res
+      01001472H   BLOCK     CODE     NEAR LAB  LVL=2
+      01001472H   LINE      ---      ---       #221
+      01001486H   LINE      ---      ---       #233
+      01001488H   LINE      ---      ---       #235
+      0100148CH   LINE      ---      ---       #237
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 40
+
+
+      0100148EH   LINE      ---      ---       #238
+      00000034H   SYMBOL    DATA     WORD      temp
+      00000034H   SYMBOL    DATA     WORD      temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      0100148EH   BLOCK     CODE     NEAR LAB  LVL=2
+      01001492H   LINE      ---      ---       #240
+      01001495H   LINE      ---      ---       #241
+      00000034H   SYMBOL    DATA     WORD      temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      01001495H   LINE      ---      ---       #244
+      010014BBH   LINE      ---      ---       #256
+      010014BDH   LINE      ---      ---       #258
+      010014C2H   LINE      ---      ---       #261
+      010014C2H   LINE      CODE     ---       #261
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100163AH   BLOCK     CODE     ---       LVL=0
+      0100163AH   LINE      ---      ---       #272
+      0100163AH   LINE      ---      ---       #273
+      0100163AH   LINE      ---      ---       #274
+      0100163CH   LINE      ---      ---       #276
+      01001643H   LINE      ---      ---       #277
+      0100164AH   LINE      ---      ---       #279
+      01001651H   LINE      ---      ---       #282
+      01001658H   LINE      ---      ---       #284
+      0100165FH   LINE      ---      ---       #287
+      01001666H   LINE      ---      ---       #288
+      0100166DH   LINE      ---      ---       #289
+      00000007H   SYMBOL    DATA     BYTE      cover_tx
+      00000005H   SYMBOL    DATA     BYTE      cover_rx
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      vco_code
+
+      01000F1EH   BLOCK     CODE     ---       LVL=0
+      01000F1EH   LINE      ---      ---       #307
+      01000F1EH   LINE      ---      ---       #308
+      01000F1EH   LINE      ---      ---       #309
+      01000F24H   LINE      ---      ---       #310
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F90H   BLOCK     CODE     ---       LVL=0
+      01000F90H   LINE      ---      ---       #317
+      01000F90H   LINE      ---      ---       #318
+      01000F90H   LINE      ---      ---       #319
+      01000F96H   LINE      ---      ---       #320
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010011BAH   BLOCK     CODE     ---       LVL=0
+      010011BAH   LINE      ---      ---       #350
+      010011BAH   LINE      ---      ---       #351
+      010011BAH   LINE      ---      ---       #353
+      010011BDH   LINE      ---      ---       #357
+      010011BFH   LINE      ---      ---       #359
+      010011C4H   LINE      ---      ---       #361
+      010011CAH   LINE      ---      ---       #363
+      010011D0H   LINE      ---      ---       #365
+      010011D6H   LINE      ---      ---       #366
+      010011DCH   LINE      ---      ---       #367
+      010011E1H   LINE      ---      ---       #368
+      010011E7H   LINE      ---      ---       #370
+      010011EDH   LINE      ---      ---       #371
+      010011F1H   LINE      ---      ---       #373
+      010011F7H   LINE      ---      ---       #374
+      010011FDH   LINE      ---      ---       #376
+      01001203H   LINE      ---      ---       #378
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 41
+
+
+      01001209H   LINE      ---      ---       #379
+      0100120DH   LINE      ---      ---       #380
+      01001211H   LINE      ---      ---       #382
+      01001217H   LINE      ---      ---       #383
+      0100121BH   LINE      ---      ---       #385
+      0100121FH   LINE      ---      ---       #387
+      01001225H   LINE      ---      ---       #389
+      0100122BH   LINE      ---      ---       #391
+      01001231H   LINE      ---      ---       #393
+      01001236H   LINE      ---      ---       #394
+      0100123AH   LINE      ---      ---       #396
+      01001240H   LINE      ---      ---       #397
+      01001244H   LINE      ---      ---       #398
+      01001248H   LINE      ---      ---       #400
+      0100124EH   LINE      ---      ---       #401
+      01001252H   LINE      ---      ---       #402
+      01001256H   LINE      ---      ---       #404
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F42H   BLOCK     CODE     ---       LVL=0
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F31H   BLOCK     CODE     ---       LVL=0
+      01000F36H   LINE      ---      ---       #425
+      01000F36H   LINE      ---      ---       #426
+      01000F36H   LINE      ---      ---       #427
+      01000F31H   SYMBOL    CODE     NEAR LAB  ?L?COM002B
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F7AH   BLOCK     CODE     ---       LVL=0
+      01000F7AH   LINE      ---      ---       #441
+      01000F7AH   LINE      ---      ---       #442
+      01000F7AH   LINE      ---      ---       #443
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FF8H   BLOCK     CODE     ---       LVL=0
+      01000FF8H   LINE      ---      ---       #476
+      01000FF8H   LINE      ---      ---       #477
+      01000FF8H   LINE      ---      ---       #478
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001715H   BLOCK     CODE     ---       LVL=0
+      01001715H   LINE      ---      ---       #486
+      01001715H   LINE      ---      ---       #487
+      01001715H   LINE      ---      ---       #488
+      0100171AH   LINE      ---      ---       #489
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000024H   BLOCK     CODE     ---       LVL=0
+      01000024H   LINE      ---      ---       #499
+      01000024H   LINE      ---      ---       #500
+      01000024H   LINE      ---      ---       #501
+      01000029H   LINE      ---      ---       #502
+      00000007H   SYMBOL    DATA     BYTE      ch
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      DataRate
+
+      01001582H   BLOCK     CODE     ---       LVL=0
+      01001582H   LINE      ---      ---       #514
+      01001584H   LINE      ---      ---       #515
+      0000002DH   SYMBOL    DATA     BYTE      DataRate
+      01001584H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001584H   LINE      ---      ---       #516
+      0100158AH   LINE      ---      ---       #518
+      01001591H   LINE      ---      ---       #519
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 42
+
+
+      01001598H   LINE      ---      ---       #520
+      0100159FH   LINE      ---      ---       #521
+      010015A6H   LINE      ---      ---       #523
+      010015AAH   LINE      ---      ---       #524
+      010015AAH   LINE      ---      ---       #525
+      010015AFH   LINE      ---      ---       #526
+      010015B4H   LINE      ---      ---       #528
+      010015BAH   LINE      ---      ---       #531
+      010015C1H   LINE      ---      ---       #533
+      010015C8H   LINE      ---      ---       #534
+      010015CAH   LINE      ---      ---       #535
+      010015D0H   LINE      ---      ---       #536
+      010015D0H   LINE      ---      ---       #537
+      010015D7H   LINE      ---      ---       #538
+      010015DEH   LINE      ---      ---       #540
+      010015E4H   LINE      ---      ---       #543
+      010015EBH   LINE      ---      ---       #546
+      010015F2H   LINE      ---      ---       #547
+      010015F4H   LINE      ---      ---       #548
+      010015FAH   LINE      ---      ---       #549
+      010015FAH   LINE      ---      ---       #550
+      01001600H   LINE      ---      ---       #552
+      01001607H   LINE      ---      ---       #553
+      0100160EH   LINE      ---      ---       #555
+      01001614H   LINE      ---      ---       #558
+      0100161BH   LINE      ---      ---       #561
+      01001622H   LINE      ---      ---       #562
+      01001622H   LINE      ---      ---       #564
+      01001625H   LINE      ---      ---       #565
+      0100162BH   LINE      ---      ---       #566
+      0100162FH   LINE      ---      ---       #567
+      01001633H   LINE      ---      ---       #569
+      01001639H   LINE      ---      ---       #570
+      0000002EH   SYMBOL    DATA     BYTE      Channel
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100172FH   BLOCK     CODE     ---       LVL=0
+      0100172FH   LINE      ---      ---       #577
+      0100172FH   LINE      ---      ---       #578
+      00000007H   SYMBOL    DATA     BYTE      type
+      0100172FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100172FH   LINE      ---      ---       #579
+      01001731H   LINE      ---      ---       #581
+      01001738H   LINE      ---      ---       #583
+      01001743H   LINE      ---      ---       #584
+      01001743H   LINE      ---      ---       #585
+      01001743H   LINE      ---      ---       #586
+      01001745H   LINE      ---      ---       #587
+      01001747H   LINE      ---      ---       #588
+      01001747H   LINE      ---      ---       #589
+      01001749H   LINE      ---      ---       #590
+      0100174BH   LINE      ---      ---       #591
+      0100174BH   LINE      ---      ---       #592
+      0100174DH   LINE      ---      ---       #593
+      0100174DH   LINE      ---      ---       #594
+      0100174DH   LINE      ---      ---       #595
+      0100174DH   LINE      ---      ---       #596
+      0100174DH   LINE      ---      ---       #597
+      01001753H   LINE      ---      ---       #598
+      00000006H   SYMBOL    DATA     BYTE      CrcMask
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      power
+
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 43
+
+
+      01001754H   BLOCK     CODE     ---       LVL=0
+      01001754H   LINE      ---      ---       #610
+      01001754H   LINE      ---      ---       #611
+      01001754H   LINE      ---      ---       #612
+      0100175BH   LINE      ---      ---       #613
+      01001760H   LINE      ---      ---       #615
+      0100179AH   LINE      ---      ---       #616
+      0100179AH   LINE      ---      ---       #617
+      0100179AH   LINE      ---      ---       #618
+      0100179FH   LINE      ---      ---       #622
+      0100179FH   LINE      ---      ---       #623
+      010017A1H   LINE      ---      ---       #624
+      010017A1H   LINE      ---      ---       #625
+      010017A6H   LINE      ---      ---       #629
+      010017A6H   LINE      ---      ---       #630
+      010017A8H   LINE      ---      ---       #631
+      010017A8H   LINE      ---      ---       #632
+      010017ADH   LINE      ---      ---       #636
+      010017ADH   LINE      ---      ---       #637
+      010017AFH   LINE      ---      ---       #638
+      010017AFH   LINE      ---      ---       #639
+      010017B4H   LINE      ---      ---       #643
+      010017B4H   LINE      ---      ---       #644
+      010017B6H   LINE      ---      ---       #645
+      010017B6H   LINE      ---      ---       #646
+      010017BBH   LINE      ---      ---       #650
+      010017BBH   LINE      ---      ---       #651
+      010017BDH   LINE      ---      ---       #652
+      010017BDH   LINE      ---      ---       #653
+      010017C2H   LINE      ---      ---       #657
+      010017C2H   LINE      ---      ---       #658
+      010017C4H   LINE      ---      ---       #659
+      010017C4H   LINE      ---      ---       #660
+      010017C9H   LINE      ---      ---       #664
+      010017C9H   LINE      ---      ---       #665
+      010017CBH   LINE      ---      ---       #666
+      010017CBH   LINE      ---      ---       #667
+      010017D0H   LINE      ---      ---       #671
+      010017D0H   LINE      ---      ---       #672
+      010017D2H   LINE      ---      ---       #673
+      010017D2H   LINE      ---      ---       #674
+      010017D7H   LINE      ---      ---       #678
+      010017D7H   LINE      ---      ---       #679
+      010017D9H   LINE      ---      ---       #680
+      010017D9H   LINE      ---      ---       #681
+      010017DEH   LINE      ---      ---       #685
+      010017DEH   LINE      ---      ---       #686
+      010017E0H   LINE      ---      ---       #687
+      010017E0H   LINE      ---      ---       #688
+      010017E6H   LINE      ---      ---       #692
+      010017EBH   LINE      ---      ---       #693
+      010017ECH   LINE      ---      ---       #694
+      010017ECH   LINE      ---      ---       #695
+      010017F1H   LINE      ---      ---       #699
+      010017F1H   LINE      ---      ---       #700
+      010017F3H   LINE      ---      ---       #701
+      010017F3H   LINE      ---      ---       #702
+      010017F9H   LINE      ---      ---       #706
+      010017FEH   LINE      ---      ---       #707
+      010017FFH   LINE      ---      ---       #708
+      010017FFH   LINE      ---      ---       #709
+      01001804H   LINE      ---      ---       #713
+      01001809H   LINE      ---      ---       #714
+      01001809H   LINE      ---      ---       #715
+      01001809H   LINE      ---      ---       #716
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 44
+
+
+      01001809H   LINE      ---      ---       #717
+      01001809H   LINE      ---      ---       #718
+      00000007H   SYMBOL    DATA     BYTE      power
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001814H   BLOCK     CODE     ---       LVL=0
+      01001814H   LINE      ---      ---       #725
+      01001814H   LINE      ---      ---       #726
+      01001814H   LINE      ---      ---       #727
+      0100181AH   LINE      ---      ---       #728
+      0100181FH   LINE      ---      ---       #730
+      01001823H   LINE      ---      ---       #731
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001824H   BLOCK     CODE     ---       LVL=0
+      01001824H   LINE      ---      ---       #737
+      01001824H   LINE      ---      ---       #738
+      00000007H   SYMBOL    DATA     BYTE      ChipMode
+      01001824H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001824H   LINE      ---      ---       #739
+      01001826H   LINE      ---      ---       #741
+      0100182CH   LINE      ---      ---       #743
+      01001835H   LINE      ---      ---       #744
+      01001835H   LINE      ---      ---       #745
+      01001835H   LINE      ---      ---       #746
+      01001837H   LINE      ---      ---       #747
+      0100183CH   LINE      ---      ---       #748
+      01001840H   LINE      ---      ---       #749
+      01001840H   LINE      ---      ---       #752
+      01001842H   LINE      ---      ---       #753
+      01001842H   LINE      ---      ---       #754
+      01001844H   LINE      ---      ---       #755
+      01001848H   LINE      ---      ---       #758
+      0100184AH   LINE      ---      ---       #759
+      0100184AH   LINE      ---      ---       #760
+      0100184CH   LINE      ---      ---       #761
+      01001850H   LINE      ---      ---       #762
+      01001857H   LINE      ---      ---       #763
+      0100185BH   LINE      ---      ---       #764
+      0100185BH   LINE      ---      ---       #765
+      0100185BH   LINE      ---      ---       #766
+      0100185BH   LINE      ---      ---       #767
+      0100185BH   LINE      ---      ---       #769
+      01001862H   LINE      ---      ---       #770
+      01001865H   LINE      ---      ---       #771
+      00000006H   SYMBOL    DATA     BYTE      ModeMask
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001866H   BLOCK     CODE     ---       LVL=0
+      01001866H   LINE      ---      ---       #778
+      01001866H   LINE      ---      ---       #779
+      01001866H   LINE      ---      ---       #780
+      01001869H   LINE      ---      ---       #781
+      01001869H   LINE      ---      ---       #782
+      0100186DH   LINE      ---      ---       #783
+      0100186EH   LINE      ---      ---       #784
+      01001871H   LINE      ---      ---       #785
+      01001871H   LINE      ---      ---       #786
+      01001878H   LINE      ---      ---       #787
+      01001878H   LINE      ---      ---       #788
+      00000007H   SYMBOL    DATA     BYTE      WorkMode
+      ---         BLOCKEND  ---      ---       LVL=0
+
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 45
+
+
+      01001879H   BLOCK     CODE     ---       LVL=0
+      01001879H   LINE      ---      ---       #795
+      01001879H   LINE      ---      ---       #796
+      01001879H   LINE      ---      ---       #797
+      01001880H   LINE      ---      ---       #798
+      0100188EH   LINE      ---      ---       #799
+      00000007H   SYMBOL    DATA     BYTE      AddrWidth
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001945H   BLOCK     CODE     ---       LVL=0
+      01001945H   LINE      ---      ---       #807
+      0100194BH   LINE      ---      ---       #808
+      0000002DH   SYMBOL    DATA     ---       Addr
+      00000005H   SYMBOL    DATA     BYTE      AddrLen
+      0100194BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100194BH   LINE      ---      ---       #809
+      01001959H   LINE      ---      ---       #811
+      0100195EH   LINE      ---      ---       #813
+      01001965H   LINE      ---      ---       #814
+      01001965H   LINE      ---      ---       #815
+      0100198BH   LINE      ---      ---       #816
+      0100198DH   LINE      ---      ---       #817
+      02000099H   SYMBOL    XDATA    ---       AddrFifo
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001923H   BLOCK     CODE     ---       LVL=0
+      01001923H   LINE      ---      ---       #819
+      01001923H   LINE      ---      ---       #820
+      01001923H   LINE      ---      ---       #821
+      01001926H   LINE      ---      ---       #822
+      01001935H   LINE      ---      ---       #824
+      01001944H   LINE      ---      ---       #825
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000005H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100188FH   BLOCK     CODE     ---       LVL=0
+      0100188FH   LINE      ---      ---       #839
+      01001898H   LINE      ---      ---       #840
+      00000004H   SYMBOL    DATA     BYTE      PipeIndex
+      0000002EH   SYMBOL    DATA     ---       Addr
+      00000031H   SYMBOL    DATA     BYTE      AddrLen
+      01001898H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001898H   LINE      ---      ---       #841
+      0100189BH   LINE      ---      ---       #844
+      0100189FH   LINE      ---      ---       #845
+      010018A6H   LINE      ---      ---       #847
+      010018BCH   LINE      ---      ---       #848
+      010018BCH   LINE      ---      ---       #849
+      010018BCH   LINE      ---      ---       #850
+      010018C2H   LINE      ---      ---       #851
+      010018C9H   LINE      ---      ---       #852
+      010018C9H   LINE      ---      ---       #853
+      010018CBH   LINE      ---      ---       #855
+      010018CDH   LINE      ---      ---       #856
+      010018CDH   LINE      ---      ---       #857
+      010018CDH   LINE      ---      ---       #858
+      010018D3H   LINE      ---      ---       #859
+      010018DAH   LINE      ---      ---       #860
+      010018DAH   LINE      ---      ---       #861
+      010018DCH   LINE      ---      ---       #863
+      010018DEH   LINE      ---      ---       #864
+      010018DEH   LINE      ---      ---       #865
+      010018DEH   LINE      ---      ---       #866
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 46
+
+
+      010018E4H   LINE      ---      ---       #867
+      010018E5H   LINE      ---      ---       #868
+      010018E5H   LINE      ---      ---       #869
+      010018EBH   LINE      ---      ---       #870
+      010018ECH   LINE      ---      ---       #871
+      010018ECH   LINE      ---      ---       #872
+      010018F2H   LINE      ---      ---       #873
+      010018F3H   LINE      ---      ---       #874
+      010018F3H   LINE      ---      ---       #875
+      010018F9H   LINE      ---      ---       #876
+      010018F9H   LINE      ---      ---       #877
+      010018F9H   LINE      ---      ---       #878
+      010018F9H   LINE      ---      ---       #879
+      010018F9H   LINE      ---      ---       #880
+      00000032H   SYMBOL    DATA     BYTE      i
+      00000033H   SYMBOL    DATA     ---       AddrFifo
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100198EH   BLOCK     CODE     ---       LVL=0
+      0100198EH   LINE      ---      ---       #889
+      0100198EH   LINE      ---      ---       #890
+      00000007H   SYMBOL    DATA     BYTE      pipe
+      00000005H   SYMBOL    DATA     BYTE      len
+      0100198EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100198EH   LINE      ---      ---       #891
+      0100198EH   LINE      ---      ---       #893
+      0100199AH   LINE      ---      ---       #894
+      00000082H   SYMBOL    DATA     ---       pipeLen
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000FC8H   BLOCK     CODE     ---       LVL=0
+      01000FC8H   LINE      ---      ---       #943
+      01000FC8H   LINE      ---      ---       #944
+      01000FC8H   LINE      ---      ---       #945
+      01000FCBH   LINE      ---      ---       #946
+      01000FCBH   LINE      ---      ---       #947
+      01000FD5H   LINE      ---      ---       #948
+      01000FD7H   LINE      ---      ---       #950
+      01000FD7H   LINE      ---      ---       #951
+      01000FE2H   LINE      ---      ---       #952
+      01000FE2H   LINE      ---      ---       #954
+      01000FEAH   LINE      ---      ---       #955
+      01000FEAH   LINE      ---      ---       #956
+      01000FEFH   LINE      ---      ---       #957
+      01000FF0H   LINE      ---      ---       #959
+      01000FF0H   LINE      ---      ---       #960
+      01000FF7H   LINE      ---      ---       #961
+      01000FF7H   LINE      ---      ---       #962
+      00000007H   SYMBOL    DATA     BYTE      pipe
+      00000005H   SYMBOL    DATA     BYTE      Enable
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100199BH   BLOCK     CODE     ---       LVL=0
+      0100199BH   LINE      ---      ---       #969
+      0100199BH   LINE      ---      ---       #970
+      0100199BH   LINE      ---      ---       #971
+      010019A1H   LINE      ---      ---       #972
+      010019A1H   LINE      ---      ---       #974
+      010019A5H   LINE      ---      ---       #975
+      010019A6H   LINE      ---      ---       #977
+      010019A6H   LINE      ---      ---       #979
+      010019AAH   LINE      ---      ---       #980
+      010019AAH   LINE      ---      ---       #981
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 47
+
+
+      00000007H   SYMBOL    DATA     CHAR      en
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010019ABH   BLOCK     CODE     ---       LVL=0
+      010019ABH   LINE      ---      ---       #989
+      010019AEH   LINE      ---      ---       #990
+      010019AEH   LINE      ---      ---       #992
+      010019C0H   LINE      ---      ---       #993
+      00000006H   SYMBOL    DATA     WORD      DelayUs
+      00000003H   SYMBOL    DATA     BYTE      RetryTimes
+      010019C0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010019C0H   LINE      ---      ---       #994
+      010019C9H   LINE      ---      ---       #996
+      010019D0H   LINE      ---      ---       #997
+      010019D2H   LINE      ---      ---       #999
+      010019D9H   LINE      ---      ---       #1000
+      010019E4H   LINE      ---      ---       #1001
+      0000002DH   SYMBOL    DATA     BYTE      Code
+      ---         BLOCKEND  CODE     ---       LVL=1
+      010019E4H   LINE      ---      ---       #1004
+      010019EAH   LINE      ---      ---       #1005
+      010019EAH   LINE      ---      ---       #1006
+      010019F1H   LINE      ---      ---       #1007
+      010019F4H   LINE      ---      ---       #1008
+      010019F4H   LINE      ---      ---       #1009
+      010019F4H   LINE      CODE     ---       #1009
+
+      010019F5H   BLOCK     CODE     ---       LVL=0
+      010019F5H   LINE      ---      ---       #1017
+      010019F5H   LINE      ---      ---       #1018
+      010019F5H   LINE      ---      ---       #1019
+      010019F8H   LINE      ---      ---       #1021
+      010019FFH   LINE      ---      ---       #1022
+      01001A05H   LINE      ---      ---       #1024
+      00000006H   SYMBOL    DATA     WORD      SetupTimeUs
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001A1AH   BLOCK     CODE     ---       LVL=0
+      01001A1AH   LINE      ---      ---       #1038
+      01001A1AH   LINE      ---      ---       #1039
+      00000006H   SYMBOL    DATA     WORD      AckTimeoutUs
+      01001A1AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001A1AH   LINE      ---      ---       #1040
+      01001A22H   LINE      ---      ---       #1042
+      01001A29H   LINE      ---      ---       #1043
+      01001A2CH   LINE      ---      ---       #1044
+      01001A2CH   LINE      ---      ---       #1045
+      01001A35H   LINE      ---      ---       #1046
+      01001A39H   LINE      ---      ---       #1048
+      01001A4AH   LINE      ---      ---       #1049
+      01001A4BH   LINE      ---      ---       #1050
+      01001A4EH   LINE      ---      ---       #1051
+      01001A4EH   LINE      ---      ---       #1052
+      01001A57H   LINE      ---      ---       #1053
+      01001A5BH   LINE      ---      ---       #1055
+      01001A76H   LINE      ---      ---       #1056
+      01001A78H   LINE      ---      ---       #1058
+      01001A78H   LINE      ---      ---       #1059
+      01001A81H   LINE      ---      ---       #1060
+      01001A85H   LINE      ---      ---       #1062
+      01001AA6H   LINE      ---      ---       #1063
+      01001AA6H   LINE      ---      ---       #1064
+      00000005H   SYMBOL    DATA     BYTE      PhyRate
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 48
+
+
+
+      01001AA7H   BLOCK     CODE     ---       LVL=0
+      01001AA7H   LINE      ---      ---       #1072
+      01001AA7H   LINE      ---      ---       #1073
+      01001AA7H   LINE      ---      ---       #1074
+      01001AADH   LINE      ---      ---       #1075
+      01001AADH   LINE      ---      ---       #1077
+      01001AB1H   LINE      ---      ---       #1079
+      01001AB2H   LINE      ---      ---       #1081
+      01001AB2H   LINE      ---      ---       #1083
+      01001AB6H   LINE      ---      ---       #1085
+      01001AB6H   LINE      ---      ---       #1086
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AB7H   BLOCK     CODE     ---       LVL=0
+      01001AB7H   LINE      ---      ---       #1088
+      01001AB7H   LINE      ---      ---       #1089
+      01001AB7H   LINE      ---      ---       #1090
+      01001ABAH   LINE      ---      ---       #1091
+      01001ABAH   LINE      ---      ---       #1092
+      01001AC1H   LINE      ---      ---       #1093
+      01001AC2H   LINE      ---      ---       #1094
+      01001AC5H   LINE      ---      ---       #1095
+      01001AC5H   LINE      ---      ---       #1096
+      01001ACCH   LINE      ---      ---       #1097
+      01001ACCH   LINE      ---      ---       #1098
+      00000007H   SYMBOL    DATA     BYTE      FifoLenType
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000001H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+      00000002H   SYMBOL    DATA     BYTE      type
+      00000005H   SYMBOL    DATA     ---       buf
+      00000007H   SYMBOL    DATA     BYTE      len
+      00000003H   SYMBOL    DATA     BYTE      i
+      00000001H   SYMBOL    DATA     ---       p
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+
+      01001546H   BLOCK     CODE     ---       LVL=0
+      01001546H   LINE      ---      ---       #1157
+      01001549H   LINE      ---      ---       #1158
+      00000001H   SYMBOL    DATA     BYTE      type
+      00000004H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      01001549H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001549H   LINE      ---      ---       #1159
+      0100154BH   LINE      ---      ---       #1160
+      0100154FH   LINE      ---      ---       #1161
+      0100154FH   LINE      ---      ---       #1163
+      01001556H   LINE      ---      ---       #1164
+      01001558H   LINE      ---      ---       #1166
+      0100155EH   LINE      ---      ---       #1167
+      0100155EH   LINE      ---      ---       #1168
+      01001563H   LINE      ---      ---       #1169
+      01001568H   LINE      ---      ---       #1170
+      01001568H   LINE      ---      ---       #1171
+      01001576H   LINE      ---      ---       #1172
+      01001578H   LINE      ---      ---       #1173
+      0100157AH   LINE      ---      ---       #1174
+      0100157AH   LINE      ---      ---       #1175
+      00000002H   SYMBOL    DATA     BYTE      i
+      0000002AH   SYMBOL    DATA     ---       p
+      00000003H   SYMBOL    DATA     BYTE      tempLen
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 49
+
+
+      00000001H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      len
+      00000001H   SYMBOL    DATA     ---       p
+      00000007H   SYMBOL    DATA     ---       buf
+      00000001H   SYMBOL    DATA     BYTE      maxsize
+      00000005H   SYMBOL    DATA     BYTE      len
+      00000003H   SYMBOL    DATA     BYTE      len_tmp
+      00000000H   SYMBOL    DATA     ---       p
+
+      01001352H   BLOCK     CODE     ---       LVL=0
+      01001352H   LINE      ---      ---       #1248
+      01001352H   LINE      ---      ---       #1249
+      00000006H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      maxsize
+      01001352H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001352H   LINE      ---      ---       #1252
+      01001358H   LINE      ---      ---       #1254
+      01001360H   LINE      ---      ---       #1255
+      01001362H   LINE      ---      ---       #1257
+      0100136AH   LINE      ---      ---       #1258
+      0100136CH   LINE      ---      ---       #1260
+      01001372H   LINE      ---      ---       #1261
+      01001372H   LINE      ---      ---       #1262
+      01001378H   LINE      ---      ---       #1263
+      0100137FH   LINE      ---      ---       #1264
+      0100137FH   LINE      ---      ---       #1265
+      01001388H   LINE      ---      ---       #1266
+      0100138DH   LINE      ---      ---       #1267
+      0100138FH   LINE      ---      ---       #1268
+      01001391H   LINE      ---      ---       #1269
+      01001393H   LINE      ---      ---       #1271
+      01001393H   LINE      ---      ---       #1272
+      01001395H   LINE      ---      ---       #1273
+      01001395H   LINE      ---      ---       #1275
+      01001398H   LINE      ---      ---       #1276
+      00000001H   SYMBOL    DATA     BYTE      len
+      0000003EH   SYMBOL    DATA     BYTE      len_tmp
+      00000002H   SYMBOL    DATA     ---       p
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000001H   SYMBOL    DATA     ---       buf
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000005H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000005H   SYMBOL    DATA     ---       p
+      00000004H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000004H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000004H   SYMBOL    DATA     ---       p
+      00000001H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      00000007H   SYMBOL    DATA     BYTE      start
+      00000006H   SYMBOL    DATA     BYTE      len
+      00000007H   SYMBOL    DATA     BYTE      len
+      00000005H   SYMBOL    DATA     BYTE      type
+
+      0100166EH   BLOCK     CODE     ---       LVL=0
+      0100166EH   LINE      ---      ---       #1486
+      0100166EH   LINE      ---      ---       #1487
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 50
+
+
+      00000007H   SYMBOL    DATA     BYTE      rate
+      0100166EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100166EH   LINE      ---      ---       #1488
+      01001673H   LINE      ---      ---       #1490
+      01001676H   LINE      ---      ---       #1491
+      0100167DH   LINE      ---      ---       #1492
+      01001684H   LINE      ---      ---       #1493
+      0100168BH   LINE      ---      ---       #1495
+      01001691H   LINE      ---      ---       #1496
+      01001691H   LINE      ---      ---       #1497
+      01001694H   LINE      ---      ---       #1498
+      01001696H   LINE      ---      ---       #1500
+      01001696H   LINE      ---      ---       #1501
+      01001699H   LINE      ---      ---       #1502
+      01001699H   LINE      ---      ---       #1504
+      010016A0H   LINE      ---      ---       #1506
+      010016A7H   LINE      ---      ---       #1507
+      010016AEH   LINE      ---      ---       #1509
+      010016B5H   LINE      ---      ---       #1511
+      010016BCH   LINE      ---      ---       #1512
+      010016C3H   LINE      ---      ---       #1514
+      010016C7H   LINE      ---      ---       #1518
+      00000006H   SYMBOL    DATA     BYTE      Config
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001ACDH   BLOCK     CODE     ---       LVL=0
+      01001ACDH   LINE      ---      ---       #1528
+      01001ACDH   LINE      ---      ---       #1529
+      01001ACDH   LINE      ---      ---       #1530
+      01001AD3H   LINE      ---      ---       #1531
+      01001AD3H   LINE      ---      ---       #1532
+      01001AD6H   LINE      ---      ---       #1533
+      01001AD7H   LINE      ---      ---       #1535
+      01001AD7H   LINE      ---      ---       #1536
+      01001ADFH   LINE      ---      ---       #1537
+      01001ADFH   LINE      ---      ---       #1538
+      00000007H   SYMBOL    DATA     BYTE      RF_IT
+      00000005H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016C8H   BLOCK     CODE     ---       LVL=0
+      010016C8H   LINE      ---      ---       #1545
+      010016C8H   LINE      ---      ---       #1546
+      010016C8H   LINE      ---      ---       #1547
+      010016CFH   LINE      ---      ---       #1548
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F97H   BLOCK     CODE     ---       LVL=0
+      01000F97H   LINE      ---      ---       #1555
+      01000F97H   LINE      ---      ---       #1556
+      01000F97H   LINE      ---      ---       #1557
+      01000F9EH   LINE      ---      ---       #1558
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000068H   BLOCK     CODE     ---       LVL=0
+      01000068H   LINE      ---      ---       #1565
+      01000068H   LINE      ---      ---       #1566
+      01000068H   LINE      ---      ---       #1567
+      0100006AH   LINE      ---      ---       #1568
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100171BH   BLOCK     CODE     ---       LVL=0
+      0100171BH   LINE      ---      ---       #1586
+      0100171BH   LINE      ---      ---       #1587
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 51
+
+
+      0100171BH   LINE      ---      ---       #1588
+      01001722H   LINE      ---      ---       #1589
+      01001726H   LINE      ---      ---       #1590
+      01001728H   LINE      ---      ---       #1591
+      0100172EH   LINE      ---      ---       #1592
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AE0H   BLOCK     CODE     ---       LVL=0
+      01001AE0H   LINE      ---      ---       #1594
+      01001AE0H   LINE      ---      ---       #1595
+      01001AE0H   LINE      ---      ---       #1596
+      01001AE3H   LINE      ---      ---       #1597
+      01001AE5H   LINE      ---      ---       #1598
+      00000007H   SYMBOL    DATA     BYTE      offset
+      ---         BLOCKEND  ---      ---       LVL=0
+      010014C6H   LINE      ---      ---       #263
+      010014D5H   LINE      ---      ---       #264
+
+      ---         MODULE    ---      ---       ?C_INIT
+      010007EDH   PUBLIC    CODE     ---       ?C_START
+
+      ---         MODULE    ---      ---       ?C?CLDPTR
+      010003CAH   PUBLIC    CODE     ---       ?C?CLDPTR
+
+      ---         MODULE    ---      ---       ?C?CLDOPTR
+      010003E3H   PUBLIC    CODE     ---       ?C?CLDOPTR
+
+      ---         MODULE    ---      ---       ?C?CSTPTR
+      01000410H   PUBLIC    CODE     ---       ?C?CSTPTR
+
+      ---         MODULE    ---      ---       ?C?IMUL
+      01000422H   PUBLIC    CODE     ---       ?C?IMUL
+
+      ---         MODULE    ---      ---       ?C?UIDIV
+      01000434H   PUBLIC    CODE     ---       ?C?UIDIV
+
+      ---         MODULE    ---      ---       ?C?SIDIV
+      01000489H   PUBLIC    CODE     ---       ?C?SIDIV
+
+      ---         MODULE    ---      ---       ?C?ILDIX
+      010004BFH   PUBLIC    CODE     ---       ?C?ILDIX
+
+      ---         MODULE    ---      ---       ?C?ILDPTR
+      010004D5H   PUBLIC    CODE     ---       ?C?ILDPTR
+
+      ---         MODULE    ---      ---       ?C?ILDOPTR
+      01000500H   PUBLIC    CODE     ---       ?C?ILDOPTR
+
+      ---         MODULE    ---      ---       ?C?LMUL
+      01000538H   PUBLIC    CODE     ---       ?C?LMUL
+
+      ---         MODULE    ---      ---       ?C?ULDIV
+      010005C3H   PUBLIC    CODE     ---       ?C?ULDIV
+
+      ---         MODULE    ---      ---       ?C?SLCMP
+      01000655H   PUBLIC    CODE     ---       ?C?SLCMP
+
+      ---         MODULE    ---      ---       ?C?ULCMP
+      0100066BH   PUBLIC    CODE     ---       ?C?ULCMP
+
+      ---         MODULE    ---      ---       ?C?ULSHR
+      0100067CH   PUBLIC    CODE     ---       ?C?ULSHR
+
+      ---         MODULE    ---      ---       ?C?LLDCODE0
+      0100068FH   PUBLIC    CODE     ---       ?C?LLDCODE0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 52
+
+
+
+      ---         MODULE    ---      ---       ?C?LIMUL
+      0100069FH   PUBLIC    CODE     ---       ?C?LIMUL
+
+      ---         MODULE    ---      ---       PRINTF
+      0000002AH   PUBLIC    DATA     ---       ?_PRINTF517?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_PRINTF?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_SPRINTF517?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_SPRINTF?BYTE
+      010000D0H   PUBLIC    CODE     ---       _PRINTF
+      010000D0H   PUBLIC    CODE     ---       _PRINTF517
+      010000CAH   PUBLIC    CODE     ---       _SPRINTF
+      010000CAH   PUBLIC    CODE     ---       _SPRINTF517
+
+      ---         MODULE    ---      ---       RAND
+      00000008H   PUBLIC    DATA     ---       ?SRAND?BYTE
+      01000832H   PUBLIC    CODE     ---       RAND
+      01000874H   PUBLIC    CODE     ---       _SRAND
+
+      ---         MODULE    ---      ---       ?C?PLDIIDATA
+      010006CCH   PUBLIC    CODE     ---       ?C?PLDIIDATA
+
+      ---         MODULE    ---      ---       ?C?CCASE
+      010006DCH   PUBLIC    CODE     ---       ?C?CCASE
+
+      ---         MODULE    ---      ---       ?L?COMMON
+      0100000BH   SYMBOL    CODE     NEAR LAB  ?L?COM0001
+      0100180AH   SYMBOL    CODE     NEAR LAB  ?L?COM0002
+      01001515H   SYMBOL    CODE     NEAR LAB  ?L?COM0003
+      01001102H   SYMBOL    CODE     NEAR LAB  ?L?COM0004
+      010010E8H   SYMBOL    CODE     NEAR LAB  ?L?COM0005
+      01000EF1H   SYMBOL    CODE     NEAR LAB  ?L?COM0007
+      010014F4H   SYMBOL    CODE     NEAR LAB  ?L?COM0008
+      01000FBCH   SYMBOL    CODE     NEAR LAB  ?L?COM0009
+      01001903H   SYMBOL    CODE     NEAR LAB  ?L?COM000C
+      01000F25H   SYMBOL    CODE     NEAR LAB  ?L?COM000D
+      0100157BH   SYMBOL    CODE     NEAR LAB  ?L?COM0010
+      01001AE6H   SYMBOL    CODE     NEAR LAB  ?L?COM0011
+      01001111H   SYMBOL    CODE     NEAR LAB  ?L?COM0014
+      01000012H   SYMBOL    CODE     NEAR LAB  ?L?COM0015
+      010018FAH   SYMBOL    CODE     NEAR LAB  ?L?COM0016
+      01000F80H   SYMBOL    CODE     NEAR LAB  ?L?COM0017
+      010010F9H   SYMBOL    CODE     NEAR LAB  ?L?COM0018
+      010014E4H   SYMBOL    CODE     NEAR LAB  ?L?COM001A
+      01000F3AH   SYMBOL    CODE     NEAR LAB  ?L?COM001B
+      01001464H   SYMBOL    CODE     NEAR LAB  ?L?COM001D
+      0100125CH   SYMBOL    CODE     NEAR LAB  ?L?COM001F
+      01001AF0H   SYMBOL    CODE     NEAR LAB  ?L?COM0020
+      010010F2H   SYMBOL    CODE     NEAR LAB  ?L?COM0021
+      01001A0EH   SYMBOL    CODE     NEAR LAB  ?L?COM0022
+      010011B2H   SYMBOL    CODE     NEAR LAB  ?L?COM0023
+      010016D0H   SYMBOL    CODE     NEAR LAB  ?L?COM0024
+      01001AFDH   SYMBOL    CODE     NEAR LAB  ?L?COM0025
+      01000FA7H   SYMBOL    CODE     NEAR LAB  ?L?COM0026
+      01000FB1H   SYMBOL    CODE     NEAR LAB  ?L?COM0027
+      01000F42H   SYMBOL    CODE     NEAR LAB  ?L?COM0028
+      01000F73H   SYMBOL    CODE     NEAR LAB  ?L?COM0029
+      010011ABH   SYMBOL    CODE     NEAR LAB  ?L?COM002A
+      010016E0H   SYMBOL    CODE     NEAR LAB  ?L?COM002C
+      010012D3H   SYMBOL    CODE     NEAR LAB  ?L?COM002D
+      010014D6H   SYMBOL    CODE     NEAR LAB  ?L?COM002E
+      010014DCH   SYMBOL    CODE     NEAR LAB  ?L?COM002F
+      010016D8H   SYMBOL    CODE     NEAR LAB  ?L?COM0030
+      01001A06H   SYMBOL    CODE     NEAR LAB  ?L?COM0031
+      0100145CH   SYMBOL    CODE     NEAR LAB  ?L?COM0032
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:14:05  PAGE 53
+
+
+      01000061H   SYMBOL    CODE     NEAR LAB  ?L?COM0033
+      01000F4CH   SYMBOL    CODE     NEAR LAB  ?L?COM0034
+      01000F9FH   SYMBOL    CODE     NEAR LAB  ?L?COM0035
+
+Program Size: data=45.1 xdata=156 const=106 code=6814
+LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 3546 - 0
keil/Listings/PAN262x_FCC_TEST-Release.map

@@ -0,0 +1,3546 @@
+LX51 LINKER/LOCATER V4.66.100.0                                                         11/21/2025  17:13:38  PAGE 1
+
+
+LX51 LINKER/LOCATER V4.66.100.0, INVOKED BY:
+D:\KEIL_V5\C51\BIN\LX51.EXE .\Objects\STARTUP.obj, .\Objects\gpio.obj, .\Objects\uart.obj, .\Objects\timer.obj, .\Object
+>> s\rcc.obj, ..\..\..\..\driver\src\RF.LIB, .\Objects\log.obj, .\Objects\main.obj TO .\Objects\PAN262x_FCC_TEST-Release
+>>  PRINT (.\Listings\PAN262x_FCC_TEST-Release.map) DISABLEWARNING (16) REMOVEUNUSED CLASSES (XDATA (X:0X0-X:0X7FF), HDA
+>> TA (X:0X0-X:0X7FF), CODE (C:0X0-C:0X7FFF), CONST (C:0X0-C:0X7FFF), ECODE (C:0X0-C:0X7FFF), HCONST (C:0X0-C:0X7FFF), C
+>> ODE (C:0X0000-C:0X7FFF), CONST (C:0X0000-C:0X7FFF), XDATA (X:0X0-X:0X07FF), IDATA (I:0X0-I:0XFF))
+
+
+CPU MODE:     8051 MODE
+MEMORY MODEL: SMALL
+
+
+INPUT MODULES INCLUDED:
+  .\Objects\STARTUP.obj (?C_STARTUP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  .\Objects\gpio.obj (GPIO)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\uart.obj (UART)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\timer.obj (TIMER)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\rcc.obj (RCC)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\log.obj (LOG)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  .\Objects\main.obj (MAIN)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  ..\..\..\..\driver\src\RF.LIB (RF)
+         COMMENT TYPE 0: C51 V9.60.7.0
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDOPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?IMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDIX)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ILDOPTR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULDIV)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SLCMP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULCMP)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?ULSHR)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LLDCODE0)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LIMUL)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (PRINTF)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (RAND)
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 2
+
+
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDIIDATA)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+  D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE)
+         COMMENT TYPE 1: A51 / ASM51 Assembler
+
+
+ACTIVE MEMORY CLASSES OF MODULE:  .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+BASE        START       END         USED      MEMORY CLASS
+==========================================================
+X:000000H   X:000000H   X:0007FFH   00009CH   XDATA
+X:000000H   X:000000H   X:0007FFH             HDATA
+C:000000H   C:000000H   C:007FFFH   001A9EH   CODE
+C:000000H   C:000000H   C:007FFFH   00006AH   CONST
+C:000000H   C:000000H   C:007FFFH             ECODE
+C:000000H   C:000000H   C:007FFFH             HCONST
+I:000000H   I:000000H   I:0000FFH   000001H   IDATA
+I:000000H   I:000000H   I:00007FH   00002BH   DATA
+I:000020H.0 I:000020H.0 I:00002FH.7 000001H.1 BIT
+
+
+MEMORY MAP OF MODULE:  .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+
+START     STOP      LENGTH    ALIGN  RELOC    MEMORY CLASS   SEGMENT NAME
+=========================================================================
+
+* * * * * * * * * * *   D A T A   M E M O R Y   * * * * * * * * * * * * *
+000000H   000007H   000008H   ---    AT..     DATA           "REG BANK 0"
+000008H   00000BH   000004H   BYTE   UNIT     DATA           ?DT?RAND?RAND
+00000CH   00000DH   000002H   BYTE   UNIT     DATA           ?DT?MAIN
+00000EH.0 00001FH.7 000012H.0 ---    ---      **GAP**
+000020H.0 000021H.0 000001H.1 BIT    UNIT     BIT            _BIT_GROUP_
+000021H.1 000021H   000000H.7 ---    ---      **GAP**
+000022H   00003EH   00001DH   BYTE   UNIT     DATA           _DATA_GROUP_
+00003FH   00003FH   000001H   BYTE   UNIT     IDATA          ?STACK
+
+* * * * * * * * * * *   C O D E   M E M O R Y   * * * * * * * * * * * * *
+000000H   000002H   000003H   ---    OFFS..   CODE           ?CO??C_STARTUP?0
+000003H   00000AH   000008H   BYTE   UNIT     CONST          ?CO?GPIO
+00000BH   000011H   000007H   BYTE   UNIT     CODE           ?L?COM0001
+000012H   00001BH   00000AH   BYTE   UNIT     CODE           ?L?COM0015
+00001CH   000023H   000008H   BYTE   UNIT     CODE           ?PR?_PUTCHAR?UART
+000024H   000029H   000006H   BYTE   UNIT     CODE           ?PR?_RF_SETCHANNEL?RF
+00002AH   00002AH   000001H   ---    ---      **GAP**
+00002BH   00002DH   000003H   BYTE   OFFS..   CODE           ?MAIN?0002B
+00002EH   000060H   000033H   BYTE   UNIT     CODE           ?PR?_TIM_CMD?TIMER
+000061H   000067H   000007H   BYTE   UNIT     CODE           ?L?COM0033
+000068H   00006AH   000003H   BYTE   UNIT     CODE           ?PR?RF_ENABLEIRQ?RF
+00006BH   00006DH   000003H   BYTE   OFFS..   CODE           ?MAIN?0006B
+00006EH   0003C9H   00035CH   BYTE   UNIT     CODE           ?PR?PRINTF?PRINTF
+0003CAH   000701H   000338H   BYTE   UNIT     CODE           ?C?LIB_CODE
+000702H   0007A5H   0000A4H   BYTE   UNIT     CODE           ?C_INITSEG
+0007A6H   000831H   00008CH   BYTE   UNIT     CODE           ?C_C51STARTUP
+000832H   00087EH   00004DH   BYTE   UNIT     CODE           ?PR?RAND?RAND
+00087FH   0008E0H   000062H   BYTE   UNIT     CONST          ?CO?MAIN
+0008E1H   000A9DH   0001BDH   BYTE   UNIT     CODE           ?PR?_GPIO_INIT?GPIO
+000A9EH   000B1EH   000081H   BYTE   UNIT     CODE           ?PR?_UART_INIT?UART
+000B1FH   000BA6H   000088H   BYTE   UNIT     CODE           ?PR?_TIM_TIMEBASEINIT?TIMER
+000BA7H   000D9DH   0001F7H   BYTE   UNIT     CODE           ?PR?MAIN?MAIN
+000D9EH   000DB1H   000014H   BYTE   UNIT     CODE           ?PR?_TIM_ENABLEIRQ?TIMER
+000DB2H   000ECDH   00011CH   BYTE   UNIT     CODE           ?PR?_APP_RFINIT?MAIN
+000ECEH   000EF0H   000023H   BYTE   UNIT     CODE           ?PR?_RCC_PERIPHCLOCKCMD?RCC
+000EF1H   000EF7H   000007H   BYTE   UNIT     CODE           ?L?COM0007
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 3
+
+
+000EF8H   000F1DH   000026H   BYTE   UNIT     CODE           ?PR?APP_UARTINIT?MAIN
+000F1EH   000F24H   000007H   BYTE   UNIT     CODE           ?PR?RF_FLUSHTXFIFO?RF
+000F25H   000F30H   00000CH   BYTE   UNIT     CODE           ?L?COM000D
+000F31H   000F39H   000009H   BYTE   UNIT     CODE           ?PR?RF_ENTERTXMODE?RF
+000F3AH   000F41H   000008H   BYTE   UNIT     CODE           ?L?COM001B
+000F42H   ---       000000H   BYTE   UNIT     CODE           ?PR?RF_DEINIT?RF
+000F42H   000F4BH   00000AH   BYTE   UNIT     CODE           ?L?COM0028
+000F4CH   000F52H   000007H   BYTE   UNIT     CODE           ?L?COM0034
+000F53H   000F72H   000020H   BYTE   UNIT     CODE           ?PR?APP_TIMER2INIT?MAIN
+000F73H   000F79H   000007H   BYTE   UNIT     CODE           ?L?COM0029
+000F7AH   000F7FH   000006H   BYTE   UNIT     CODE           ?PR?RF_ENTERRXMODE?RF
+000F80H   000F8FH   000010H   BYTE   UNIT     CODE           ?L?COM0017
+000F90H   000F96H   000007H   BYTE   UNIT     CODE           ?PR?RF_FLUSHRXFIFO?RF
+000F97H   000F9EH   000008H   BYTE   UNIT     CODE           ?PR?RF_CLEARIRQFLAGS?RF
+000F9FH   000FA6H   000008H   BYTE   UNIT     CODE           ?L?COM0035
+000FA7H   000FB0H   00000AH   BYTE   UNIT     CODE           ?L?COM0026
+000FB1H   000FBBH   00000BH   BYTE   UNIT     CODE           ?L?COM0027
+000FBCH   000FC7H   00000CH   BYTE   UNIT     CODE           ?L?COM0009
+000FC8H   000FF7H   000030H   BYTE   UNIT     CODE           ?PR?_RF_ENABLEDYNAMICPAYLOAD?RF
+000FF8H   000FF9H   000002H   BYTE   UNIT     CODE           ?PR?RF_CE_ENABLE?RF
+000FFAH   0010E7H   0000EEH   BYTE   UNIT     CODE           ?PR?_RCC_CTRL?RCC
+0010E8H   0010F1H   00000AH   BYTE   UNIT     CODE           ?L?COM0005
+0010F2H   0010F8H   000007H   BYTE   UNIT     CODE           ?L?COM0021
+0010F9H   001101H   000009H   BYTE   UNIT     CODE           ?L?COM0018
+001102H   001110H   00000FH   BYTE   UNIT     CODE           ?L?COM0004
+001111H   001126H   000016H   BYTE   UNIT     CODE           ?L?COM0014
+001127H   001138H   000012H   BYTE   UNIT     CODE           ?PR?_RCC_SOURCE?RCC
+001139H   00118FH   000057H   BYTE   UNIT     CODE           ?PR?RCC_SYSCLKINIT?RCC
+001190H   0011AAH   00001BH   BYTE   UNIT     CODE           ?PR?RCC_RCHCALICHK?RCC
+0011ABH   0011B1H   000007H   BYTE   UNIT     CODE           ?L?COM002A
+0011B2H   0011B9H   000008H   BYTE   UNIT     CODE           ?L?COM0023
+0011BAH   00125BH   0000A2H   BYTE   UNIT     CODE           ?PR?RF_INIT?RF
+00125CH   001262H   000007H   BYTE   UNIT     CODE           ?L?COM001F
+001263H   00127BH   000019H   BYTE   UNIT     CODE           ?PR?_RCC_RCHCALI?RCC
+00127CH   00129CH   000021H   BYTE   UNIT     CODE           ?PR?_DELAYMS?MAIN
+00129DH   0012D2H   000036H   BYTE   UNIT     CODE           ?PR?KEY_SCAN?MAIN
+0012D3H   0012DAH   000008H   BYTE   UNIT     CODE           ?L?COM002D
+0012DBH   001351H   000077H   BYTE   UNIT     CODE           ?PR?RF_INTERRUPTHANDLER?MAIN
+001352H   001398H   000047H   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOADBYXDATA?RF
+001399H   0013ACH   000014H   BYTE   UNIT     CODE           ?PR?_RF_DELAY?RF
+0013ADH   00145BH   0000AFH   BYTE   UNIT     CODE           ?PR?_RF_TWOPOINT_CAL?RF
+00145CH   001463H   000008H   BYTE   UNIT     CODE           ?L?COM0032
+001464H   00146AH   000007H   BYTE   UNIT     CODE           ?L?COM001D
+00146BH   0014D5H   00006BH   BYTE   UNIT     CODE           ?PR?_RF_VCOCAL_GROUP?RF
+0014D6H   0014DBH   000006H   BYTE   UNIT     CODE           ?L?COM002E
+0014DCH   0014E3H   000008H   BYTE   UNIT     CODE           ?L?COM002F
+0014E4H   0014F3H   000010H   BYTE   UNIT     CODE           ?L?COM001A
+0014F4H   001514H   000021H   BYTE   UNIT     CODE           ?L?COM0008
+001515H   001545H   000031H   BYTE   UNIT     CODE           ?L?COM0003
+001546H   00157AH   000035H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOADBYXDATA?RF
+00157BH   001581H   000007H   BYTE   UNIT     CODE           ?L?COM0010
+001582H   001639H   0000B8H   BYTE   UNIT     CODE           ?PR?_RF_SETDATARATE?RF
+00163AH   00166DH   000034H   BYTE   UNIT     CODE           ?PR?_RF_VCO_CAL?RF
+00166EH   0016C7H   00005AH   BYTE   UNIT     CODE           ?PR?_RF_FILTER_CAL?RF
+0016C8H   0016CFH   000008H   BYTE   UNIT     CODE           ?PR?RF_GETIRQFLAGS?RF
+0016D0H   0016D7H   000008H   BYTE   UNIT     CODE           ?L?COM0024
+0016D8H   0016DFH   000008H   BYTE   UNIT     CODE           ?L?COM0030
+0016E0H   0016E8H   000009H   BYTE   UNIT     CODE           ?L?COM002C
+0016E9H   001714H   00002CH   BYTE   UNIT     CODE           ?PR?TIMER2_INTERRUPTHANDLER?MAIN
+001715H   00171AH   000006H   BYTE   UNIT     CODE           ?PR?RF_CE_DISABLE?RF
+00171BH   00172EH   000014H   BYTE   UNIT     CODE           ?PR?RF_CARRIER?RF
+00172FH   001753H   000025H   BYTE   UNIT     CODE           ?PR?_RF_SETCRC?RF
+001754H   001809H   0000B6H   BYTE   UNIT     CODE           ?PR?_RF_SETTXPOWER?RF
+00180AH   001813H   00000AH   BYTE   UNIT     CODE           ?L?COM0002
+001814H   001823H   000010H   BYTE   UNIT     CODE           ?PR?_RF_ENABLEWHITEN?RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 4
+
+
+001824H   001865H   000042H   BYTE   UNIT     CODE           ?PR?_RF_SETCHIPMODE?RF
+001866H   001878H   000013H   BYTE   UNIT     CODE           ?PR?_RF_SETWORKMODE?RF
+001879H   00188EH   000016H   BYTE   UNIT     CODE           ?PR?_RF_SETADDRWIDTH?RF
+00188FH   0018F9H   00006BH   BYTE   UNIT     CODE           ?PR?_RF_SETRXADDR?RF
+0018FAH   001902H   000009H   BYTE   UNIT     CODE           ?L?COM0016
+001903H   001922H   000020H   BYTE   UNIT     CODE           ?L?COM000C
+001923H   001944H   000022H   BYTE   UNIT     CODE           ?PR?_RF_ENABLERXPIPE?RF
+001945H   00198DH   000049H   BYTE   UNIT     CODE           ?PR?_RF_SETTXADDR?RF
+00198EH   00199AH   00000DH   BYTE   UNIT     CODE           ?PR?_RF_SETRXPAYLOADLEN?RF
+00199BH   0019AAH   000010H   BYTE   UNIT     CODE           ?PR?_RF_SETNOACK?RF
+0019ABH   0019F4H   00004AH   BYTE   UNIT     CODE           ?PR?_RF_SETAUTORETRANS?RF
+0019F5H   001A05H   000011H   BYTE   UNIT     CODE           ?PR?_RF_SETTXSETUPTIME?RF
+001A06H   001A0DH   000008H   BYTE   UNIT     CODE           ?L?COM0031
+001A0EH   001A19H   00000CH   BYTE   UNIT     CODE           ?L?COM0022
+001A1AH   001AA6H   00008DH   BYTE   UNIT     CODE           ?PR?_RF_SETTRXACKTIMEOUT?RF
+001AA7H   001AB6H   000010H   BYTE   UNIT     CODE           ?PR?_RF_SETACKPAYLOAD?RF
+001AB7H   001ACCH   000016H   BYTE   UNIT     CODE           ?PR?_RF_SETFIFOLENTYPE?RF
+001ACDH   001ADFH   000013H   BYTE   UNIT     CODE           ?PR?_RF_ITCONFIG?RF
+001AE0H   001AE5H   000006H   BYTE   UNIT     CODE           ?PR?_RF_CARRIEROFFSET?RF
+001AE6H   001AEFH   00000AH   BYTE   UNIT     CODE           ?L?COM0011
+001AF0H   001AFCH   00000DH   BYTE   UNIT     CODE           ?L?COM0020
+001AFDH   001B08H   00000CH   BYTE   UNIT     CODE           ?L?COM0025
+
+* * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
+000000H   000098H   000099H   BYTE   UNIT     XDATA          ?XD?MAIN
+000099H   00009BH   000003H   BYTE   UNIT     XDATA          _XDATA_GROUP_
+
+* * * * * * * * *   R E M O V E D     S E G M E N T S   * * * * * * * *
+   *DEL*:           000013H   BYTE   UNIT     CODE           ?PR?_GPIO_EXTINTCONFIG?GPIO
+   *DEL*:           000011H   BYTE   UNIT     CODE           ?PR?_GPIO_ENABLEDBC?GPIO
+   *DEL*:           000010H   BYTE   UNIT     CODE           ?PR?_GPIO_DISABLEDBC?GPIO
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?GPIO_ENABLERST?GPIO
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?GPIO_DISABLERST?GPIO
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?UART_ENABLEIRQ?UART
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?UART_DISABLEIRQ?UART
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?_UART_SENDONEBYTE?UART
+   *DEL*:           00000BH   BYTE   UNIT     CODE           ?PR?_UART_PUTCHAR?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_SENDSTRING?UART
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_UART_SENDSTRING?UART
+   *DEL*:           00003FH   BYTE   UNIT     CODE           ?PR?_UART_SENDBUF?UART
+   *DEL*:           000005H   BYTE   UNIT     DATA           ?DT?_UART_SENDBUF?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_PARITYCHECK?UART
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_UART_ODDCHECK?UART
+   *DEL*:           000041H   BYTE   UNIT     CODE           ?PR?_TIM_DEINIT?TIMER
+   *DEL*:           000043H   BYTE   UNIT     CODE           ?PR?_TIM_EXTCNTCONFIG?TIMER
+   *DEL*:           000043H   BYTE   UNIT     CODE           ?PR?_TIM_GATECONFIG?TIMER
+   *DEL*:           000073H   BYTE   UNIT     CODE           ?PR?_TIM_CMPINIT?TIMER
+   *DEL*:           000005H   BYTE   UNIT     DATA           ?DT?_TIM_CMPINIT?TIMER
+   *DEL*:           000093H   BYTE   UNIT     CODE           ?PR?_TIM_CAPINIT?TIMER
+   *DEL*:           000006H   BYTE   UNIT     DATA           ?DT?_TIM_CAPINIT?TIMER
+   *DEL*:           000014H   BYTE   UNIT     CODE           ?PR?_TIM_DISABLEIRQ?TIMER
+   *DEL*:           000028H   BYTE   UNIT     CODE           ?PR?_RCC_PERIPHRESET?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_XTALTURNONNONEBLOCK?RCC
+   *DEL*:           000040H   BYTE   UNIT     CODE           ?PR?_RCC_GETCLOCKREADYSTATUS?RCC
+   *DEL*:           000011H   BYTE   UNIT     CODE           ?PR?_RCC_XTALFASTRDYENABLE?RCC
+   *DEL*:           00000BH   BYTE   UNIT     CODE           ?PR?_RCC_SYSDIV?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_RCHCALIDISABLE?RCC
+   *DEL*:           000007H   BYTE   UNIT     CODE           ?PR?RCC_RCHCALIAUTO?RCC
+   *DEL*:           00001AH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI_EN?RCC
+   *DEL*:           00001AH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI_MANU?RCC
+   *DEL*:           000013H   BYTE   UNIT     CODE           ?PR?_RCC_SETLVRVOLTLEVEL?RCC
+   *DEL*:           00001DH   BYTE   UNIT     CODE           ?PR?_RCC_ENABLELVR?RCC
+   *DEL*:           00002DH   BYTE   UNIT     CODE           ?PR?_RCC_RCLCALI?RCC
+   *DEL*:           00001BH   BYTE   UNIT     CODE           ?PR?_RCC_MUX?RCC
+   *DEL*:           000012H   BYTE   UNIT     CODE           ?PR?RCC_PUMPUP?RCC
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 5
+
+
+   *DEL*:           000082H   BYTE   UNIT     CODE           ?PR?RCC_LITE_SYSCLKINIT?RCC
+   *DEL*:           000001H   BYTE   UNIT     DATA           ?DT?RCC_LITE_SYSCLKINIT?RCC
+   *DEL*:           00006BH   BYTE   UNIT     CODE           ?PR?_PANLOG_HEXDUMP?LOG
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_PANLOG_HEXDUMP?LOG
+   *DEL*:           000047H   BYTE   UNIT     CODE           ?PR?_PRINT_HEX?LOG
+   *DEL*:           000007H   BYTE   UNIT     DATA           ?DT?_PRINT_HEX?LOG
+   *DEL*:           000009H   BYTE   UNIT     CONST          ?CO?LOG
+   *DEL*:           0000ABH   BYTE   UNIT     CODE           ?PR?_TWO_POINT_CAL_MODE0?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_TWO_POINT_CAL_MODE0?RF
+   *DEL*:           0000AEH   BYTE   UNIT     CODE           ?PR?_TWO_POINT_CAL_MODE1?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_TWO_POINT_CAL_MODE1?RF
+   *DEL*:           00000CH   BYTE   UNIT     CODE           ?PR?_RF_VCOCAL?RF
+   *DEL*:           00000AH   BYTE   UNIT     CODE           ?PR?RF_ISTXFIFOFULL?RF
+   *DEL*:           000001H   BYTE   UNIT     CODE           ?PR?RF_EXITTXMODE?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_EXITRXMODE?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?_RF_SETRATE?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?_RF_SETPOWER?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_DISABLERXPIPES?RF
+   *DEL*:           00003EH   BYTE   UNIT     CODE           ?PR?_RF_SETRXWINDOWTIME?RF
+   *DEL*:           000004H   BYTE   UNIT     DATA           ?DT?_RF_SETRXWINDOWTIME?RF
+   *DEL*:           00000CH   BYTE   UNIT     CODE           ?PR?RF_RXWINDOWSTARTONCE?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXWINDOWCLOSE?RF
+   *DEL*:           00000AH   BYTE   UNIT     CODE           ?PR?RF_GETAVAILABLERXPIPEINDEX?RF
+   *DEL*:           000049H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOAD?RF
+   *DEL*:           000009H   BYTE   UNIT     DATA           ?DT?_RF_WRITETXPAYLOAD?RF
+   *DEL*:           000044H   BYTE   UNIT     CODE           ?PR?_RF_WRITETXPAYLOADBYIDATA?RF
+   *DEL*:           000006H   BYTE   UNIT     CODE           ?PR?RF_READPAYLOADLEN?RF
+   *DEL*:           00004DH   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOAD?RF
+   *DEL*:           000002H   BYTE   UNIT     DATA           ?DT?_RF_READRXPAYLOAD?RF
+   *DEL*:           000048H   BYTE   UNIT     CODE           ?PR?_RF_READRXPAYLOADBYIDATA?RF
+   *DEL*:           00003CH   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOAD?RF
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_RF_WRITEACKPAYLOAD?RF
+   *DEL*:           000032H   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOADBYIDATA?RF
+   *DEL*:           000030H   BYTE   UNIT     CODE           ?PR?_RF_WRITEACKPAYLOADBYXDATA?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXFIFOISFULL?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_RXFIFOISEMPTY?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_TXFIFOISFULL?RF
+   *DEL*:           000008H   BYTE   UNIT     CODE           ?PR?RF_TXFIFOISEMPTY?RF
+   *DEL*:           00000FH   BYTE   UNIT     CODE           ?PR?_RF_RSSI_ENABLE?RF
+   *DEL*:           000049H   BYTE   UNIT     CODE           ?PR?_RF_SETBLEACCESSADDR?RF
+   *DEL*:           000003H   BYTE   UNIT     DATA           ?DT?_RF_SETBLEACCESSADDR?RF
+   *DEL*:           000075H   BYTE   UNIT     CODE           ?PR?_RF_SETBLEWHITELIST?RF
+   *DEL*:           000008H   BYTE   UNIT     DATA           ?DT?_RF_SETBLEWHITELIST?RF
+   *DEL*:           000025H   BYTE   UNIT     CODE           ?PR?_RF_SETBLELENFILTER?RF
+   *DEL*:           000003H   BYTE   UNIT     CODE           ?PR?RF_DISABLEIRQ?RF
+
+
+
+OVERLAY MAP OF MODULE:   .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+
+FUNCTION/MODULE                     BIT_GROUP   DATA_GROUP   XDATA_GROUP
+--> CALLED FUNCTION/MODULE         START  STOP  START  STOP  START  STOP
+========================================================================
+?C_C51STARTUP                      ----- -----  ----- -----  ----- -----
+  +--> MAIN/MAIN
+  +--> ?C_INITSEG
+
+MAIN/MAIN                          ----- -----  0022H 0029H  ----- -----
+  +--> RCC_SYSCLKINIT/RCC
+  +--> _DELAYMS/MAIN
+  +--> APP_UARTINIT/MAIN
+  +--> APP_TIMER2INIT/MAIN
+  +--> _APP_RFINIT/MAIN
+  +--> RF_ENTERTXMODE/RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 6
+
+
+  +--> _GPIO_INIT/GPIO
+  +--> PRINTF/PRINTF
+  +--> KEY_SCAN/MAIN
+  +--> RF_DEINIT/RF
+  +--> _RF_SETCHANNEL/RF
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_ENTERRXMODE/RF
+  +--> RF_CARRIER/RF
+  +--> RAND/RAND
+  +--> _RF_WRITETXPAYLOADBYXDATA/RF
+
+RCC_SYSCLKINIT/RCC                 ----- -----  002AH 002AH  ----- -----
+  +--> RCC_RCHCALICHK/RCC
+  +--> _RCC_SOURCE/RCC
+  +--> _RCC_CTRL/RCC
+
+RCC_RCHCALICHK/RCC                 ----- -----  ----- -----  ----- -----
+  +--> _RCC_RCHCALI/RCC
+
+_RCC_RCHCALI/RCC                   ----- -----  002BH 002CH  ----- -----
+
+_RCC_SOURCE/RCC                    ----- -----  ----- -----  ----- -----
+
+_RCC_CTRL/RCC                      ----- -----  002BH 002CH  ----- -----
+
+_DELAYMS/MAIN                      ----- -----  ----- -----  ----- -----
+
+APP_UARTINIT/MAIN                  ----- -----  ----- -----  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> _GPIO_INIT/GPIO
+  +--> _UART_INIT/UART
+
+_RCC_PERIPHCLOCKCMD/RCC            ----- -----  ----- -----  ----- -----
+
+_GPIO_INIT/GPIO                    ----- -----  002AH 002EH  ----- -----
+
+_UART_INIT/UART                    ----- -----  002AH 002DH  ----- -----
+
+APP_TIMER2INIT/MAIN                ----- -----  ----- -----  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> _TIM_TIMEBASEINIT/TIMER
+  +--> _TIM_ENABLEIRQ/TIMER
+  +--> _TIM_CMD/TIMER
+
+_TIM_TIMEBASEINIT/TIMER            ----- -----  002AH 002EH  ----- -----
+
+_TIM_ENABLEIRQ/TIMER               ----- -----  ----- -----  ----- -----
+
+_TIM_CMD/TIMER                     ----- -----  ----- -----  ----- -----
+
+_APP_RFINIT/MAIN                   ----- -----  002AH 002CH  ----- -----
+  +--> _RCC_PERIPHCLOCKCMD/RCC
+  +--> RF_INIT/RF
+  +--> _RF_CARRIEROFFSET/RF
+  +--> _RF_SETCHIPMODE/RF
+  +--> _RF_SETDATARATE/RF
+  +--> _RF_SETCHANNEL/RF
+  +--> _RF_SETCRC/RF
+  +--> _RF_SETTXPOWER/RF
+  +--> _RF_SETFIFOLENTYPE/RF
+  +--> _RF_SETTXADDR/RF
+  +--> _RF_SETRXADDR/RF
+  +--> _RF_SETRXPAYLOADLEN/RF
+  +--> _RF_SETWORKMODE/RF
+  +--> _RF_SETTXSETUPTIME/RF
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 7
+
+
+  +--> _RF_SETTRXACKTIMEOUT/RF
+  +--> _RF_SETAUTORETRANS/RF
+  +--> _RF_SETNOACK/RF
+  +--> _RF_SETACKPAYLOAD/RF
+  +--> _RF_ENABLEDYNAMICPAYLOAD/RF
+  +--> _RF_ITCONFIG/RF
+  +--> RF_ENABLEIRQ/RF
+
+RF_INIT/RF                         ----- -----  ----- -----  ----- -----
+
+_RF_CARRIEROFFSET/RF               ----- -----  ----- -----  ----- -----
+
+_RF_SETCHIPMODE/RF                 ----- -----  ----- -----  ----- -----
+  +--> _RF_ENABLEWHITEN/RF
+
+_RF_ENABLEWHITEN/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETDATARATE/RF                 ----- -----  002DH 002EH  ----- -----
+  +--> RF_CE_ENABLE/RF
+  +--> _RF_VCO_CAL/RF
+  +--> _RF_TWOPOINT_CAL/RF
+  +--> _RF_FILTER_CAL/RF
+
+RF_CE_ENABLE/RF                    ----- -----  ----- -----  ----- -----
+
+_RF_VCO_CAL/RF                     ----- -----  ----- -----  ----- -----
+  +--> _RF_VCOCAL_GROUP/RF
+
+_RF_VCOCAL_GROUP/RF                ----- -----  002FH 0035H  ----- -----
+  +--> _RF_DELAY/RF
+
+_RF_DELAY/RF                       ----- -----  ----- -----  ----- -----
+
+_RF_TWOPOINT_CAL/RF                ----- -----  002FH 0031H  ----- -----
+  +--> _RF_SETCHANNEL/RF
+  +--> _RF_DELAY/RF
+
+_RF_SETCHANNEL/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_FILTER_CAL/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_SETCRC/RF                      ----- -----  ----- -----  ----- -----
+
+_RF_SETTXPOWER/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_SETFIFOLENTYPE/RF              ----- -----  ----- -----  ----- -----
+
+_RF_SETTXADDR/RF                   ----- -----  002DH 002FH  0099H 009BH
+  +--> _RF_SETADDRWIDTH/RF
+
+_RF_SETADDRWIDTH/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETRXADDR/RF                   ----- -----  002DH 0034H  ----- -----
+  +--> _RF_SETADDRWIDTH/RF
+  +--> _RF_ENABLERXPIPE/RF
+
+_RF_ENABLERXPIPE/RF                ----- -----  ----- -----  ----- -----
+
+_RF_SETRXPAYLOADLEN/RF             ----- -----  ----- -----  ----- -----
+
+_RF_SETWORKMODE/RF                 ----- -----  ----- -----  ----- -----
+
+_RF_SETTXSETUPTIME/RF              ----- -----  ----- -----  ----- -----
+
+_RF_SETTRXACKTIMEOUT/RF            ----- -----  ----- -----  ----- -----
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 8
+
+
+
+_RF_SETAUTORETRANS/RF              ----- -----  002DH 002DH  ----- -----
+
+_RF_SETNOACK/RF                    ----- -----  ----- -----  ----- -----
+
+_RF_SETACKPAYLOAD/RF               ----- -----  ----- -----  ----- -----
+
+_RF_ENABLEDYNAMICPAYLOAD/RF        ----- -----  ----- -----  ----- -----
+
+_RF_ITCONFIG/RF                    ----- -----  ----- -----  ----- -----
+
+RF_ENABLEIRQ/RF                    ----- -----  ----- -----  ----- -----
+
+RF_ENTERTXMODE/RF                  ----- -----  ----- -----  ----- -----
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_FLUSHTXFIFO/RF                  ----- -----  ----- -----  ----- -----
+
+RF_FLUSHRXFIFO/RF                  ----- -----  ----- -----  ----- -----
+
+RF_CLEARIRQFLAGS/RF                ----- -----  ----- -----  ----- -----
+
+PRINTF/PRINTF                      20H.0 21H.0  002AH 003DH  ----- -----
+  +--> _PUTCHAR/UART
+
+_PUTCHAR/UART                      ----- -----  ----- -----  ----- -----
+
+KEY_SCAN/MAIN                      ----- -----  ----- -----  ----- -----
+  +--> _DELAYMS/MAIN
+
+RF_DEINIT/RF                       ----- -----  ----- -----  ----- -----
+
+RF_ENTERRXMODE/RF                  ----- -----  ----- -----  ----- -----
+  +--> RF_FLUSHTXFIFO/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_CARRIER/RF                      ----- -----  ----- -----  ----- -----
+  +--> RF_CE_DISABLE/RF
+
+RF_CE_DISABLE/RF                   ----- -----  ----- -----  ----- -----
+
+RAND/RAND                          ----- -----  ----- -----  ----- -----
+
+_RF_WRITETXPAYLOADBYXDATA/RF       ----- -----  002AH 002BH  ----- -----
+  +--> _RF_DELAY/RF
+
+?C_INITSEG                         ----- -----  ----- -----  ----- -----
+
+*** NEW ROOT *********************
+
+RF_INTERRUPTHANDLER/MAIN           ----- -----  ----- -----  ----- -----
+  +--> RF_GETIRQFLAGS/RF
+  +--> _RF_READRXPAYLOADBYXDATA/RF
+  +--> RF_FLUSHRXFIFO/RF
+  +--> RF_CLEARIRQFLAGS/RF
+
+RF_GETIRQFLAGS/RF                  ----- -----  ----- -----  ----- -----
+
+_RF_READRXPAYLOADBYXDATA/RF        ----- -----  003EH 003EH  ----- -----
+  +--> _RF_DELAY/RF
+
+*** NEW ROOT *********************
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 9
+
+
+
+TIMER2_INTERRUPTHANDLER/MAIN       ----- -----  ----- -----  ----- -----
+
+
+
+PUBLIC SYMBOLS OF MODULE:  .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+
+      VALUE       CLASS    TYPE      PUBLIC SYMBOL NAME
+      =================================================
+      0000002AH   DATA     BYTE      ?_GPIO_Init?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_panlog_hexdump?BYTE
+      0000002AH   DATA     ---       ?_PRINTF517?BYTE
+      0000002AH   DATA     ---       ?_PRINTF?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_SetBleWhitelist?BYTE
+      0000002DH   DATA     BYTE      ?_RF_SetRxAddr?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_WriteAckPayload?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_RF_WriteTxPayload?BYTE
+      0000002AH   DATA     ---       ?_SPRINTF517?BYTE
+      0000002AH   DATA     ---       ?_SPRINTF?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_TIM_CapInit?BYTE
+*DEL*:00000000H   DATA     BYTE      ?_TIM_CmpInit?BYTE
+      0000002AH   DATA     BYTE      ?_TIM_TimeBaseInit?BYTE
+      0000002AH   DATA     BYTE      ?_UART_Init?BYTE
+      010006DCH   CODE     ---       ?C?CCASE
+      010003E3H   CODE     ---       ?C?CLDOPTR
+      010003CAH   CODE     ---       ?C?CLDPTR
+      00000000H   NUMBER   ---       ?C?CODESEG
+      01000410H   CODE     ---       ?C?CSTPTR
+      010004BFH   CODE     ---       ?C?ILDIX
+      01000500H   CODE     ---       ?C?ILDOPTR
+      010004D5H   CODE     ---       ?C?ILDPTR
+      01000422H   CODE     ---       ?C?IMUL
+      0100069FH   CODE     ---       ?C?LIMUL
+      0100068FH   CODE     ---       ?C?LLDCODE0
+      01000538H   CODE     ---       ?C?LMUL
+      010006CCH   CODE     ---       ?C?PLDIIDATA
+      01000489H   CODE     ---       ?C?SIDIV
+      01000655H   CODE     ---       ?C?SLCMP
+      01000434H   CODE     ---       ?C?UIDIV
+      0100066BH   CODE     ---       ?C?ULCMP
+      010005C3H   CODE     ---       ?C?ULDIV
+      0100067CH   CODE     ---       ?C?ULSHR
+      00000000H   NUMBER   ---       ?C?XDATASEG
+      010007EDH   CODE     ---       ?C_START
+      01000000H   CODE     ---       ?C_STARTUP
+      00000008H   DATA     ---       ?SRAND?BYTE
+      01000DBAH   CODE     ---       _APP_RfInit
+      0100127CH   CODE     ---       _DelayMs
+*DEL*:00000000H   CODE     ---       _GPIO_DisableDbc
+*DEL*:00000000H   CODE     ---       _GPIO_EnableDbc
+*DEL*:00000000H   CODE     ---       _GPIO_ExtIntConfig
+      010008E1H   CODE     ---       _GPIO_Init
+*DEL*:00000000H   CODE     ---       _panlog_hexdump
+*DEL*:00000000H   CODE     ---       _print_hex
+      010000D0H   CODE     ---       _PRINTF
+      010000D0H   CODE     ---       _PRINTF517
+      0100001CH   CODE     ---       _putchar
+      01000FFAH   CODE     ---       _RCC_Ctrl
+*DEL*:00000000H   CODE     ---       _RCC_EnableLvr
+*DEL*:00000000H   CODE     ---       _RCC_GetClockReadyStatus
+*DEL*:00000000H   CODE     ---       _RCC_Mux
+      01000ECEH   CODE     ---       _RCC_PeriphClockCmd
+*DEL*:00000000H   CODE     ---       _RCC_PeriphReset
+      01001263H   CODE     ---       _RCC_RchCali
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 10
+
+
+*DEL*:00000000H   CODE     ---       _RCC_RclCali
+*DEL*:00000000H   CODE     ---       _RCC_RclCali_EN
+*DEL*:00000000H   CODE     ---       _RCC_RclCali_MANU
+*DEL*:00000000H   CODE     ---       _RCC_SetLvrVoltLevel
+      01001127H   CODE     ---       _RCC_Source
+*DEL*:00000000H   CODE     ---       _RCC_SysDiv
+*DEL*:00000000H   CODE     ---       _RCC_XTALFastRdyEnable
+      01001AE0H   CODE     ---       _RF_CarrierOffset
+      01000FC8H   CODE     ---       _RF_EnableDynamicPayload
+      01001923H   CODE     ---       _RF_EnableRxPipe
+      01001814H   CODE     ---       _RF_EnableWhiten
+      0100166EH   CODE     ---       _RF_Filter_Cal
+      01001ACDH   CODE     ---       _RF_ITConfig
+*DEL*:00000000H   CODE     ---       _RF_ReadRxPayload
+*DEL*:00000000H   CODE     ---       _RF_ReadRxPayloadByIDATA
+      01001352H   CODE     ---       _RF_ReadRxPayloadByXDATA
+*DEL*:00000000H   CODE     ---       _RF_RSSI_Enable
+      01001AA7H   CODE     ---       _RF_SetAckPayload
+      01001879H   CODE     ---       _RF_SetAddrWidth
+      010019ABH   CODE     ---       _RF_SetAutoRetrans
+*DEL*:00000000H   CODE     ---       _RF_SetBleAccessAddr
+*DEL*:00000000H   CODE     ---       _RF_SetBleLenFilter
+*DEL*:00000000H   CODE     ---       _RF_SetBleWhitelist
+      01000024H   CODE     ---       _RF_SetChannel
+      01001824H   CODE     ---       _RF_SetChipMode
+      0100172FH   CODE     ---       _RF_SetCrc
+      01001582H   CODE     ---       _RF_SetDataRate
+      01001AB7H   CODE     ---       _RF_SetFifoLenType
+      0100199BH   CODE     ---       _RF_SetNoAck
+*DEL*:00000000H   CODE     ---       _RF_SetPower
+*DEL*:00000000H   CODE     ---       _RF_SetRate
+      0100188FH   CODE     ---       _RF_SetRxAddr
+      0100198EH   CODE     ---       _RF_SetRxPayloadLen
+*DEL*:00000000H   CODE     ---       _RF_SetRxWindowTime
+      01001A1AH   CODE     ---       _RF_SetTRxAckTimeout
+      01001945H   CODE     ---       _RF_SetTxAddr
+      01001754H   CODE     ---       _RF_SetTxPower
+      010019F5H   CODE     ---       _RF_SetTxSetupTime
+      01001866H   CODE     ---       _RF_SetWorkMode
+      010013ADH   CODE     ---       _RF_Twopoint_Cal
+      0100163AH   CODE     ---       _RF_Vco_Cal
+*DEL*:00000000H   CODE     ---       _RF_VCOCal
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayload
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayloadByIDATA
+*DEL*:00000000H   CODE     ---       _RF_WriteAckPayloadByXDATA
+*DEL*:00000000H   CODE     ---       _RF_WriteTxPayload
+*DEL*:00000000H   CODE     ---       _RF_WriteTxPayloadByIDATA
+      01001546H   CODE     ---       _RF_WriteTxPayloadByXDATA
+      010000CAH   CODE     ---       _SPRINTF
+      010000CAH   CODE     ---       _SPRINTF517
+      01000874H   CODE     ---       _SRAND
+*DEL*:00000000H   CODE     ---       _TIM_CapInit
+      0100002EH   CODE     ---       _TIM_Cmd
+*DEL*:00000000H   CODE     ---       _TIM_CmpInit
+*DEL*:00000000H   CODE     ---       _TIM_DeInit
+*DEL*:00000000H   CODE     ---       _TIM_DisableIRQ
+      01000D9EH   CODE     ---       _TIM_EnableIRQ
+*DEL*:00000000H   CODE     ---       _TIM_ExtCntConfig
+*DEL*:00000000H   CODE     ---       _TIM_GateConfig
+      01000B1FH   CODE     ---       _TIM_TimeBaseInit
+      01000A9EH   CODE     ---       _UART_Init
+*DEL*:00000000H   CODE     ---       _UART_OddCheck
+*DEL*:00000000H   CODE     ---       _UART_ParityCheck
+*DEL*:00000000H   CODE     ---       _UART_PutChar
+*DEL*:00000000H   CODE     ---       _UART_sendBuf
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 11
+
+
+*DEL*:00000000H   CODE     ---       _UART_SendOneByte
+*DEL*:00000000H   CODE     ---       _UART_SendString
+*SFR* 000000E0H   DATA     BYTE      ACC
+*SFR* 000000D8H   DATA     BYTE      ADCON
+*SFR* 000000FBH   DATA     BYTE      ANA_DAT
+*SFR* 000000FAH   DATA     BYTE      ANA_SEL
+      01000F53H   CODE     ---       APP_Timer2Init
+      01000EF8H   CODE     ---       APP_UartInit
+*SFR* 000000F0H   DATA     BYTE      B
+*SFR* 000000C1H   DATA     BYTE      CCEN
+*SFR* 000000C3H   DATA     BYTE      CCH1
+*SFR* 000000C5H   DATA     BYTE      CCH2
+*SFR* 000000C7H   DATA     BYTE      CCH3
+*SFR* 000000C2H   DATA     BYTE      CCL1
+*SFR* 000000C4H   DATA     BYTE      CCL2
+*SFR* 000000C6H   DATA     BYTE      CCL3
+*SFR* 000000CBH   DATA     BYTE      CRCH
+*SFR* 000000CAH   DATA     BYTE      CRCL
+*SFR* 00000093H   DATA     BYTE      DPC
+*SFR* 00000083H   DATA     BYTE      DPH
+*SFR* 00000085H   DATA     BYTE      DPH1
+*SFR* 00000082H   DATA     BYTE      DPL
+*SFR* 00000084H   DATA     BYTE      DPL1
+*SFR* 00000092H   DATA     BYTE      DPS
+*SFR* 00000082H   DATA     WORD      DPTR
+*SFR* 00000084H   DATA     WORD      DPTR1
+*SFR* 000000A8H.7 DATA     BIT       EA
+*SFR* 000000B8H.2 DATA     BIT       EADC
+*SFR* 000000B8H.0 DATA     BIT       EI2C
+*SFR* 000000B8H.3 DATA     BIT       EPWM
+*SFR* 000000B8H.5 DATA     BIT       ERF
+*SFR* 000000B8H.1 DATA     BIT       ESPI
+*SFR* 000000A8H.1 DATA     BIT       ET0
+*SFR* 000000A8H.3 DATA     BIT       ET1
+*SFR* 000000A8H.5 DATA     BIT       ET2
+*SFR* 000000A8H.4 DATA     BIT       EUART
+*SFR* 000000B8H.4 DATA     BIT       EUSB
+*SFR* 000000A8H.0 DATA     BIT       EX0
+*SFR* 000000A8H.2 DATA     BIT       EX1
+*SFR* 000000C0H.7 DATA     BIT       EXF2
+*SFR* 000000D0H.1 DATA     BIT       F1
+*SFR* 000000EAH   DATA     BYTE      FMC_ISPADDRH
+*SFR* 000000E9H   DATA     BYTE      FMC_ISPADDRL
+*SFR* 000000ECH   DATA     BYTE      FMC_ISPCMD
+*SFR* 000000E8H   DATA     BYTE      FMC_ISPCTL
+*SFR* 000000EBH   DATA     BYTE      FMC_ISPDATA
+*SFR* 000000EDH   DATA     BYTE      FMC_ISPTRG
+*DEL*:00000000H   CODE     ---       GPIO_DisableRst
+*DEL*:00000000H   CODE     ---       GPIO_EnableRst
+      01000003H   CONST    ---       GpioInOutCfg
+      02000000H   XDATA    ---       gRfConfig
+*SFR* 000000DCH   DATA     BYTE      I2C2CON
+*SFR* 000000DAH   DATA     BYTE      I2C2DAT
+*SFR* 000000DDH   DATA     BYTE      I2C2STA
+*SFR* 000000A8H   DATA     BYTE      IE
+*SFR* 00000088H.1 DATA     BIT       IE0
+*SFR* 000000B8H   DATA     BYTE      IE1
+*SFR* 000000A8H   DATA     BYTE      IEN0
+*SFR* 000000B8H   DATA     BYTE      IEN1
+*SFR* 000000A9H   DATA     BYTE      IP0
+*SFR* 000000B9H   DATA     BYTE      IP1
+*SFR* 000000C0H   DATA     BYTE      IRCON
+*SFR* 00000088H.0 DATA     BIT       IT0
+*SFR* 00000088H.2 DATA     BIT       IT1
+      0100129DH   CODE     ---       key_scan
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 12
+
+
+      01000BA7H   CODE     ---       main
+*SFR* 00000090H   DATA     BYTE      P1
+*SFR* 00000090H.0 DATA     BIT       P1_0
+*SFR* 00000090H.1 DATA     BIT       P1_1
+*SFR* 00000090H.2 DATA     BIT       P1_2
+*SFR* 00000090H.3 DATA     BIT       P1_3
+*SFR* 00000090H.4 DATA     BIT       P1_4
+*SFR* 00000090H.5 DATA     BIT       P1_5
+*SFR* 00000090H.6 DATA     BIT       P1_6
+*SFR* 00000090H.7 DATA     BIT       P1_7
+*SFR* 000000A0H   DATA     BYTE      P2
+*SFR* 000000B0H   DATA     BYTE      P3
+*SFR* 000000B0H.0 DATA     BIT       P3_0
+*SFR* 000000B0H.1 DATA     BIT       P3_1
+*SFR* 000000B0H.2 DATA     BIT       P3_2
+*SFR* 000000B0H.3 DATA     BIT       P3_3
+*SFR* 000000B0H.4 DATA     BIT       P3_4
+*SFR* 000000B0H.5 DATA     BIT       P3_5
+*SFR* 000000B0H.6 DATA     BIT       P3_6
+*SFR* 000000B0H.7 DATA     BIT       P3_7
+*SFR* 00000087H   DATA     BYTE      PCON
+*SFR* 000000D0H   DATA     BYTE      PSW
+      01000832H   CODE     ---       RAND
+*SFR* 000000FDH   DATA     BYTE      RCC_DAT
+*DEL*:00000000H   CODE     ---       RCC_LITE_SysClkInit
+*DEL*:00000000H   CODE     ---       RCC_PumpUp
+*DEL*:00000000H   CODE     ---       RCC_RchCaliAuto
+      01001190H   CODE     ---       RCC_RchCaliChk
+*DEL*:00000000H   CODE     ---       RCC_RchCaliDisable
+*SFR* 000000FCH   DATA     BYTE      RCC_SEL
+      01001139H   CODE     ---       RCC_SysClkInit
+*DEL*:00000000H   CODE     ---       RCC_XTALTurnOnNoneBlock
+      0100171BH   CODE     ---       RF_Carrier
+      01001715H   CODE     ---       RF_CE_Disable
+      01000FF8H   CODE     ---       RF_CE_Enable
+      01000F97H   CODE     ---       RF_ClearIRQFlags
+      01000F42H   CODE     ---       RF_Deinit
+*DEL*:00000000H   CODE     ---       RF_DisableIRQ
+*DEL*:00000000H   CODE     ---       RF_DisableRxPipes
+      01000068H   CODE     ---       RF_EnableIRQ
+      01000F7AH   CODE     ---       RF_EnterRxMode
+      01000F36H   CODE     ---       RF_EnterTxMode
+*DEL*:00000000H   CODE     ---       RF_ExitRxMode
+*DEL*:00000000H   CODE     ---       RF_ExitTxMode
+      01000F90H   CODE     ---       RF_FlushRxFifo
+      01000F1EH   CODE     ---       RF_FlushTxFifo
+*DEL*:00000000H   CODE     ---       RF_GetAvailableRxPipeIndex
+      010016C8H   CODE     ---       RF_GetIRQFlags
+      010011BAH   CODE     ---       RF_Init
+      010012DBH   CODE     ---       RF_InterruptHandler
+*DEL*:00000000H   CODE     ---       RF_IsTxFifoFull
+*DEL*:00000000H   CODE     ---       RF_ReadPayloadLen
+*DEL*:00000000H   CODE     ---       RF_RxFifoIsEmpty
+*DEL*:00000000H   CODE     ---       RF_RxFifoIsFull
+*DEL*:00000000H   CODE     ---       RF_RxWindowClose
+*DEL*:00000000H   CODE     ---       RF_RxWindowStartOnce
+      0000000CH   DATA     BYTE      rf_status
+*DEL*:00000000H   CODE     ---       RF_TxFifoIsEmpty
+*DEL*:00000000H   CODE     ---       RF_TxFifoIsFull
+*SFR* 00000099H   DATA     BYTE      S0BUF
+*SFR* 00000098H   DATA     BYTE      S0CON
+*SFR* 00000098H.0 DATA     BIT       S0CON_RI0
+*SFR* 00000098H.1 DATA     BIT       S0CON_TI0
+*SFR* 000000BAH   DATA     BYTE      S0RELH
+*SFR* 000000AAH   DATA     BYTE      S0RELL
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 13
+
+
+*SFR* 00000081H   DATA     BYTE      SP
+*SFR* 000000E2H   DATA     BYTE      SPCON
+*SFR* 000000E5H   DATA     BYTE      SPCON1
+*SFR* 000000E3H   DATA     BYTE      SPDAT
+*SFR* 000000E4H   DATA     BYTE      SPSSN
+*SFR* 000000E1H   DATA     BYTE      SPSTA
+*SFR* 000000F7H   DATA     BYTE      SRST
+*SFR* 000000F9H   DATA     BYTE      SYS_DAT
+*SFR* 000000F8H   DATA     BYTE      SYS_SEL
+*SFR* 000000C8H   DATA     BYTE      T2CON
+*SFR* 000000ABH   DATA     BYTE      TCAPCON
+*SFR* 000000ACH   DATA     BYTE      TCAPSTA
+*SFR* 00000088H   DATA     BYTE      TCON
+*SFR* 00000088H.5 DATA     BIT       TF0
+*SFR* 00000088H.7 DATA     BIT       TF1
+*SFR* 000000C0H.6 DATA     BIT       TF2
+*SFR* 0000008CH   DATA     BYTE      TH0
+*SFR* 0000008DH   DATA     BYTE      TH1
+*SFR* 000000CDH   DATA     BYTE      TH2
+*SFR* 0000008CH   DATA     WORD      TIME0_CNT
+      010016E9H   CODE     ---       TIMER2_InterruptHandler
+      02000097H   XDATA    WORD      Timer2IntCnt
+*SFR* 0000008AH   DATA     BYTE      TL0
+*SFR* 0000008BH   DATA     BYTE      TL1
+*SFR* 000000CCH   DATA     BYTE      TL2
+*SFR* 00000089H   DATA     BYTE      TMOD
+*SFR* 00000088H.4 DATA     BIT       TR0
+*SFR* 00000088H.6 DATA     BIT       TR1
+*DEL*:00000000H   CODE     ---       UART_DisableIRQ
+*DEL*:00000000H   CODE     ---       UART_EnableIRQ
+*SFR* 0000008FH   DATA     BYTE      WDT_DIV
+*SFR* 00000086H   DATA     BYTE      WDTREL
+
+
+
+LINKER CODE PACKING SYMBOLS OF MODULE:  .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+
+      VALUE       CLASS    TYPE      SYMBOL NAME
+      ==========================================
+      0100000BH   CODE     PART      ?L?COM0001
+      0100180AH   CODE     PART      ?L?COM0002
+      01001515H   CODE     PART      ?L?COM0003
+      01001102H   CODE     PART      ?L?COM0004
+      010010E8H   CODE     PART      ?L?COM0005
+      010010E8H   CODE     END       ?L?COM0006
+      01000EF1H   CODE     PART      ?L?COM0007
+      010014F4H   CODE     PART      ?L?COM0008
+      01000FBCH   CODE     PART      ?L?COM0009
+      01000FBCH   CODE     END       ?L?COM000A
+      01000FBCH   CODE     END       ?L?COM000B
+      01001903H   CODE     PART      ?L?COM000C
+      01000F25H   CODE     PART      ?L?COM000D
+      01000F25H   CODE     END       ?L?COM000E
+      01000F25H   CODE     END       ?L?COM000F
+      0100157BH   CODE     PART      ?L?COM0010
+      01001AE6H   CODE     PART      ?L?COM0011
+      01000DB2H   CODE     BEGIN     ?L?COM0012
+      01000DB2H   CODE     END       ?L?COM0013
+      01001111H   CODE     PART      ?L?COM0014
+      01000012H   CODE     PART      ?L?COM0015
+      010018FAH   CODE     PART      ?L?COM0016
+      01000F80H   CODE     PART      ?L?COM0017
+      010010F9H   CODE     PART      ?L?COM0018
+      01001399H   CODE     BEGIN     ?L?COM0019
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 14
+
+
+      010014E4H   CODE     PART      ?L?COM001A
+      01000F3AH   CODE     PART      ?L?COM001B
+      01000F3AH   CODE     END       ?L?COM001C
+      01001464H   CODE     PART      ?L?COM001D
+      01001464H   CODE     END       ?L?COM001E
+      0100125CH   CODE     PART      ?L?COM001F
+      01001AF0H   CODE     PART      ?L?COM0020
+      010010F2H   CODE     PART      ?L?COM0021
+      01001A0EH   CODE     PART      ?L?COM0022
+      010011B2H   CODE     PART      ?L?COM0023
+      010016D0H   CODE     PART      ?L?COM0024
+      01001AFDH   CODE     PART      ?L?COM0025
+      01000FA7H   CODE     PART      ?L?COM0026
+      01000FB1H   CODE     PART      ?L?COM0027
+      01000F42H   CODE     PART      ?L?COM0028
+      01000F73H   CODE     PART      ?L?COM0029
+      010011ABH   CODE     PART      ?L?COM002A
+      01000F31H   CODE     BEGIN     ?L?COM002B
+      010016E0H   CODE     PART      ?L?COM002C
+      010012D3H   CODE     PART      ?L?COM002D
+      010014D6H   CODE     PART      ?L?COM002E
+      010014DCH   CODE     PART      ?L?COM002F
+      010016D8H   CODE     PART      ?L?COM0030
+      01001A06H   CODE     PART      ?L?COM0031
+      0100145CH   CODE     PART      ?L?COM0032
+      01000061H   CODE     PART      ?L?COM0033
+      01000F4CH   CODE     PART      ?L?COM0034
+      01000F9FH   CODE     PART      ?L?COM0035
+
+
+
+SYMBOL TABLE OF MODULE:  .\Objects\PAN262x_FCC_TEST-Release (?C_STARTUP)
+
+      VALUE       REP       CLASS    TYPE      SYMBOL NAME
+      ====================================================
+      ---         MODULE    ---      ---       ?C_STARTUP
+      01000000H   PUBLIC    CODE     ---       ?C_STARTUP
+      000000E0H   SYMBOL    DATA     ---       ACC
+      000000F0H   SYMBOL    DATA     ---       B
+      00000083H   SYMBOL    DATA     ---       DPH
+      00000082H   SYMBOL    DATA     ---       DPL
+      00000000H   SYMBOL    NUMBER   ---       IBPSTACK
+      00000100H   SYMBOL    NUMBER   ---       IBPSTACKTOP
+      00000080H   SYMBOL    NUMBER   ---       IDATALEN
+      010007A9H   SYMBOL    CODE     ---       IDATALOOP
+      00000000H   SYMBOL    NUMBER   ---       PBPSTACK
+      00000100H   SYMBOL    NUMBER   ---       PBPSTACKTOP
+      00000000H   SYMBOL    NUMBER   ---       PDATALEN
+      00000000H   SYMBOL    NUMBER   ---       PDATASTART
+      00000000H   SYMBOL    NUMBER   ---       PPAGE
+      00000000H   SYMBOL    NUMBER   ---       PPAGEENABLE
+      000000A0H   SYMBOL    DATA     ---       PPAGE_SFR
+      00000081H   SYMBOL    DATA     ---       SP
+      010007A6H   SYMBOL    CODE     ---       STARTUP1
+      00000000H   SYMBOL    NUMBER   ---       XBPSTACK
+      00000000H   SYMBOL    NUMBER   ---       XBPSTACKTOP
+      00000000H   SYMBOL    NUMBER   ---       XDATALEN
+      00000000H   SYMBOL    NUMBER   ---       XDATASTART
+      01000000H   LINE      CODE     ---       #126
+      010007A6H   LINE      CODE     ---       #133
+      010007A8H   LINE      CODE     ---       #134
+      010007A9H   LINE      CODE     ---       #135
+      010007AAH   LINE      CODE     ---       #136
+      010007ACH   LINE      CODE     ---       #185
+      010007AFH   LINE      CODE     ---       #196
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 15
+
+
+
+      ---         MODULE    ---      ---       GPIO
+      01000003H   PUBLIC    CONST    ---       GpioInOutCfg
+      0000002AH   PUBLIC    DATA     BYTE      ?_GPIO_Init?BYTE
+      010008E1H   PUBLIC    CODE     ---       _GPIO_Init
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 16
+
+
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+
+      010008E1H   BLOCK     CODE     ---       LVL=0
+      010008E1H   LINE      ---      ---       #68
+      010008E1H   LINE      ---      ---       #69
+      00000007H   SYMBOL    DATA     BYTE      Port
+      00000005H   SYMBOL    DATA     BYTE      Mux
+      00000003H   SYMBOL    DATA     BYTE      Mode
+      0000002DH   SYMBOL    DATA     BYTE      Pull
+      010008E1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010008E1H   LINE      ---      ---       #71
+      010008E5H   LINE      ---      ---       #73
+      010008ECH   LINE      ---      ---       #74
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 17
+
+
+      010008ECH   LINE      ---      ---       #75
+      010008EFH   LINE      ---      ---       #76
+      010008F1H   LINE      ---      ---       #77
+      010008F8H   LINE      ---      ---       #78
+      010008F8H   LINE      ---      ---       #79
+      010008FBH   LINE      ---      ---       #80
+      010008FBH   LINE      ---      ---       #82
+      010008FBH   LINE      ---      ---       #84
+      010008FBH   LINE      ---      ---       #87
+      01000925H   LINE      ---      ---       #88
+      0100094BH   LINE      ---      ---       #89
+      01000974H   LINE      ---      ---       #92
+      01000979H   LINE      ---      ---       #93
+      01000979H   LINE      ---      ---       #94
+      01000988H   LINE      ---      ---       #95
+      0100098FH   LINE      ---      ---       #96
+      01000991H   LINE      ---      ---       #98
+      01000991H   LINE      ---      ---       #99
+      010009B4H   LINE      ---      ---       #100
+      010009D9H   LINE      ---      ---       #101
+      010009D9H   LINE      ---      ---       #104
+      01000A0BH   LINE      ---      ---       #105
+      01000A3FH   LINE      ---      ---       #108
+      01000A6DH   LINE      ---      ---       #109
+      01000A9DH   LINE      ---      ---       #110
+      0000002EH   SYMBOL    DATA     ---       Offset
+      00000006H   SYMBOL    DATA     BYTE      BitId
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+      00000005H   SYMBOL    DATA     BYTE      Trigger
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+      00000005H   SYMBOL    DATA     BYTE      DbcTicks
+      00000007H   SYMBOL    DATA     BYTE      GPIO_INTx
+
+      ---         MODULE    ---      ---       UART
+      0100001CH   PUBLIC    CODE     ---       _putchar
+      0000002AH   PUBLIC    DATA     BYTE      ?_UART_Init?BYTE
+      01000A9EH   PUBLIC    CODE     ---       _UART_Init
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 18
+
+
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 19
+
+
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+
+      01000A9EH   BLOCK     CODE     ---       LVL=0
+      01000A9EH   LINE      ---      ---       #50
+      01000A9EH   LINE      ---      ---       #51
+      01000A9EH   LINE      ---      ---       #52
+      01000AA3H   LINE      ---      ---       #53
+      01000AD1H   LINE      ---      ---       #54
+      01000AD1H   LINE      ---      ---       #55
+      01000AD1H   LINE      ---      ---       #56
+      01000AD4H   LINE      ---      ---       #57
+      01000AD7H   LINE      ---      ---       #58
+      01000ADAH   LINE      ---      ---       #59
+      01000ADDH   LINE      ---      ---       #60
+      01000ADEH   LINE      ---      ---       #61
+      01000ADEH   LINE      ---      ---       #62
+      01000AE1H   LINE      ---      ---       #65
+      01000AE4H   LINE      ---      ---       #66
+      01000AE5H   LINE      ---      ---       #67
+      01000AE5H   LINE      ---      ---       #68
+      01000AE8H   LINE      ---      ---       #71
+      01000AEBH   LINE      ---      ---       #72
+      01000AECH   LINE      ---      ---       #73
+      01000AECH   LINE      ---      ---       #74
+      01000AEFH   LINE      ---      ---       #77
+      01000AF2H   LINE      ---      ---       #78
+      01000AF3H   LINE      ---      ---       #79
+      01000AF3H   LINE      ---      ---       #80
+      01000AF6H   LINE      ---      ---       #81
+      01000AF9H   LINE      ---      ---       #82
+      01000AFCH   LINE      ---      ---       #83
+      01000AFCH   LINE      ---      ---       #84
+      01000AFCH   LINE      ---      ---       #85
+      01000AFCH   LINE      ---      ---       #86
+      01000AFEH   LINE      ---      ---       #87
+      01000AFEH   LINE      ---      ---       #88
+      01000B01H   LINE      ---      ---       #91
+      01000B04H   LINE      ---      ---       #92
+      01000B05H   LINE      ---      ---       #93
+      01000B05H   LINE      ---      ---       #94
+      01000B08H   LINE      ---      ---       #97
+      01000B0BH   LINE      ---      ---       #98
+      01000B0CH   LINE      ---      ---       #99
+      01000B0CH   LINE      ---      ---       #100
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 20
+
+
+      01000B0FH   LINE      ---      ---       #101
+      01000B12H   LINE      ---      ---       #102
+      01000B15H   LINE      ---      ---       #103
+      01000B18H   LINE      ---      ---       #104
+      01000B1BH   LINE      ---      ---       #105
+      01000B1EH   LINE      ---      ---       #106
+      01000B1EH   LINE      ---      ---       #107
+      01000B1EH   LINE      ---      ---       #108
+      01000B1EH   LINE      ---      ---       #109
+      01000B1EH   LINE      ---      ---       #110
+      00000007H   SYMBOL    DATA     BYTE      DataBits
+      00000005H   SYMBOL    DATA     BYTE      RxIRQEn
+      00000003H   SYMBOL    DATA     BYTE      Parity
+      0000002DH   SYMBOL    DATA     BYTE      BaudRate
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Byte
+      00000006H   SYMBOL    DATA     CHAR      c
+      00000004H   SYMBOL    DATA     INT       len
+      00000007H   SYMBOL    DATA     BYTE      num
+      00000006H   SYMBOL    DATA     CHAR      check
+      00000007H   SYMBOL    DATA     BYTE      num
+      00000006H   SYMBOL    DATA     CHAR      check
+
+      0100001CH   BLOCK     CODE     ---       LVL=0
+      0100001CH   LINE      ---      ---       #237
+      0100001CH   LINE      ---      ---       #238
+      0100001CH   LINE      ---      ---       #239
+      0100001EH   LINE      ---      ---       #240
+      01000021H   LINE      ---      ---       #241
+      01000023H   LINE      ---      ---       #242
+      01000023H   LINE      ---      ---       #243
+      00000007H   SYMBOL    DATA     CHAR      c
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      ---         MODULE    ---      ---       TIMER
+      01000D9EH   PUBLIC    CODE     ---       _TIM_EnableIRQ
+      0100002EH   PUBLIC    CODE     ---       _TIM_Cmd
+      0000002AH   PUBLIC    DATA     BYTE      ?_TIM_TimeBaseInit?BYTE
+      01000B1FH   PUBLIC    CODE     ---       _TIM_TimeBaseInit
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 21
+
+
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 22
+
+
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+
+      01000B1FH   BLOCK     CODE     ---       LVL=0
+      01000B1FH   LINE      ---      ---       #84
+      01000B22H   LINE      ---      ---       #85
+      01000B22H   LINE      ---      ---       #89
+      01000B25H   LINE      ---      ---       #90
+      01000B25H   LINE      ---      ---       #92
+      01000B27H   LINE      ---      ---       #95
+      01000B2AH   LINE      ---      ---       #96
+      01000B2AH   LINE      ---      ---       #97
+      01000B2EH   LINE      ---      ---       #98
+      01000B31H   LINE      ---      ---       #99
+      01000B33H   LINE      ---      ---       #101
+      01000B33H   LINE      ---      ---       #102
+      01000B3BH   LINE      ---      ---       #103
+      01000B3BH   LINE      ---      ---       #106
+      01000B3EH   LINE      ---      ---       #109
+      01000B45H   LINE      ---      ---       #110
+      01000B46H   LINE      ---      ---       #111
+      01000B4BH   LINE      ---      ---       #112
+      01000B4BH   LINE      ---      ---       #114
+      01000B4DH   LINE      ---      ---       #117
+      01000B50H   LINE      ---      ---       #118
+      01000B50H   LINE      ---      ---       #119
+      01000B54H   LINE      ---      ---       #120
+      01000B57H   LINE      ---      ---       #121
+      01000B59H   LINE      ---      ---       #123
+      01000B59H   LINE      ---      ---       #124
+      01000B61H   LINE      ---      ---       #125
+      01000B61H   LINE      ---      ---       #128
+      01000B64H   LINE      ---      ---       #131
+      01000B70H   LINE      ---      ---       #132
+      01000B71H   LINE      ---      ---       #133
+      01000B76H   LINE      ---      ---       #134
+      01000B76H   LINE      ---      ---       #136
+      01000B79H   LINE      ---      ---       #139
+      01000B84H   LINE      ---      ---       #142
+      01000B88H   LINE      ---      ---       #145
+      01000B97H   LINE      ---      ---       #147
+      01000B9AH   LINE      ---      ---       #148
+      01000B9AH   LINE      ---      ---       #150
+      01000BA2H   LINE      ---      ---       #151
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 23
+
+
+      01000BA3H   LINE      ---      ---       #153
+      01000BA3H   LINE      ---      ---       #155
+      01000BA6H   LINE      ---      ---       #156
+      01000BA6H   LINE      ---      ---       #157
+      01000BA6H   LINE      ---      ---       #158
+      00000004H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      TIM_Mode
+      00000003H   SYMBOL    DATA     BYTE      TIM_Clk
+      0000002DH   SYMBOL    DATA     WORD      InitCnt
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      Channel
+      00000003H   SYMBOL    DATA     BYTE      CmpMode
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      Channel
+      00000003H   SYMBOL    DATA     BYTE      CapMode
+
+      0100002EH   BLOCK     CODE     ---       LVL=0
+      0100002EH   LINE      ---      ---       #411
+      0100002EH   LINE      ---      ---       #412
+      0100002EH   LINE      ---      ---       #417
+      01000039H   LINE      ---      ---       #418
+      01000039H   LINE      ---      ---       #419
+      01000039H   LINE      ---      ---       #420
+      01000039H   LINE      ---      ---       #421
+      0100003CH   LINE      ---      ---       #422
+      0100003CH   LINE      ---      ---       #423
+      0100003EH   LINE      ---      ---       #424
+      0100003FH   LINE      ---      ---       #426
+      0100003FH   LINE      ---      ---       #427
+      01000041H   LINE      ---      ---       #428
+      01000041H   LINE      ---      ---       #429
+      01000042H   LINE      ---      ---       #430
+      01000042H   LINE      ---      ---       #431
+      01000042H   LINE      ---      ---       #432
+      01000042H   LINE      ---      ---       #433
+      01000045H   LINE      ---      ---       #434
+      01000045H   LINE      ---      ---       #435
+      01000047H   LINE      ---      ---       #436
+      01000048H   LINE      ---      ---       #438
+      01000048H   LINE      ---      ---       #439
+      0100004AH   LINE      ---      ---       #440
+      0100004AH   LINE      ---      ---       #441
+      0100004BH   LINE      ---      ---       #442
+      0100004BH   LINE      ---      ---       #443
+      0100004BH   LINE      ---      ---       #444
+      0100004BH   LINE      ---      ---       #445
+      0100004EH   LINE      ---      ---       #446
+      0100004EH   LINE      ---      ---       #448
+      01000054H   LINE      ---      ---       #449
+      01000054H   LINE      ---      ---       #450
+      0100005CH   LINE      ---      ---       #451
+      0100005CH   LINE      ---      ---       #452
+      0100005DH   LINE      ---      ---       #454
+      0100005DH   LINE      ---      ---       #456
+      01000060H   LINE      ---      ---       #457
+      01000060H   LINE      ---      ---       #458
+      01000060H   LINE      ---      ---       #459
+      01000060H   LINE      ---      ---       #460
+      01000060H   LINE      ---      ---       #461
+      01000060H   LINE      ---      ---       #462
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 24
+
+
+      01000060H   LINE      ---      ---       #463
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000D9EH   BLOCK     CODE     ---       LVL=0
+      01000D9EH   LINE      ---      ---       #470
+      01000D9EH   LINE      ---      ---       #471
+      01000D9EH   LINE      ---      ---       #475
+      01000DA9H   LINE      ---      ---       #476
+      01000DA9H   LINE      ---      ---       #477
+      01000DA9H   LINE      ---      ---       #478
+      01000DA9H   LINE      ---      ---       #479
+      01000DABH   LINE      ---      ---       #480
+      01000DACH   LINE      ---      ---       #481
+      01000DACH   LINE      ---      ---       #482
+      01000DACH   LINE      ---      ---       #483
+      01000DACH   LINE      ---      ---       #484
+      01000DAEH   LINE      ---      ---       #485
+      01000DAFH   LINE      ---      ---       #486
+      01000DAFH   LINE      ---      ---       #487
+      01000DAFH   LINE      ---      ---       #488
+      01000DAFH   LINE      ---      ---       #489
+      01000DB1H   LINE      ---      ---       #490
+      01000DB1H   LINE      ---      ---       #491
+      01000DB1H   LINE      ---      ---       #492
+      01000DB1H   LINE      ---      ---       #493
+      01000DB1H   LINE      ---      ---       #494
+      01000DB1H   LINE      ---      ---       #495
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      TIMERx
+
+      ---         MODULE    ---      ---       RCC
+      01001139H   PUBLIC    CODE     ---       RCC_SysClkInit
+      01001190H   PUBLIC    CODE     ---       RCC_RchCaliChk
+      01001263H   PUBLIC    CODE     ---       _RCC_RchCali
+      01001127H   PUBLIC    CODE     ---       _RCC_Source
+      01000FFAH   PUBLIC    CODE     ---       _RCC_Ctrl
+      01000ECEH   PUBLIC    CODE     ---       _RCC_PeriphClockCmd
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 25
+
+
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 26
+
+
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      00000006H   SYMBOL    DATA     WORD      RCC_Periph
+
+      01000ECEH   BLOCK     CODE     ---       LVL=0
+      01000ECEH   LINE      ---      ---       #86
+      01000ECEH   LINE      ---      ---       #87
+      01000ECEH   LINE      ---      ---       #88
+      01000ED4H   LINE      ---      ---       #89
+      01000ED4H   LINE      ---      ---       #90
+      01000ED7H   LINE      ---      ---       #92
+      01000EDAH   LINE      ---      ---       #93
+      01000EDAH   LINE      ---      ---       #94
+      01000EDAH   LINE      ---      ---       #95
+      01000EDCH   LINE      ---      ---       #102
+      01000EDCH   LINE      ---      ---       #103
+      01000EDFH   LINE      ---      ---       #105
+      01000EE2H   LINE      ---      ---       #106
+      01000EE2H   LINE      ---      ---       #107
+      01000EE8H   LINE      ---      ---       #108
+      01000EE9H   LINE      ---      ---       #110
+      01000EE9H   LINE      ---      ---       #111
+      01000EF0H   LINE      ---      ---       #112
+      01000EF0H   LINE      ---      ---       #113
+      01000EF0H   LINE      ---      ---       #114
+      00000006H   SYMBOL    DATA     WORD      RCC_Periph
+      00000005H   SYMBOL    DATA     BYTE      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FFAH   BLOCK     CODE     ---       LVL=0
+      01000FFAH   LINE      ---      ---       #128
+      01000FFCH   LINE      ---      ---       #129
+      00000007H   SYMBOL    DATA     BYTE      sel
+      0000002BH   SYMBOL    DATA     BYTE      NewState
+      01000FFCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FFCH   LINE      ---      ---       #130
+      01000FFFH   LINE      ---      ---       #132
+      01001002H   LINE      ---      ---       #134
+      01001014H   LINE      ---      ---       #135
+      01001014H   LINE      ---      ---       #136
+      01001014H   LINE      ---      ---       #137
+      01001018H   LINE      ---      ---       #138
+      01001018H   LINE      ---      ---       #139
+      0100101FH   LINE      ---      ---       #141
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 27
+
+
+      01001022H   LINE      ---      ---       #142
+      01001029H   LINE      ---      ---       #143
+      01001029H   LINE      ---      ---       #144
+      01001033H   LINE      ---      ---       #145
+      01001033H   LINE      ---      ---       #146
+      01001035H   LINE      ---      ---       #147
+      01001035H   LINE      ---      ---       #148
+      01001037H   LINE      ---      ---       #149
+      01001037H   LINE      ---      ---       #151
+      01001037H   LINE      ---      ---       #152
+      0100103AH   LINE      ---      ---       #153
+      01001045H   LINE      ---      ---       #154
+      01001045H   LINE      ---      ---       #155
+      01001045H   LINE      ---      ---       #157
+      01001045H   LINE      ---      ---       #158
+      01001049H   LINE      ---      ---       #159
+      01001049H   LINE      ---      ---       #160
+      0100104CH   LINE      ---      ---       #161
+      01001057H   LINE      ---      ---       #162
+      01001057H   LINE      ---      ---       #164
+      01001057H   LINE      ---      ---       #165
+      0100105AH   LINE      ---      ---       #166
+      01001065H   LINE      ---      ---       #167
+      01001065H   LINE      ---      ---       #168
+      01001065H   LINE      ---      ---       #170
+      01001065H   LINE      ---      ---       #171
+      01001069H   LINE      ---      ---       #172
+      00000082H   SYMBOL    DATA     WORD      count
+      01001069H   BLOCK     CODE     NEAR LAB  LVL=2
+      01001069H   LINE      ---      ---       #175
+      0100106EH   LINE      ---      ---       #176
+      0100106EH   LINE      ---      ---       #178
+      0100106EH   LINE      ---      ---       #180
+      01001074H   LINE      ---      ---       #182
+      01001079H   LINE      ---      ---       #183
+      01001079H   LINE      ---      ---       #184
+      01001080H   LINE      ---      ---       #188
+      01001089H   LINE      ---      ---       #189
+      01001089H   LINE      ---      ---       #190
+      01001093H   LINE      ---      ---       #191
+      01001093H   LINE      ---      ---       #192
+      01001095H   LINE      ---      ---       #193
+      01001095H   LINE      ---      ---       #194
+      01001097H   LINE      ---      ---       #195
+      0100109DH   LINE      ---      ---       #196
+      0100109DH   LINE      ---      ---       #198
+      010010A2H   LINE      ---      ---       #204
+      010010ABH   LINE      ---      ---       #205
+      010010ABH   LINE      ---      ---       #206
+      010010B5H   LINE      ---      ---       #207
+      010010B5H   LINE      ---      ---       #208
+      010010B7H   LINE      ---      ---       #209
+      010010B7H   LINE      ---      ---       #210
+      010010B9H   LINE      ---      ---       #212
+      010010BCH   LINE      ---      ---       #214
+      0000002CH   SYMBOL    DATA     BYTE      Temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      010010BEH   LINE      ---      ---       #216
+      010010BEH   LINE      ---      ---       #217
+      010010C1H   LINE      ---      ---       #218
+      010010C1H   LINE      ---      ---       #219
+      010010C2H   LINE      ---      ---       #221
+      010010C2H   LINE      ---      ---       #222
+      010010C6H   LINE      ---      ---       #223
+      010010C6H   LINE      ---      ---       #224
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 28
+
+
+      010010CBH   LINE      ---      ---       #225
+      010010CBH   LINE      ---      ---       #227
+      010010CBH   LINE      ---      ---       #229
+      010010CEH   LINE      ---      ---       #230
+      010010D1H   LINE      ---      ---       #231
+      010010D6H   LINE      ---      ---       #232
+      010010D6H   LINE      ---      ---       #233
+      010010E0H   LINE      ---      ---       #234
+      010010E0H   LINE      ---      ---       #235
+      010010E2H   LINE      ---      ---       #236
+      010010E2H   LINE      ---      ---       #237
+      010010E4H   LINE      ---      ---       #238
+      010010E4H   LINE      ---      ---       #240
+      010010E4H   LINE      ---      ---       #241
+      010010E7H   LINE      ---      ---       #242
+      010010E7H   LINE      ---      ---       #243
+      010010E7H   LINE      ---      ---       #244
+      010010E7H   LINE      ---      ---       #245
+      010010E7H   LINE      CODE     ---       #245
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      ClockSource
+      00000006H   SYMBOL    DATA     CHAR      ReadyFlag
+      00000007H   SYMBOL    DATA     BYTE      NewState
+
+      01001127H   BLOCK     CODE     ---       LVL=0
+      01001127H   LINE      ---      ---       #335
+      01001127H   LINE      ---      ---       #336
+      01001127H   LINE      ---      ---       #337
+      0100112AH   LINE      ---      ---       #338
+      01001138H   LINE      ---      ---       #339
+      00000007H   SYMBOL    DATA     BYTE      sel
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Division
+
+      01001263H   BLOCK     CODE     ---       LVL=0
+      01001263H   LINE      ---      ---       #361
+      01001263H   LINE      ---      ---       #362
+      00000007H   SYMBOL    DATA     BYTE      rch_cap_trim
+      00000005H   SYMBOL    DATA     BYTE      rch_cal_code_cfg
+      01001263H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001263H   LINE      ---      ---       #363
+      01001265H   LINE      ---      ---       #364
+      01001267H   LINE      ---      ---       #366
+      0100126AH   LINE      ---      ---       #367
+      01001271H   LINE      ---      ---       #369
+      01001274H   LINE      ---      ---       #370
+      0100127BH   LINE      ---      ---       #371
+      0000002BH   SYMBOL    DATA     BYTE      trim
+      0000002CH   SYMBOL    DATA     BYTE      cal
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      VoltLevel
+      00000007H   SYMBOL    DATA     BYTE      Level
+      00000007H   SYMBOL    DATA     BYTE      NewState
+      00000007H   SYMBOL    DATA     BYTE      cali_per
+      00000005H   SYMBOL    DATA     BYTE      cali_h
+      00000006H   SYMBOL    DATA     BYTE      reg_rcc
+      00000007H   SYMBOL    DATA     BYTE      source
+      00000005H   SYMBOL    DATA     BYTE      sel
+
+      01001190H   BLOCK     CODE     ---       LVL=0
+      01001190H   LINE      ---      ---       #540
+      01001190H   LINE      ---      ---       #541
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 29
+
+
+      01001190H   LINE      ---      ---       #542
+      010011A4H   LINE      ---      ---       #543
+      010011A4H   LINE      ---      ---       #544
+      010011AAH   LINE      ---      ---       #545
+      010011AAH   LINE      ---      ---       #546
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001139H   BLOCK     CODE     ---       LVL=0
+      01001139H   LINE      ---      ---       #552
+      01001139H   LINE      ---      ---       #553
+      01001139H   LINE      ---      ---       #554
+      0100113FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0000002AH   SYMBOL    DATA     BYTE      Temp
+      ---         BLOCKEND  CODE     ---       LVL=1
+      01001163H   LINE      ---      ---       #555
+      01001165H   LINE      ---      ---       #556
+      01001169H   LINE      ---      ---       #557
+      01001170H   LINE      ---      ---       #558
+      01001177H   LINE      ---      ---       #559
+      0100117FH   LINE      ---      ---       #560
+      0100117FH   LINE      ---      ---       #561
+      01001183H   LINE      ---      ---       #562
+      01001183H   LINE      ---      ---       #563
+      0100118BH   LINE      ---      ---       #564
+      0100118BH   LINE      ---      ---       #565
+      0100118FH   LINE      ---      ---       #566
+      0100118FH   LINE      ---      ---       #567
+      0100118FH   LINE      CODE     ---       #567
+
+      ---         MODULE    ---      ---       LOG
+
+      ---         MODULE    ---      ---       MAIN
+      02000097H   PUBLIC    XDATA    WORD      Timer2IntCnt
+      02000000H   PUBLIC    XDATA    ---       gRfConfig
+      0000000CH   PUBLIC    DATA     BYTE      rf_status
+      010016E9H   PUBLIC    CODE     ---       TIMER2_InterruptHandler
+      010012DBH   PUBLIC    CODE     ---       RF_InterruptHandler
+      01000BA7H   PUBLIC    CODE     ---       main
+      0100129DH   PUBLIC    CODE     ---       key_scan
+      0100127CH   PUBLIC    CODE     ---       _DelayMs
+      01000DBAH   PUBLIC    CODE     ---       _APP_RfInit
+      01000F53H   PUBLIC    CODE     ---       APP_Timer2Init
+      01000EF8H   PUBLIC    CODE     ---       APP_UartInit
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 30
+
+
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 31
+
+
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      0000000DH   SYMBOL    DATA     BYTE      key_flag
+
+      01000EF8H   BLOCK     CODE     ---       LVL=0
+      01000EF8H   LINE      ---      ---       #105
+      01000EF8H   LINE      ---      ---       #106
+      01000EF8H   LINE      ---      ---       #107
+      01000F08H   LINE      ---      ---       #112
+      01000F13H   LINE      ---      ---       #113
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F53H   BLOCK     CODE     ---       LVL=0
+      01000F53H   LINE      ---      ---       #116
+      01000F53H   LINE      ---      ---       #117
+      01000F53H   LINE      ---      ---       #118
+      01000F5BH   LINE      ---      ---       #120
+      01000F68H   LINE      ---      ---       #121
+      01000F6CH   LINE      ---      ---       #122
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000DB2H   BLOCK     CODE     ---       LVL=0
+      01000DBAH   LINE      ---      ---       #125
+      01000DC0H   LINE      ---      ---       #126
+      01000DC0H   LINE      ---      ---       #127
+      01000DC8H   LINE      ---      ---       #129
+      01000DCBH   LINE      ---      ---       #131
+      01000DD0H   LINE      ---      ---       #132
+      01000DDCH   LINE      ---      ---       #133
+      01000DE8H   LINE      ---      ---       #134
+      01000DF3H   LINE      ---      ---       #135
+      01000DFFH   LINE      ---      ---       #136
+      01000E0BH   LINE      ---      ---       #138
+      01000E10H   LINE      ---      ---       #140
+      01000E2AH   LINE      ---      ---       #141
+      01000E47H   LINE      ---      ---       #142
+      01000E4EH   LINE      ---      ---       #144
+      01000E5AH   LINE      ---      ---       #147
+      01000E68H   LINE      ---      ---       #149
+      01000E74H   LINE      ---      ---       #150
+      01000E74H   LINE      ---      ---       #151
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 32
+
+
+      01000E80H   LINE      ---      ---       #152
+      01000E89H   LINE      ---      ---       #153
+      01000E95H   LINE      ---      ---       #154
+      01000EA1H   LINE      ---      ---       #155
+      01000EABH   LINE      ---      ---       #156
+      01000EADH   LINE      ---      ---       #158
+      01000EADH   LINE      ---      ---       #159
+      01000EB5H   LINE      ---      ---       #160
+      01000EBAH   LINE      ---      ---       #161
+      01000EBFH   LINE      ---      ---       #162
+      01000EC4H   LINE      ---      ---       #163
+      01000EC4H   LINE      ---      ---       #165
+      01000ECBH   LINE      ---      ---       #166
+      01000DB2H   SYMBOL    CODE     NEAR LAB  ?L?COM0012
+      0000002AH   SYMBOL    DATA     ---       pCfg
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100127CH   BLOCK     CODE     ---       LVL=0
+      0100127CH   LINE      ---      ---       #168
+      0100127CH   LINE      ---      ---       #169
+      00000006H   SYMBOL    DATA     WORD      Ms
+      0100127CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100127CH   LINE      ---      ---       #172
+      01001286H   LINE      ---      ---       #173
+      01001286H   LINE      ---      ---       #174
+      01001289H   LINE      ---      ---       #175
+      01001289H   LINE      ---      ---       #177
+      0100128AH   LINE      ---      ---       #178
+      01001295H   LINE      ---      ---       #179
+      0100129CH   LINE      ---      ---       #180
+      00000004H   SYMBOL    DATA     WORD      i
+      00000002H   SYMBOL    DATA     WORD      j
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100129DH   BLOCK     CODE     ---       LVL=0
+      0100129DH   LINE      ---      ---       #182
+      0100129DH   LINE      ---      ---       #183
+      0100129DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100129DH   LINE      ---      ---       #185
+      010012A0H   LINE      ---      ---       #186
+      010012A0H   LINE      ---      ---       #187
+      010012A2H   LINE      ---      ---       #188
+      010012A4H   LINE      ---      ---       #190
+      010012A4H   LINE      ---      ---       #191
+      010012A6H   LINE      ---      ---       #192
+      010012A6H   LINE      ---      ---       #194
+      010012A9H   LINE      ---      ---       #195
+      010012A9H   LINE      ---      ---       #196
+      010012ADH   LINE      ---      ---       #197
+      010012ADH   LINE      ---      ---       #198
+      010012B1H   LINE      ---      ---       #200
+      010012B1H   LINE      ---      ---       #201
+      010012B4H   LINE      ---      ---       #202
+      010012B4H   LINE      ---      ---       #203
+      010012B4H   LINE      ---      ---       #205
+      010012B6H   LINE      ---      ---       #207
+      010012B6H   LINE      ---      ---       #208
+      010012B9H   LINE      ---      ---       #209
+      010012B9H   LINE      ---      ---       #210
+      010012BEH   LINE      ---      ---       #211
+      010012BEH   LINE      ---      ---       #212
+      010012C2H   LINE      ---      ---       #214
+      010012C2H   LINE      ---      ---       #215
+      010012C7H   LINE      ---      ---       #216
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 33
+
+
+      010012C7H   LINE      ---      ---       #217
+      010012CAH   LINE      ---      ---       #218
+      010012CDH   LINE      ---      ---       #219
+      010012CDH   LINE      ---      ---       #220
+      010012D0H   LINE      ---      ---       #221
+      010012D0H   LINE      ---      ---       #222
+      010012D0H   LINE      ---      ---       #223
+      010012D0H   LINE      ---      ---       #224
+      010012D0H   LINE      ---      ---       #226
+      010012D2H   LINE      ---      ---       #227
+      00000001H   SYMBOL    DATA     BYTE      P10Sta
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000BA7H   BLOCK     CODE     ---       LVL=0
+      01000BA7H   LINE      ---      ---       #228
+      01000BA7H   LINE      ---      ---       #229
+      01000BA7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000BA7H   LINE      ---      ---       #230
+      01000BAAH   LINE      ---      ---       #231
+      01000BADH   LINE      ---      ---       #232
+      01000BAFH   LINE      ---      ---       #233
+      01000BB2H   LINE      ---      ---       #234
+      01000BB4H   LINE      ---      ---       #235
+      01000BB6H   LINE      ---      ---       #236
+      01000BBAH   LINE      ---      ---       #238
+      01000BBDH   LINE      ---      ---       #239
+      01000BC4H   LINE      ---      ---       #240
+      01000BC6H   LINE      ---      ---       #241
+      01000BC8H   LINE      ---      ---       #242
+      01000BCAH   LINE      ---      ---       #244
+      01000BCCH   LINE      ---      ---       #245
+      01000BD6H   LINE      ---      ---       #246
+      01000BD8H   LINE      ---      ---       #248
+      01000BE0H   LINE      ---      ---       #250
+      01000BE0H   LINE      ---      ---       #251
+      01000BE0H   LINE      ---      ---       #253
+      01000BE4H   LINE      ---      ---       #254
+      01000BE4H   LINE      ---      ---       #255
+      01000BF0H   LINE      ---      ---       #256
+      01000BF0H   LINE      ---      ---       #257
+      01000BF0H   LINE      ---      ---       #258
+      01000BF6H   LINE      ---      ---       #259
+      01000BF8H   LINE      ---      ---       #260
+      01000BF8H   LINE      ---      ---       #262
+      01000BFBH   LINE      ---      ---       #263
+      01000BFDH   LINE      ---      ---       #264
+      01000BFDH   LINE      ---      ---       #266
+      01000BFDH   LINE      ---      ---       #267
+      01000BFDH   LINE      ---      ---       #268
+      01000C06H   LINE      ---      ---       #269
+      01000C06H   LINE      ---      ---       #270
+      01000C06H   LINE      ---      ---       #271
+      01000C06H   LINE      ---      ---       #272
+      01000C06H   LINE      ---      ---       #273
+      01000C09H   LINE      ---      ---       #274
+      01000C09H   LINE      ---      ---       #275
+      01000C0FH   LINE      ---      ---       #276
+      01000C0FH   LINE      ---      ---       #277
+      01000C12H   LINE      ---      ---       #278
+      01000C15H   LINE      ---      ---       #279
+      01000C17H   LINE      ---      ---       #280
+      01000C21H   LINE      ---      ---       #281
+      01000C2DH   LINE      ---      ---       #282
+      01000C2DH   LINE      ---      ---       #284
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 34
+
+
+      01000C56H   LINE      ---      ---       #285
+      01000C56H   LINE      ---      ---       #286
+      01000C56H   LINE      ---      ---       #287
+      01000C5AH   LINE      ---      ---       #288
+      01000C5AH   LINE      ---      ---       #289
+      01000C5CH   LINE      ---      ---       #291
+      01000C5EH   LINE      ---      ---       #293
+      01000C60H   LINE      ---      ---       #295
+      01000C60H   LINE      ---      ---       #296
+      01000C66H   LINE      ---      ---       #297
+      01000C66H   LINE      ---      ---       #298
+      01000C69H   LINE      ---      ---       #300
+      01000C6BH   LINE      ---      ---       #301
+      01000C73H   LINE      ---      ---       #302
+      01000C73H   LINE      ---      ---       #303
+      01000C73H   LINE      ---      ---       #304
+      01000C75H   LINE      ---      ---       #306
+      01000C75H   LINE      ---      ---       #307
+      01000C77H   LINE      ---      ---       #308
+      01000C77H   LINE      ---      ---       #311
+      01000C77H   LINE      ---      ---       #313
+      01000C79H   LINE      ---      ---       #314
+      01000C79H   LINE      ---      ---       #315
+      01000C7DH   LINE      ---      ---       #316
+      01000C7DH   LINE      ---      ---       #317
+      01000C7FH   LINE      ---      ---       #319
+      01000C84H   LINE      ---      ---       #320
+      01000C84H   LINE      ---      ---       #321
+      01000C8AH   LINE      ---      ---       #322
+      01000C8AH   LINE      ---      ---       #323
+      01000C8EH   LINE      ---      ---       #328
+      01000C8EH   LINE      ---      ---       #329
+      01000C90H   LINE      ---      ---       #330
+      01000C90H   LINE      ---      ---       #331
+      01000C94H   LINE      ---      ---       #332
+      01000C94H   LINE      ---      ---       #333
+      01000C96H   LINE      ---      ---       #335
+      01000C9BH   LINE      ---      ---       #336
+      01000C9BH   LINE      ---      ---       #337
+      01000CA1H   LINE      ---      ---       #338
+      01000CA1H   LINE      ---      ---       #339
+      01000CA5H   LINE      ---      ---       #344
+      01000CA5H   LINE      ---      ---       #345
+      01000CA7H   LINE      ---      ---       #346
+      01000CA7H   LINE      ---      ---       #347
+      01000CADH   LINE      ---      ---       #348
+      01000CADH   LINE      ---      ---       #349
+      01000CB0H   LINE      ---      ---       #350
+      01000CB5H   LINE      ---      ---       #351
+      01000CB7H   LINE      ---      ---       #352
+      01000CC0H   LINE      ---      ---       #353
+      01000CC0H   LINE      ---      ---       #354
+      01000CC2H   LINE      ---      ---       #355
+      01000CC2H   LINE      ---      ---       #356
+      01000CC8H   LINE      ---      ---       #357
+      01000CC8H   LINE      ---      ---       #358
+      01000CCBH   LINE      ---      ---       #359
+      01000CCDH   LINE      ---      ---       #360
+      01000CCFH   LINE      ---      ---       #362
+      01000CD1H   LINE      ---      ---       #366
+      01000CD4H   LINE      ---      ---       #367
+      01000CD4H   LINE      ---      ---       #368
+      01000CD6H   LINE      ---      ---       #369
+      01000CD6H   LINE      ---      ---       #370
+      01000CDCH   LINE      ---      ---       #371
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 35
+
+
+      01000CDCH   LINE      ---      ---       #372
+      01000CDFH   LINE      ---      ---       #373
+      01000CE1H   LINE      ---      ---       #374
+      01000CE1H   LINE      ---      ---       #375
+      01000CE3H   LINE      ---      ---       #376
+      01000CE3H   LINE      ---      ---       #377
+      01000CE9H   LINE      ---      ---       #378
+      01000CE9H   LINE      ---      ---       #380
+      01000CECH   LINE      ---      ---       #381
+      01000CF1H   LINE      ---      ---       #382
+      01000CF1H   LINE      ---      ---       #383
+      01000CF3H   LINE      ---      ---       #384
+      01000CF3H   LINE      ---      ---       #385
+      01000CF7H   LINE      ---      ---       #386
+      01000CF7H   LINE      ---      ---       #387
+      01000CFAH   LINE      ---      ---       #388
+      01000CFCH   LINE      ---      ---       #390
+      01000CFEH   LINE      ---      ---       #391
+      01000D01H   LINE      ---      ---       #392
+      01000D06H   LINE      ---      ---       #393
+      01000D06H   LINE      ---      ---       #394
+      01000D0BH   LINE      ---      ---       #395
+      01000D0BH   LINE      ---      ---       #396
+      01000D10H   LINE      ---      ---       #398
+      01000D1BH   LINE      ---      ---       #399
+      01000D21H   LINE      ---      ---       #400
+      01000D29H   LINE      ---      ---       #401
+      01000D36H   LINE      ---      ---       #403
+      01000D36H   LINE      ---      ---       #404
+      01000D3CH   LINE      ---      ---       #405
+      01000D3CH   LINE      ---      ---       #406
+      01000D44H   LINE      ---      ---       #407
+      01000D4BH   LINE      ---      ---       #410
+      01000D4BH   LINE      ---      ---       #412
+      01000D4DH   LINE      ---      ---       #413
+      01000D4DH   LINE      ---      ---       #414
+      01000D51H   LINE      ---      ---       #415
+      01000D51H   LINE      ---      ---       #416
+      01000D54H   LINE      ---      ---       #417
+      01000D56H   LINE      ---      ---       #418
+      01000D59H   LINE      ---      ---       #419
+      01000D5DH   LINE      ---      ---       #420
+      01000D5DH   LINE      ---      ---       #422
+      01000D62H   LINE      ---      ---       #423
+      01000D62H   LINE      ---      ---       #424
+      01000D67H   LINE      ---      ---       #425
+      01000D69H   LINE      ---      ---       #426
+      01000D6DH   LINE      ---      ---       #427
+      01000D77H   LINE      ---      ---       #428
+      01000D84H   LINE      ---      ---       #430
+      01000D84H   LINE      ---      ---       #431
+      01000D8AH   LINE      ---      ---       #432
+      01000D8AH   LINE      ---      ---       #433
+      01000D8DH   LINE      ---      ---       #434
+      01000D95H   LINE      ---      ---       #435
+      01000D9CH   LINE      ---      ---       #437
+      01000D9CH   LINE      ---      ---       #438
+      00000022H   SYMBOL    DATA     BYTE      txrx_done
+      00000023H   SYMBOL    DATA     BYTE      mode
+      00000024H   SYMBOL    DATA     BYTE      mode_set
+      00000025H   SYMBOL    DATA     BYTE      rf_ch
+      00000026H   SYMBOL    DATA     BYTE      get_rand_num
+      00000027H   SYMBOL    DATA     BYTE      autoMode
+      00000028H   SYMBOL    DATA     INT       sendPacketCount
+      ---         BLOCKEND  CODE     ---       LVL=1
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 36
+
+
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010012DBH   BLOCK     CODE     ---       LVL=0
+      01001306H   LINE      ---      ---       #471
+      01001306H   LINE      ---      ---       #474
+      0100130AH   LINE      ---      ---       #475
+      01001310H   LINE      ---      ---       #476
+      01001310H   LINE      ---      ---       #477
+      01001310H   LINE      ---      ---       #478
+      01001316H   LINE      ---      ---       #479
+      01001316H   LINE      ---      ---       #480
+      01001323H   LINE      ---      ---       #481
+      01001323H   LINE      ---      ---       #483
+      01001323H   LINE      ---      ---       #484
+      01001323H   LINE      ---      ---       #486
+      01001323H   LINE      ---      ---       #487
+      01001323H   LINE      ---      ---       #489
+      01001323H   LINE      ---      ---       #490
+      01001323H   LINE      ---      ---       #492
+      01001323H   LINE      ---      ---       #493
+      01001323H   LINE      ---      ---       #494
+      01001323H   LINE      ---      ---       #495
+      01001323H   LINE      ---      ---       #496
+      01001326H   LINE      ---      ---       #497
+      01001329H   LINE      ---      ---       #498
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016E9H   BLOCK     CODE     ---       LVL=0
+      010016F8H   LINE      ---      ---       #500
+      010016F8H   LINE      ---      ---       #504
+      010016FAH   LINE      ---      ---       #505
+      01001708H   LINE      ---      ---       #506
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      ---         MODULE    ---      ---       RF
+      01001AE0H   PUBLIC    CODE     ---       _RF_CarrierOffset
+      0100171BH   PUBLIC    CODE     ---       RF_Carrier
+      01000068H   PUBLIC    CODE     ---       RF_EnableIRQ
+      01000F97H   PUBLIC    CODE     ---       RF_ClearIRQFlags
+      010016C8H   PUBLIC    CODE     ---       RF_GetIRQFlags
+      01001ACDH   PUBLIC    CODE     ---       _RF_ITConfig
+      0100166EH   PUBLIC    CODE     ---       _RF_Filter_Cal
+      01001352H   PUBLIC    CODE     ---       _RF_ReadRxPayloadByXDATA
+      01001546H   PUBLIC    CODE     ---       _RF_WriteTxPayloadByXDATA
+      01001AB7H   PUBLIC    CODE     ---       _RF_SetFifoLenType
+      01001AA7H   PUBLIC    CODE     ---       _RF_SetAckPayload
+      01001A1AH   PUBLIC    CODE     ---       _RF_SetTRxAckTimeout
+      010019F5H   PUBLIC    CODE     ---       _RF_SetTxSetupTime
+      010019ABH   PUBLIC    CODE     ---       _RF_SetAutoRetrans
+      0100199BH   PUBLIC    CODE     ---       _RF_SetNoAck
+      01000FC8H   PUBLIC    CODE     ---       _RF_EnableDynamicPayload
+      0100198EH   PUBLIC    CODE     ---       _RF_SetRxPayloadLen
+      0000002DH   PUBLIC    DATA     BYTE      ?_RF_SetRxAddr?BYTE
+      0100188FH   PUBLIC    CODE     ---       _RF_SetRxAddr
+      01001923H   PUBLIC    CODE     ---       _RF_EnableRxPipe
+      01001945H   PUBLIC    CODE     ---       _RF_SetTxAddr
+      01001879H   PUBLIC    CODE     ---       _RF_SetAddrWidth
+      01001866H   PUBLIC    CODE     ---       _RF_SetWorkMode
+      01001824H   PUBLIC    CODE     ---       _RF_SetChipMode
+      01001814H   PUBLIC    CODE     ---       _RF_EnableWhiten
+      01001754H   PUBLIC    CODE     ---       _RF_SetTxPower
+      0100172FH   PUBLIC    CODE     ---       _RF_SetCrc
+      01001582H   PUBLIC    CODE     ---       _RF_SetDataRate
+      01000024H   PUBLIC    CODE     ---       _RF_SetChannel
+      01001715H   PUBLIC    CODE     ---       RF_CE_Disable
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 37
+
+
+      01000FF8H   PUBLIC    CODE     ---       RF_CE_Enable
+      01000F7AH   PUBLIC    CODE     ---       RF_EnterRxMode
+      01000F36H   PUBLIC    CODE     ---       RF_EnterTxMode
+      01000F42H   PUBLIC    CODE     ---       RF_Deinit
+      010011BAH   PUBLIC    CODE     ---       RF_Init
+      01000F90H   PUBLIC    CODE     ---       RF_FlushRxFifo
+      01000F1EH   PUBLIC    CODE     ---       RF_FlushTxFifo
+      0100163AH   PUBLIC    CODE     ---       _RF_Vco_Cal
+      010013ADH   PUBLIC    CODE     ---       _RF_Twopoint_Cal
+      000000D0H   SFRSYM    DATA     BYTE      PSW
+      000000E0H   SFRSYM    DATA     BYTE      ACC
+      000000F0H   SFRSYM    DATA     BYTE      B
+      00000081H   SFRSYM    DATA     BYTE      SP
+      00000082H   SFRSYM    DATA     WORD      DPTR
+      00000082H   SFRSYM    DATA     BYTE      DPL
+      00000083H   SFRSYM    DATA     BYTE      DPH
+      00000084H   SFRSYM    DATA     WORD      DPTR1
+      00000084H   SFRSYM    DATA     BYTE      DPL1
+      00000085H   SFRSYM    DATA     BYTE      DPH1
+      00000093H   SFRSYM    DATA     BYTE      DPC
+      00000092H   SFRSYM    DATA     BYTE      DPS
+      000000D0H.1 SFRSYM    DATA     BIT       F1
+      00000087H   SFRSYM    DATA     BYTE      PCON
+      000000F8H   SFRSYM    DATA     BYTE      SYS_SEL
+      000000F9H   SFRSYM    DATA     BYTE      SYS_DAT
+      000000FAH   SFRSYM    DATA     BYTE      ANA_SEL
+      000000FBH   SFRSYM    DATA     BYTE      ANA_DAT
+      000000FCH   SFRSYM    DATA     BYTE      RCC_SEL
+      000000FDH   SFRSYM    DATA     BYTE      RCC_DAT
+      000000E8H   SFRSYM    DATA     BYTE      FMC_ISPCTL
+      000000E9H   SFRSYM    DATA     BYTE      FMC_ISPADDRL
+      000000EAH   SFRSYM    DATA     BYTE      FMC_ISPADDRH
+      000000EBH   SFRSYM    DATA     BYTE      FMC_ISPDATA
+      000000ECH   SFRSYM    DATA     BYTE      FMC_ISPCMD
+      000000EDH   SFRSYM    DATA     BYTE      FMC_ISPTRG
+      000000F7H   SFRSYM    DATA     BYTE      SRST
+      00000086H   SFRSYM    DATA     BYTE      WDTREL
+      0000008FH   SFRSYM    DATA     BYTE      WDT_DIV
+      000000A8H   SFRSYM    DATA     BYTE      IEN0
+      000000B8H   SFRSYM    DATA     BYTE      IEN1
+      000000A8H   SFRSYM    DATA     BYTE      IE
+      000000B8H   SFRSYM    DATA     BYTE      IE1
+      000000A9H   SFRSYM    DATA     BYTE      IP0
+      000000B9H   SFRSYM    DATA     BYTE      IP1
+      000000C0H   SFRSYM    DATA     BYTE      IRCON
+      00000090H   SFRSYM    DATA     BYTE      P1
+      000000A0H   SFRSYM    DATA     BYTE      P2
+      000000B0H   SFRSYM    DATA     BYTE      P3
+      00000088H   SFRSYM    DATA     BYTE      TCON
+      00000089H   SFRSYM    DATA     BYTE      TMOD
+      0000008AH   SFRSYM    DATA     BYTE      TL0
+      0000008BH   SFRSYM    DATA     BYTE      TL1
+      0000008CH   SFRSYM    DATA     BYTE      TH0
+      0000008DH   SFRSYM    DATA     BYTE      TH1
+      0000008CH   SFRSYM    DATA     WORD      TIME0_CNT
+      000000C1H   SFRSYM    DATA     BYTE      CCEN
+      000000C2H   SFRSYM    DATA     BYTE      CCL1
+      000000C3H   SFRSYM    DATA     BYTE      CCH1
+      000000C4H   SFRSYM    DATA     BYTE      CCL2
+      000000C5H   SFRSYM    DATA     BYTE      CCH2
+      000000C6H   SFRSYM    DATA     BYTE      CCL3
+      000000C7H   SFRSYM    DATA     BYTE      CCH3
+      000000C8H   SFRSYM    DATA     BYTE      T2CON
+      000000CAH   SFRSYM    DATA     BYTE      CRCL
+      000000CBH   SFRSYM    DATA     BYTE      CRCH
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 38
+
+
+      000000CCH   SFRSYM    DATA     BYTE      TL2
+      000000CDH   SFRSYM    DATA     BYTE      TH2
+      000000ABH   SFRSYM    DATA     BYTE      TCAPCON
+      000000ACH   SFRSYM    DATA     BYTE      TCAPSTA
+      00000088H.7 SFRSYM    DATA     BIT       TF1
+      00000088H.6 SFRSYM    DATA     BIT       TR1
+      00000088H.5 SFRSYM    DATA     BIT       TF0
+      00000088H.4 SFRSYM    DATA     BIT       TR0
+      00000088H.2 SFRSYM    DATA     BIT       IT1
+      00000088H.1 SFRSYM    DATA     BIT       IE0
+      00000088H.0 SFRSYM    DATA     BIT       IT0
+      00000098H   SFRSYM    DATA     BYTE      S0CON
+      00000099H   SFRSYM    DATA     BYTE      S0BUF
+      000000AAH   SFRSYM    DATA     BYTE      S0RELL
+      000000BAH   SFRSYM    DATA     BYTE      S0RELH
+      000000D8H   SFRSYM    DATA     BYTE      ADCON
+      00000098H.1 SFRSYM    DATA     BIT       S0CON_TI0
+      00000098H.0 SFRSYM    DATA     BIT       S0CON_RI0
+      000000DAH   SFRSYM    DATA     BYTE      I2C2DAT
+      000000DCH   SFRSYM    DATA     BYTE      I2C2CON
+      000000DDH   SFRSYM    DATA     BYTE      I2C2STA
+      000000E1H   SFRSYM    DATA     BYTE      SPSTA
+      000000E2H   SFRSYM    DATA     BYTE      SPCON
+      000000E3H   SFRSYM    DATA     BYTE      SPDAT
+      000000E4H   SFRSYM    DATA     BYTE      SPSSN
+      000000E5H   SFRSYM    DATA     BYTE      SPCON1
+      000000C0H.7 SFRSYM    DATA     BIT       EXF2
+      000000C0H.6 SFRSYM    DATA     BIT       TF2
+      000000B8H.5 SFRSYM    DATA     BIT       ERF
+      000000B8H.4 SFRSYM    DATA     BIT       EUSB
+      000000B8H.3 SFRSYM    DATA     BIT       EPWM
+      000000B8H.2 SFRSYM    DATA     BIT       EADC
+      000000B8H.1 SFRSYM    DATA     BIT       ESPI
+      000000B8H.0 SFRSYM    DATA     BIT       EI2C
+      000000B0H.0 SFRSYM    DATA     BIT       P3_0
+      000000B0H.1 SFRSYM    DATA     BIT       P3_1
+      000000B0H.2 SFRSYM    DATA     BIT       P3_2
+      000000B0H.3 SFRSYM    DATA     BIT       P3_3
+      000000B0H.4 SFRSYM    DATA     BIT       P3_4
+      000000B0H.5 SFRSYM    DATA     BIT       P3_5
+      000000B0H.6 SFRSYM    DATA     BIT       P3_6
+      000000B0H.7 SFRSYM    DATA     BIT       P3_7
+      000000A8H.7 SFRSYM    DATA     BIT       EA
+      000000A8H.5 SFRSYM    DATA     BIT       ET2
+      000000A8H.4 SFRSYM    DATA     BIT       EUART
+      000000A8H.3 SFRSYM    DATA     BIT       ET1
+      000000A8H.2 SFRSYM    DATA     BIT       EX1
+      000000A8H.1 SFRSYM    DATA     BIT       ET0
+      000000A8H.0 SFRSYM    DATA     BIT       EX0
+      00000090H.0 SFRSYM    DATA     BIT       P1_0
+      00000090H.1 SFRSYM    DATA     BIT       P1_1
+      00000090H.2 SFRSYM    DATA     BIT       P1_2
+      00000090H.3 SFRSYM    DATA     BIT       P1_3
+      00000090H.4 SFRSYM    DATA     BIT       P1_4
+      00000090H.5 SFRSYM    DATA     BIT       P1_5
+      00000090H.6 SFRSYM    DATA     BIT       P1_6
+      00000090H.7 SFRSYM    DATA     BIT       P1_7
+      01001399H   SYMBOL    CODE     ---       _RF_Delay
+      0100166EH   SYMBOL    CODE     ---       _RF_Filter_Cal
+      0100146BH   SYMBOL    CODE     ---       _rf_vcocal_group
+
+      01001399H   BLOCK     CODE     ---       LVL=0
+      0100139DH   LINE      ---      ---       #23
+      0100139DH   LINE      ---      ---       #24
+      0100139DH   LINE      ---      ---       #25
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 39
+
+
+      010013A1H   LINE      ---      ---       #28
+      010013ACH   LINE      ---      ---       #30
+      01001399H   SYMBOL    CODE     NEAR LAB  ?L?COM0019
+      00000006H   SYMBOL    DATA     WORD      DelayCnt
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+
+      010013ADH   BLOCK     CODE     ---       LVL=0
+      010013ADH   LINE      ---      ---       #145
+      010013AFH   LINE      ---      ---       #146
+      0000002FH   SYMBOL    DATA     BYTE      tp_code_cover
+      010013AFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010013AFH   LINE      ---      ---       #151
+      010013B7H   LINE      ---      ---       #155
+      010013B9H   LINE      ---      ---       #156
+      010013C1H   LINE      ---      ---       #158
+      010013C8H   LINE      ---      ---       #160
+      010013CBH   LINE      ---      ---       #161
+      00000030H   SYMBOL    DATA     BYTE      i
+      00000007H   SYMBOL    DATA     BYTE      cal_mode
+      00000007H   SYMBOL    DATA     BYTE      lpf_r
+      010013CBH   BLOCK     CODE     NEAR LAB  LVL=2
+      010013CBH   LINE      ---      ---       #164
+      010013DBH   LINE      ---      ---       #166
+      010013E1H   LINE      ---      ---       #167
+      010013E4H   LINE      ---      ---       #168
+      010013E7H   LINE      ---      ---       #169
+      010013EAH   LINE      ---      ---       #171
+      010013F1H   LINE      ---      ---       #173
+      010013F8H   LINE      ---      ---       #175
+      01001400H   LINE      ---      ---       #179
+      01001404H   LINE      ---      ---       #181
+      0100140AH   LINE      ---      ---       #183
+      01001411H   LINE      ---      ---       #186
+      01001417H   LINE      ---      ---       #188
+      0100141EH   LINE      ---      ---       #190
+      01001437H   LINE      ---      ---       #191
+      00000031H   SYMBOL    DATA     BYTE      lpf
+      ---         BLOCKEND  CODE     ---       LVL=2
+      01001440H   LINE      ---      ---       #192
+      01001447H   LINE      ---      ---       #194
+      0100144CH   LINE      ---      ---       #195
+      01001450H   LINE      ---      ---       #196
+      01001454H   LINE      ---      ---       #197
+      01001456H   LINE      ---      ---       #200
+      0100145BH   LINE      ---      ---       #202
+      0100145BH   LINE      CODE     ---       #202
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100146BH   BLOCK     CODE     ---       LVL=0
+      0100146BH   LINE      ---      ---       #212
+      0100146FH   LINE      ---      ---       #213
+      0000002FH   SYMBOL    DATA     BYTE      cover_tx
+      00000030H   SYMBOL    DATA     BYTE      cover_rx
+      0100146FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100146FH   LINE      ---      ---       #217
+      01001472H   LINE      ---      ---       #218
+      00000031H   SYMBOL    DATA     BYTE      i
+      00000032H   SYMBOL    DATA     WORD      res
+      01001472H   BLOCK     CODE     NEAR LAB  LVL=2
+      01001472H   LINE      ---      ---       #221
+      01001486H   LINE      ---      ---       #233
+      01001488H   LINE      ---      ---       #235
+      0100148CH   LINE      ---      ---       #237
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 40
+
+
+      0100148EH   LINE      ---      ---       #238
+      00000034H   SYMBOL    DATA     WORD      temp
+      00000034H   SYMBOL    DATA     WORD      temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      0100148EH   BLOCK     CODE     NEAR LAB  LVL=2
+      01001492H   LINE      ---      ---       #240
+      01001495H   LINE      ---      ---       #241
+      00000034H   SYMBOL    DATA     WORD      temp
+      ---         BLOCKEND  CODE     ---       LVL=2
+      01001495H   LINE      ---      ---       #244
+      010014BBH   LINE      ---      ---       #256
+      010014BDH   LINE      ---      ---       #258
+      010014C2H   LINE      ---      ---       #261
+      010014C2H   LINE      CODE     ---       #261
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100163AH   BLOCK     CODE     ---       LVL=0
+      0100163AH   LINE      ---      ---       #272
+      0100163AH   LINE      ---      ---       #273
+      0100163AH   LINE      ---      ---       #274
+      0100163CH   LINE      ---      ---       #276
+      01001643H   LINE      ---      ---       #277
+      0100164AH   LINE      ---      ---       #279
+      01001651H   LINE      ---      ---       #282
+      01001658H   LINE      ---      ---       #284
+      0100165FH   LINE      ---      ---       #287
+      01001666H   LINE      ---      ---       #288
+      0100166DH   LINE      ---      ---       #289
+      00000007H   SYMBOL    DATA     BYTE      cover_tx
+      00000005H   SYMBOL    DATA     BYTE      cover_rx
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      vco_code
+
+      01000F1EH   BLOCK     CODE     ---       LVL=0
+      01000F1EH   LINE      ---      ---       #307
+      01000F1EH   LINE      ---      ---       #308
+      01000F1EH   LINE      ---      ---       #309
+      01000F24H   LINE      ---      ---       #310
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F90H   BLOCK     CODE     ---       LVL=0
+      01000F90H   LINE      ---      ---       #317
+      01000F90H   LINE      ---      ---       #318
+      01000F90H   LINE      ---      ---       #319
+      01000F96H   LINE      ---      ---       #320
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010011BAH   BLOCK     CODE     ---       LVL=0
+      010011BAH   LINE      ---      ---       #350
+      010011BAH   LINE      ---      ---       #351
+      010011BAH   LINE      ---      ---       #353
+      010011BDH   LINE      ---      ---       #357
+      010011BFH   LINE      ---      ---       #359
+      010011C4H   LINE      ---      ---       #361
+      010011CAH   LINE      ---      ---       #363
+      010011D0H   LINE      ---      ---       #365
+      010011D6H   LINE      ---      ---       #366
+      010011DCH   LINE      ---      ---       #367
+      010011E1H   LINE      ---      ---       #368
+      010011E7H   LINE      ---      ---       #370
+      010011EDH   LINE      ---      ---       #371
+      010011F1H   LINE      ---      ---       #373
+      010011F7H   LINE      ---      ---       #374
+      010011FDH   LINE      ---      ---       #376
+      01001203H   LINE      ---      ---       #378
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 41
+
+
+      01001209H   LINE      ---      ---       #379
+      0100120DH   LINE      ---      ---       #380
+      01001211H   LINE      ---      ---       #382
+      01001217H   LINE      ---      ---       #383
+      0100121BH   LINE      ---      ---       #385
+      0100121FH   LINE      ---      ---       #387
+      01001225H   LINE      ---      ---       #389
+      0100122BH   LINE      ---      ---       #391
+      01001231H   LINE      ---      ---       #393
+      01001236H   LINE      ---      ---       #394
+      0100123AH   LINE      ---      ---       #396
+      01001240H   LINE      ---      ---       #397
+      01001244H   LINE      ---      ---       #398
+      01001248H   LINE      ---      ---       #400
+      0100124EH   LINE      ---      ---       #401
+      01001252H   LINE      ---      ---       #402
+      01001256H   LINE      ---      ---       #404
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F42H   BLOCK     CODE     ---       LVL=0
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F31H   BLOCK     CODE     ---       LVL=0
+      01000F36H   LINE      ---      ---       #425
+      01000F36H   LINE      ---      ---       #426
+      01000F36H   LINE      ---      ---       #427
+      01000F31H   SYMBOL    CODE     NEAR LAB  ?L?COM002B
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F7AH   BLOCK     CODE     ---       LVL=0
+      01000F7AH   LINE      ---      ---       #441
+      01000F7AH   LINE      ---      ---       #442
+      01000F7AH   LINE      ---      ---       #443
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FF8H   BLOCK     CODE     ---       LVL=0
+      01000FF8H   LINE      ---      ---       #476
+      01000FF8H   LINE      ---      ---       #477
+      01000FF8H   LINE      ---      ---       #478
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001715H   BLOCK     CODE     ---       LVL=0
+      01001715H   LINE      ---      ---       #486
+      01001715H   LINE      ---      ---       #487
+      01001715H   LINE      ---      ---       #488
+      0100171AH   LINE      ---      ---       #489
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000024H   BLOCK     CODE     ---       LVL=0
+      01000024H   LINE      ---      ---       #499
+      01000024H   LINE      ---      ---       #500
+      01000024H   LINE      ---      ---       #501
+      01000029H   LINE      ---      ---       #502
+      00000007H   SYMBOL    DATA     BYTE      ch
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      DataRate
+
+      01001582H   BLOCK     CODE     ---       LVL=0
+      01001582H   LINE      ---      ---       #514
+      01001584H   LINE      ---      ---       #515
+      0000002DH   SYMBOL    DATA     BYTE      DataRate
+      01001584H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001584H   LINE      ---      ---       #516
+      0100158AH   LINE      ---      ---       #518
+      01001591H   LINE      ---      ---       #519
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 42
+
+
+      01001598H   LINE      ---      ---       #520
+      0100159FH   LINE      ---      ---       #521
+      010015A6H   LINE      ---      ---       #523
+      010015AAH   LINE      ---      ---       #524
+      010015AAH   LINE      ---      ---       #525
+      010015AFH   LINE      ---      ---       #526
+      010015B4H   LINE      ---      ---       #528
+      010015BAH   LINE      ---      ---       #531
+      010015C1H   LINE      ---      ---       #533
+      010015C8H   LINE      ---      ---       #534
+      010015CAH   LINE      ---      ---       #535
+      010015D0H   LINE      ---      ---       #536
+      010015D0H   LINE      ---      ---       #537
+      010015D7H   LINE      ---      ---       #538
+      010015DEH   LINE      ---      ---       #540
+      010015E4H   LINE      ---      ---       #543
+      010015EBH   LINE      ---      ---       #546
+      010015F2H   LINE      ---      ---       #547
+      010015F4H   LINE      ---      ---       #548
+      010015FAH   LINE      ---      ---       #549
+      010015FAH   LINE      ---      ---       #550
+      01001600H   LINE      ---      ---       #552
+      01001607H   LINE      ---      ---       #553
+      0100160EH   LINE      ---      ---       #555
+      01001614H   LINE      ---      ---       #558
+      0100161BH   LINE      ---      ---       #561
+      01001622H   LINE      ---      ---       #562
+      01001622H   LINE      ---      ---       #564
+      01001625H   LINE      ---      ---       #565
+      0100162BH   LINE      ---      ---       #566
+      0100162FH   LINE      ---      ---       #567
+      01001633H   LINE      ---      ---       #569
+      01001639H   LINE      ---      ---       #570
+      0000002EH   SYMBOL    DATA     BYTE      Channel
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100172FH   BLOCK     CODE     ---       LVL=0
+      0100172FH   LINE      ---      ---       #577
+      0100172FH   LINE      ---      ---       #578
+      00000007H   SYMBOL    DATA     BYTE      type
+      0100172FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100172FH   LINE      ---      ---       #579
+      01001731H   LINE      ---      ---       #581
+      01001738H   LINE      ---      ---       #583
+      01001743H   LINE      ---      ---       #584
+      01001743H   LINE      ---      ---       #585
+      01001743H   LINE      ---      ---       #586
+      01001745H   LINE      ---      ---       #587
+      01001747H   LINE      ---      ---       #588
+      01001747H   LINE      ---      ---       #589
+      01001749H   LINE      ---      ---       #590
+      0100174BH   LINE      ---      ---       #591
+      0100174BH   LINE      ---      ---       #592
+      0100174DH   LINE      ---      ---       #593
+      0100174DH   LINE      ---      ---       #594
+      0100174DH   LINE      ---      ---       #595
+      0100174DH   LINE      ---      ---       #596
+      0100174DH   LINE      ---      ---       #597
+      01001753H   LINE      ---      ---       #598
+      00000006H   SYMBOL    DATA     BYTE      CrcMask
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      power
+
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 43
+
+
+      01001754H   BLOCK     CODE     ---       LVL=0
+      01001754H   LINE      ---      ---       #610
+      01001754H   LINE      ---      ---       #611
+      01001754H   LINE      ---      ---       #612
+      0100175BH   LINE      ---      ---       #613
+      01001760H   LINE      ---      ---       #615
+      0100179AH   LINE      ---      ---       #616
+      0100179AH   LINE      ---      ---       #617
+      0100179AH   LINE      ---      ---       #618
+      0100179FH   LINE      ---      ---       #622
+      0100179FH   LINE      ---      ---       #623
+      010017A1H   LINE      ---      ---       #624
+      010017A1H   LINE      ---      ---       #625
+      010017A6H   LINE      ---      ---       #629
+      010017A6H   LINE      ---      ---       #630
+      010017A8H   LINE      ---      ---       #631
+      010017A8H   LINE      ---      ---       #632
+      010017ADH   LINE      ---      ---       #636
+      010017ADH   LINE      ---      ---       #637
+      010017AFH   LINE      ---      ---       #638
+      010017AFH   LINE      ---      ---       #639
+      010017B4H   LINE      ---      ---       #643
+      010017B4H   LINE      ---      ---       #644
+      010017B6H   LINE      ---      ---       #645
+      010017B6H   LINE      ---      ---       #646
+      010017BBH   LINE      ---      ---       #650
+      010017BBH   LINE      ---      ---       #651
+      010017BDH   LINE      ---      ---       #652
+      010017BDH   LINE      ---      ---       #653
+      010017C2H   LINE      ---      ---       #657
+      010017C2H   LINE      ---      ---       #658
+      010017C4H   LINE      ---      ---       #659
+      010017C4H   LINE      ---      ---       #660
+      010017C9H   LINE      ---      ---       #664
+      010017C9H   LINE      ---      ---       #665
+      010017CBH   LINE      ---      ---       #666
+      010017CBH   LINE      ---      ---       #667
+      010017D0H   LINE      ---      ---       #671
+      010017D0H   LINE      ---      ---       #672
+      010017D2H   LINE      ---      ---       #673
+      010017D2H   LINE      ---      ---       #674
+      010017D7H   LINE      ---      ---       #678
+      010017D7H   LINE      ---      ---       #679
+      010017D9H   LINE      ---      ---       #680
+      010017D9H   LINE      ---      ---       #681
+      010017DEH   LINE      ---      ---       #685
+      010017DEH   LINE      ---      ---       #686
+      010017E0H   LINE      ---      ---       #687
+      010017E0H   LINE      ---      ---       #688
+      010017E6H   LINE      ---      ---       #692
+      010017EBH   LINE      ---      ---       #693
+      010017ECH   LINE      ---      ---       #694
+      010017ECH   LINE      ---      ---       #695
+      010017F1H   LINE      ---      ---       #699
+      010017F1H   LINE      ---      ---       #700
+      010017F3H   LINE      ---      ---       #701
+      010017F3H   LINE      ---      ---       #702
+      010017F9H   LINE      ---      ---       #706
+      010017FEH   LINE      ---      ---       #707
+      010017FFH   LINE      ---      ---       #708
+      010017FFH   LINE      ---      ---       #709
+      01001804H   LINE      ---      ---       #713
+      01001809H   LINE      ---      ---       #714
+      01001809H   LINE      ---      ---       #715
+      01001809H   LINE      ---      ---       #716
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 44
+
+
+      01001809H   LINE      ---      ---       #717
+      01001809H   LINE      ---      ---       #718
+      00000007H   SYMBOL    DATA     BYTE      power
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001814H   BLOCK     CODE     ---       LVL=0
+      01001814H   LINE      ---      ---       #725
+      01001814H   LINE      ---      ---       #726
+      01001814H   LINE      ---      ---       #727
+      0100181AH   LINE      ---      ---       #728
+      0100181FH   LINE      ---      ---       #730
+      01001823H   LINE      ---      ---       #731
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001824H   BLOCK     CODE     ---       LVL=0
+      01001824H   LINE      ---      ---       #737
+      01001824H   LINE      ---      ---       #738
+      00000007H   SYMBOL    DATA     BYTE      ChipMode
+      01001824H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001824H   LINE      ---      ---       #739
+      01001826H   LINE      ---      ---       #741
+      0100182CH   LINE      ---      ---       #743
+      01001835H   LINE      ---      ---       #744
+      01001835H   LINE      ---      ---       #745
+      01001835H   LINE      ---      ---       #746
+      01001837H   LINE      ---      ---       #747
+      0100183CH   LINE      ---      ---       #748
+      01001840H   LINE      ---      ---       #749
+      01001840H   LINE      ---      ---       #752
+      01001842H   LINE      ---      ---       #753
+      01001842H   LINE      ---      ---       #754
+      01001844H   LINE      ---      ---       #755
+      01001848H   LINE      ---      ---       #758
+      0100184AH   LINE      ---      ---       #759
+      0100184AH   LINE      ---      ---       #760
+      0100184CH   LINE      ---      ---       #761
+      01001850H   LINE      ---      ---       #762
+      01001857H   LINE      ---      ---       #763
+      0100185BH   LINE      ---      ---       #764
+      0100185BH   LINE      ---      ---       #765
+      0100185BH   LINE      ---      ---       #766
+      0100185BH   LINE      ---      ---       #767
+      0100185BH   LINE      ---      ---       #769
+      01001862H   LINE      ---      ---       #770
+      01001865H   LINE      ---      ---       #771
+      00000006H   SYMBOL    DATA     BYTE      ModeMask
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001866H   BLOCK     CODE     ---       LVL=0
+      01001866H   LINE      ---      ---       #778
+      01001866H   LINE      ---      ---       #779
+      01001866H   LINE      ---      ---       #780
+      01001869H   LINE      ---      ---       #781
+      01001869H   LINE      ---      ---       #782
+      0100186DH   LINE      ---      ---       #783
+      0100186EH   LINE      ---      ---       #784
+      01001871H   LINE      ---      ---       #785
+      01001871H   LINE      ---      ---       #786
+      01001878H   LINE      ---      ---       #787
+      01001878H   LINE      ---      ---       #788
+      00000007H   SYMBOL    DATA     BYTE      WorkMode
+      ---         BLOCKEND  ---      ---       LVL=0
+
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 45
+
+
+      01001879H   BLOCK     CODE     ---       LVL=0
+      01001879H   LINE      ---      ---       #795
+      01001879H   LINE      ---      ---       #796
+      01001879H   LINE      ---      ---       #797
+      01001880H   LINE      ---      ---       #798
+      0100188EH   LINE      ---      ---       #799
+      00000007H   SYMBOL    DATA     BYTE      AddrWidth
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001945H   BLOCK     CODE     ---       LVL=0
+      01001945H   LINE      ---      ---       #807
+      0100194BH   LINE      ---      ---       #808
+      0000002DH   SYMBOL    DATA     ---       Addr
+      00000005H   SYMBOL    DATA     BYTE      AddrLen
+      0100194BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100194BH   LINE      ---      ---       #809
+      01001959H   LINE      ---      ---       #811
+      0100195EH   LINE      ---      ---       #813
+      01001965H   LINE      ---      ---       #814
+      01001965H   LINE      ---      ---       #815
+      0100198BH   LINE      ---      ---       #816
+      0100198DH   LINE      ---      ---       #817
+      02000099H   SYMBOL    XDATA    ---       AddrFifo
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001923H   BLOCK     CODE     ---       LVL=0
+      01001923H   LINE      ---      ---       #819
+      01001923H   LINE      ---      ---       #820
+      01001923H   LINE      ---      ---       #821
+      01001926H   LINE      ---      ---       #822
+      01001935H   LINE      ---      ---       #824
+      01001944H   LINE      ---      ---       #825
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000005H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100188FH   BLOCK     CODE     ---       LVL=0
+      0100188FH   LINE      ---      ---       #839
+      01001898H   LINE      ---      ---       #840
+      00000004H   SYMBOL    DATA     BYTE      PipeIndex
+      0000002EH   SYMBOL    DATA     ---       Addr
+      00000031H   SYMBOL    DATA     BYTE      AddrLen
+      01001898H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001898H   LINE      ---      ---       #841
+      0100189BH   LINE      ---      ---       #844
+      0100189FH   LINE      ---      ---       #845
+      010018A6H   LINE      ---      ---       #847
+      010018BCH   LINE      ---      ---       #848
+      010018BCH   LINE      ---      ---       #849
+      010018BCH   LINE      ---      ---       #850
+      010018C2H   LINE      ---      ---       #851
+      010018C9H   LINE      ---      ---       #852
+      010018C9H   LINE      ---      ---       #853
+      010018CBH   LINE      ---      ---       #855
+      010018CDH   LINE      ---      ---       #856
+      010018CDH   LINE      ---      ---       #857
+      010018CDH   LINE      ---      ---       #858
+      010018D3H   LINE      ---      ---       #859
+      010018DAH   LINE      ---      ---       #860
+      010018DAH   LINE      ---      ---       #861
+      010018DCH   LINE      ---      ---       #863
+      010018DEH   LINE      ---      ---       #864
+      010018DEH   LINE      ---      ---       #865
+      010018DEH   LINE      ---      ---       #866
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 46
+
+
+      010018E4H   LINE      ---      ---       #867
+      010018E5H   LINE      ---      ---       #868
+      010018E5H   LINE      ---      ---       #869
+      010018EBH   LINE      ---      ---       #870
+      010018ECH   LINE      ---      ---       #871
+      010018ECH   LINE      ---      ---       #872
+      010018F2H   LINE      ---      ---       #873
+      010018F3H   LINE      ---      ---       #874
+      010018F3H   LINE      ---      ---       #875
+      010018F9H   LINE      ---      ---       #876
+      010018F9H   LINE      ---      ---       #877
+      010018F9H   LINE      ---      ---       #878
+      010018F9H   LINE      ---      ---       #879
+      010018F9H   LINE      ---      ---       #880
+      00000032H   SYMBOL    DATA     BYTE      i
+      00000033H   SYMBOL    DATA     ---       AddrFifo
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100198EH   BLOCK     CODE     ---       LVL=0
+      0100198EH   LINE      ---      ---       #889
+      0100198EH   LINE      ---      ---       #890
+      00000007H   SYMBOL    DATA     BYTE      pipe
+      00000005H   SYMBOL    DATA     BYTE      len
+      0100198EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100198EH   LINE      ---      ---       #891
+      0100198EH   LINE      ---      ---       #893
+      0100199AH   LINE      ---      ---       #894
+      00000082H   SYMBOL    DATA     ---       pipeLen
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000FC8H   BLOCK     CODE     ---       LVL=0
+      01000FC8H   LINE      ---      ---       #943
+      01000FC8H   LINE      ---      ---       #944
+      01000FC8H   LINE      ---      ---       #945
+      01000FCBH   LINE      ---      ---       #946
+      01000FCBH   LINE      ---      ---       #947
+      01000FD5H   LINE      ---      ---       #948
+      01000FD7H   LINE      ---      ---       #950
+      01000FD7H   LINE      ---      ---       #951
+      01000FE2H   LINE      ---      ---       #952
+      01000FE2H   LINE      ---      ---       #954
+      01000FEAH   LINE      ---      ---       #955
+      01000FEAH   LINE      ---      ---       #956
+      01000FEFH   LINE      ---      ---       #957
+      01000FF0H   LINE      ---      ---       #959
+      01000FF0H   LINE      ---      ---       #960
+      01000FF7H   LINE      ---      ---       #961
+      01000FF7H   LINE      ---      ---       #962
+      00000007H   SYMBOL    DATA     BYTE      pipe
+      00000005H   SYMBOL    DATA     BYTE      Enable
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100199BH   BLOCK     CODE     ---       LVL=0
+      0100199BH   LINE      ---      ---       #969
+      0100199BH   LINE      ---      ---       #970
+      0100199BH   LINE      ---      ---       #971
+      010019A1H   LINE      ---      ---       #972
+      010019A1H   LINE      ---      ---       #974
+      010019A5H   LINE      ---      ---       #975
+      010019A6H   LINE      ---      ---       #977
+      010019A6H   LINE      ---      ---       #979
+      010019AAH   LINE      ---      ---       #980
+      010019AAH   LINE      ---      ---       #981
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 47
+
+
+      00000007H   SYMBOL    DATA     CHAR      en
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010019ABH   BLOCK     CODE     ---       LVL=0
+      010019ABH   LINE      ---      ---       #989
+      010019AEH   LINE      ---      ---       #990
+      010019AEH   LINE      ---      ---       #992
+      010019C0H   LINE      ---      ---       #993
+      00000006H   SYMBOL    DATA     WORD      DelayUs
+      00000003H   SYMBOL    DATA     BYTE      RetryTimes
+      010019C0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010019C0H   LINE      ---      ---       #994
+      010019C9H   LINE      ---      ---       #996
+      010019D0H   LINE      ---      ---       #997
+      010019D2H   LINE      ---      ---       #999
+      010019D9H   LINE      ---      ---       #1000
+      010019E4H   LINE      ---      ---       #1001
+      0000002DH   SYMBOL    DATA     BYTE      Code
+      ---         BLOCKEND  CODE     ---       LVL=1
+      010019E4H   LINE      ---      ---       #1004
+      010019EAH   LINE      ---      ---       #1005
+      010019EAH   LINE      ---      ---       #1006
+      010019F1H   LINE      ---      ---       #1007
+      010019F4H   LINE      ---      ---       #1008
+      010019F4H   LINE      ---      ---       #1009
+      010019F4H   LINE      CODE     ---       #1009
+
+      010019F5H   BLOCK     CODE     ---       LVL=0
+      010019F5H   LINE      ---      ---       #1017
+      010019F5H   LINE      ---      ---       #1018
+      010019F5H   LINE      ---      ---       #1019
+      010019F8H   LINE      ---      ---       #1021
+      010019FFH   LINE      ---      ---       #1022
+      01001A05H   LINE      ---      ---       #1024
+      00000006H   SYMBOL    DATA     WORD      SetupTimeUs
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001A1AH   BLOCK     CODE     ---       LVL=0
+      01001A1AH   LINE      ---      ---       #1038
+      01001A1AH   LINE      ---      ---       #1039
+      00000006H   SYMBOL    DATA     WORD      AckTimeoutUs
+      01001A1AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001A1AH   LINE      ---      ---       #1040
+      01001A22H   LINE      ---      ---       #1042
+      01001A29H   LINE      ---      ---       #1043
+      01001A2CH   LINE      ---      ---       #1044
+      01001A2CH   LINE      ---      ---       #1045
+      01001A35H   LINE      ---      ---       #1046
+      01001A39H   LINE      ---      ---       #1048
+      01001A4AH   LINE      ---      ---       #1049
+      01001A4BH   LINE      ---      ---       #1050
+      01001A4EH   LINE      ---      ---       #1051
+      01001A4EH   LINE      ---      ---       #1052
+      01001A57H   LINE      ---      ---       #1053
+      01001A5BH   LINE      ---      ---       #1055
+      01001A76H   LINE      ---      ---       #1056
+      01001A78H   LINE      ---      ---       #1058
+      01001A78H   LINE      ---      ---       #1059
+      01001A81H   LINE      ---      ---       #1060
+      01001A85H   LINE      ---      ---       #1062
+      01001AA6H   LINE      ---      ---       #1063
+      01001AA6H   LINE      ---      ---       #1064
+      00000005H   SYMBOL    DATA     BYTE      PhyRate
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 48
+
+
+
+      01001AA7H   BLOCK     CODE     ---       LVL=0
+      01001AA7H   LINE      ---      ---       #1072
+      01001AA7H   LINE      ---      ---       #1073
+      01001AA7H   LINE      ---      ---       #1074
+      01001AADH   LINE      ---      ---       #1075
+      01001AADH   LINE      ---      ---       #1077
+      01001AB1H   LINE      ---      ---       #1079
+      01001AB2H   LINE      ---      ---       #1081
+      01001AB2H   LINE      ---      ---       #1083
+      01001AB6H   LINE      ---      ---       #1085
+      01001AB6H   LINE      ---      ---       #1086
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AB7H   BLOCK     CODE     ---       LVL=0
+      01001AB7H   LINE      ---      ---       #1088
+      01001AB7H   LINE      ---      ---       #1089
+      01001AB7H   LINE      ---      ---       #1090
+      01001ABAH   LINE      ---      ---       #1091
+      01001ABAH   LINE      ---      ---       #1092
+      01001AC1H   LINE      ---      ---       #1093
+      01001AC2H   LINE      ---      ---       #1094
+      01001AC5H   LINE      ---      ---       #1095
+      01001AC5H   LINE      ---      ---       #1096
+      01001ACCH   LINE      ---      ---       #1097
+      01001ACCH   LINE      ---      ---       #1098
+      00000007H   SYMBOL    DATA     BYTE      FifoLenType
+      ---         BLOCKEND  ---      ---       LVL=0
+      00000001H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+      00000002H   SYMBOL    DATA     BYTE      type
+      00000005H   SYMBOL    DATA     ---       buf
+      00000007H   SYMBOL    DATA     BYTE      len
+      00000003H   SYMBOL    DATA     BYTE      i
+      00000001H   SYMBOL    DATA     ---       p
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+
+      01001546H   BLOCK     CODE     ---       LVL=0
+      01001546H   LINE      ---      ---       #1157
+      01001549H   LINE      ---      ---       #1158
+      00000001H   SYMBOL    DATA     BYTE      type
+      00000004H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      01001549H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001549H   LINE      ---      ---       #1159
+      0100154BH   LINE      ---      ---       #1160
+      0100154FH   LINE      ---      ---       #1161
+      0100154FH   LINE      ---      ---       #1163
+      01001556H   LINE      ---      ---       #1164
+      01001558H   LINE      ---      ---       #1166
+      0100155EH   LINE      ---      ---       #1167
+      0100155EH   LINE      ---      ---       #1168
+      01001563H   LINE      ---      ---       #1169
+      01001568H   LINE      ---      ---       #1170
+      01001568H   LINE      ---      ---       #1171
+      01001576H   LINE      ---      ---       #1172
+      01001578H   LINE      ---      ---       #1173
+      0100157AH   LINE      ---      ---       #1174
+      0100157AH   LINE      ---      ---       #1175
+      00000002H   SYMBOL    DATA     BYTE      i
+      0000002AH   SYMBOL    DATA     ---       p
+      00000003H   SYMBOL    DATA     BYTE      tempLen
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 49
+
+
+      00000001H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      len
+      00000001H   SYMBOL    DATA     ---       p
+      00000007H   SYMBOL    DATA     ---       buf
+      00000001H   SYMBOL    DATA     BYTE      maxsize
+      00000005H   SYMBOL    DATA     BYTE      len
+      00000003H   SYMBOL    DATA     BYTE      len_tmp
+      00000000H   SYMBOL    DATA     ---       p
+
+      01001352H   BLOCK     CODE     ---       LVL=0
+      01001352H   LINE      ---      ---       #1248
+      01001352H   LINE      ---      ---       #1249
+      00000006H   SYMBOL    DATA     ---       buf
+      00000005H   SYMBOL    DATA     BYTE      maxsize
+      01001352H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001352H   LINE      ---      ---       #1252
+      01001358H   LINE      ---      ---       #1254
+      01001360H   LINE      ---      ---       #1255
+      01001362H   LINE      ---      ---       #1257
+      0100136AH   LINE      ---      ---       #1258
+      0100136CH   LINE      ---      ---       #1260
+      01001372H   LINE      ---      ---       #1261
+      01001372H   LINE      ---      ---       #1262
+      01001378H   LINE      ---      ---       #1263
+      0100137FH   LINE      ---      ---       #1264
+      0100137FH   LINE      ---      ---       #1265
+      01001388H   LINE      ---      ---       #1266
+      0100138DH   LINE      ---      ---       #1267
+      0100138FH   LINE      ---      ---       #1268
+      01001391H   LINE      ---      ---       #1269
+      01001393H   LINE      ---      ---       #1271
+      01001393H   LINE      ---      ---       #1272
+      01001395H   LINE      ---      ---       #1273
+      01001395H   LINE      ---      ---       #1275
+      01001398H   LINE      ---      ---       #1276
+      00000001H   SYMBOL    DATA     BYTE      len
+      0000003EH   SYMBOL    DATA     BYTE      len_tmp
+      00000002H   SYMBOL    DATA     ---       p
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000001H   SYMBOL    DATA     ---       buf
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000005H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000005H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000005H   SYMBOL    DATA     ---       p
+      00000004H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     BYTE      Pipe
+      00000004H   SYMBOL    DATA     ---       buf
+      00000003H   SYMBOL    DATA     BYTE      len
+      00000006H   SYMBOL    DATA     BYTE      i
+      00000004H   SYMBOL    DATA     ---       p
+      00000001H   SYMBOL    DATA     BYTE      tempLen
+      00000007H   SYMBOL    DATA     CHAR      NewState
+      00000007H   SYMBOL    DATA     BYTE      start
+      00000006H   SYMBOL    DATA     BYTE      len
+      00000007H   SYMBOL    DATA     BYTE      len
+      00000005H   SYMBOL    DATA     BYTE      type
+
+      0100166EH   BLOCK     CODE     ---       LVL=0
+      0100166EH   LINE      ---      ---       #1486
+      0100166EH   LINE      ---      ---       #1487
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 50
+
+
+      00000007H   SYMBOL    DATA     BYTE      rate
+      0100166EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100166EH   LINE      ---      ---       #1488
+      01001673H   LINE      ---      ---       #1490
+      01001676H   LINE      ---      ---       #1491
+      0100167DH   LINE      ---      ---       #1492
+      01001684H   LINE      ---      ---       #1493
+      0100168BH   LINE      ---      ---       #1495
+      01001691H   LINE      ---      ---       #1496
+      01001691H   LINE      ---      ---       #1497
+      01001694H   LINE      ---      ---       #1498
+      01001696H   LINE      ---      ---       #1500
+      01001696H   LINE      ---      ---       #1501
+      01001699H   LINE      ---      ---       #1502
+      01001699H   LINE      ---      ---       #1504
+      010016A0H   LINE      ---      ---       #1506
+      010016A7H   LINE      ---      ---       #1507
+      010016AEH   LINE      ---      ---       #1509
+      010016B5H   LINE      ---      ---       #1511
+      010016BCH   LINE      ---      ---       #1512
+      010016C3H   LINE      ---      ---       #1514
+      010016C7H   LINE      ---      ---       #1518
+      00000006H   SYMBOL    DATA     BYTE      Config
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01001ACDH   BLOCK     CODE     ---       LVL=0
+      01001ACDH   LINE      ---      ---       #1528
+      01001ACDH   LINE      ---      ---       #1529
+      01001ACDH   LINE      ---      ---       #1530
+      01001AD3H   LINE      ---      ---       #1531
+      01001AD3H   LINE      ---      ---       #1532
+      01001AD6H   LINE      ---      ---       #1533
+      01001AD7H   LINE      ---      ---       #1535
+      01001AD7H   LINE      ---      ---       #1536
+      01001ADFH   LINE      ---      ---       #1537
+      01001ADFH   LINE      ---      ---       #1538
+      00000007H   SYMBOL    DATA     BYTE      RF_IT
+      00000005H   SYMBOL    DATA     CHAR      NewState
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016C8H   BLOCK     CODE     ---       LVL=0
+      010016C8H   LINE      ---      ---       #1545
+      010016C8H   LINE      ---      ---       #1546
+      010016C8H   LINE      ---      ---       #1547
+      010016CFH   LINE      ---      ---       #1548
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F97H   BLOCK     CODE     ---       LVL=0
+      01000F97H   LINE      ---      ---       #1555
+      01000F97H   LINE      ---      ---       #1556
+      01000F97H   LINE      ---      ---       #1557
+      01000F9EH   LINE      ---      ---       #1558
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000068H   BLOCK     CODE     ---       LVL=0
+      01000068H   LINE      ---      ---       #1565
+      01000068H   LINE      ---      ---       #1566
+      01000068H   LINE      ---      ---       #1567
+      0100006AH   LINE      ---      ---       #1568
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100171BH   BLOCK     CODE     ---       LVL=0
+      0100171BH   LINE      ---      ---       #1586
+      0100171BH   LINE      ---      ---       #1587
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 51
+
+
+      0100171BH   LINE      ---      ---       #1588
+      01001722H   LINE      ---      ---       #1589
+      01001726H   LINE      ---      ---       #1590
+      01001728H   LINE      ---      ---       #1591
+      0100172EH   LINE      ---      ---       #1592
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AE0H   BLOCK     CODE     ---       LVL=0
+      01001AE0H   LINE      ---      ---       #1594
+      01001AE0H   LINE      ---      ---       #1595
+      01001AE0H   LINE      ---      ---       #1596
+      01001AE3H   LINE      ---      ---       #1597
+      01001AE5H   LINE      ---      ---       #1598
+      00000007H   SYMBOL    DATA     BYTE      offset
+      ---         BLOCKEND  ---      ---       LVL=0
+      010014C6H   LINE      ---      ---       #263
+      010014D5H   LINE      ---      ---       #264
+
+      ---         MODULE    ---      ---       ?C_INIT
+      010007EDH   PUBLIC    CODE     ---       ?C_START
+
+      ---         MODULE    ---      ---       ?C?CLDPTR
+      010003CAH   PUBLIC    CODE     ---       ?C?CLDPTR
+
+      ---         MODULE    ---      ---       ?C?CLDOPTR
+      010003E3H   PUBLIC    CODE     ---       ?C?CLDOPTR
+
+      ---         MODULE    ---      ---       ?C?CSTPTR
+      01000410H   PUBLIC    CODE     ---       ?C?CSTPTR
+
+      ---         MODULE    ---      ---       ?C?IMUL
+      01000422H   PUBLIC    CODE     ---       ?C?IMUL
+
+      ---         MODULE    ---      ---       ?C?UIDIV
+      01000434H   PUBLIC    CODE     ---       ?C?UIDIV
+
+      ---         MODULE    ---      ---       ?C?SIDIV
+      01000489H   PUBLIC    CODE     ---       ?C?SIDIV
+
+      ---         MODULE    ---      ---       ?C?ILDIX
+      010004BFH   PUBLIC    CODE     ---       ?C?ILDIX
+
+      ---         MODULE    ---      ---       ?C?ILDPTR
+      010004D5H   PUBLIC    CODE     ---       ?C?ILDPTR
+
+      ---         MODULE    ---      ---       ?C?ILDOPTR
+      01000500H   PUBLIC    CODE     ---       ?C?ILDOPTR
+
+      ---         MODULE    ---      ---       ?C?LMUL
+      01000538H   PUBLIC    CODE     ---       ?C?LMUL
+
+      ---         MODULE    ---      ---       ?C?ULDIV
+      010005C3H   PUBLIC    CODE     ---       ?C?ULDIV
+
+      ---         MODULE    ---      ---       ?C?SLCMP
+      01000655H   PUBLIC    CODE     ---       ?C?SLCMP
+
+      ---         MODULE    ---      ---       ?C?ULCMP
+      0100066BH   PUBLIC    CODE     ---       ?C?ULCMP
+
+      ---         MODULE    ---      ---       ?C?ULSHR
+      0100067CH   PUBLIC    CODE     ---       ?C?ULSHR
+
+      ---         MODULE    ---      ---       ?C?LLDCODE0
+      0100068FH   PUBLIC    CODE     ---       ?C?LLDCODE0
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 52
+
+
+
+      ---         MODULE    ---      ---       ?C?LIMUL
+      0100069FH   PUBLIC    CODE     ---       ?C?LIMUL
+
+      ---         MODULE    ---      ---       PRINTF
+      0000002AH   PUBLIC    DATA     ---       ?_PRINTF517?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_PRINTF?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_SPRINTF517?BYTE
+      0000002AH   PUBLIC    DATA     ---       ?_SPRINTF?BYTE
+      010000D0H   PUBLIC    CODE     ---       _PRINTF
+      010000D0H   PUBLIC    CODE     ---       _PRINTF517
+      010000CAH   PUBLIC    CODE     ---       _SPRINTF
+      010000CAH   PUBLIC    CODE     ---       _SPRINTF517
+
+      ---         MODULE    ---      ---       RAND
+      00000008H   PUBLIC    DATA     ---       ?SRAND?BYTE
+      01000832H   PUBLIC    CODE     ---       RAND
+      01000874H   PUBLIC    CODE     ---       _SRAND
+
+      ---         MODULE    ---      ---       ?C?PLDIIDATA
+      010006CCH   PUBLIC    CODE     ---       ?C?PLDIIDATA
+
+      ---         MODULE    ---      ---       ?C?CCASE
+      010006DCH   PUBLIC    CODE     ---       ?C?CCASE
+
+      ---         MODULE    ---      ---       ?L?COMMON
+      0100000BH   SYMBOL    CODE     NEAR LAB  ?L?COM0001
+      0100180AH   SYMBOL    CODE     NEAR LAB  ?L?COM0002
+      01001515H   SYMBOL    CODE     NEAR LAB  ?L?COM0003
+      01001102H   SYMBOL    CODE     NEAR LAB  ?L?COM0004
+      010010E8H   SYMBOL    CODE     NEAR LAB  ?L?COM0005
+      01000EF1H   SYMBOL    CODE     NEAR LAB  ?L?COM0007
+      010014F4H   SYMBOL    CODE     NEAR LAB  ?L?COM0008
+      01000FBCH   SYMBOL    CODE     NEAR LAB  ?L?COM0009
+      01001903H   SYMBOL    CODE     NEAR LAB  ?L?COM000C
+      01000F25H   SYMBOL    CODE     NEAR LAB  ?L?COM000D
+      0100157BH   SYMBOL    CODE     NEAR LAB  ?L?COM0010
+      01001AE6H   SYMBOL    CODE     NEAR LAB  ?L?COM0011
+      01001111H   SYMBOL    CODE     NEAR LAB  ?L?COM0014
+      01000012H   SYMBOL    CODE     NEAR LAB  ?L?COM0015
+      010018FAH   SYMBOL    CODE     NEAR LAB  ?L?COM0016
+      01000F80H   SYMBOL    CODE     NEAR LAB  ?L?COM0017
+      010010F9H   SYMBOL    CODE     NEAR LAB  ?L?COM0018
+      010014E4H   SYMBOL    CODE     NEAR LAB  ?L?COM001A
+      01000F3AH   SYMBOL    CODE     NEAR LAB  ?L?COM001B
+      01001464H   SYMBOL    CODE     NEAR LAB  ?L?COM001D
+      0100125CH   SYMBOL    CODE     NEAR LAB  ?L?COM001F
+      01001AF0H   SYMBOL    CODE     NEAR LAB  ?L?COM0020
+      010010F2H   SYMBOL    CODE     NEAR LAB  ?L?COM0021
+      01001A0EH   SYMBOL    CODE     NEAR LAB  ?L?COM0022
+      010011B2H   SYMBOL    CODE     NEAR LAB  ?L?COM0023
+      010016D0H   SYMBOL    CODE     NEAR LAB  ?L?COM0024
+      01001AFDH   SYMBOL    CODE     NEAR LAB  ?L?COM0025
+      01000FA7H   SYMBOL    CODE     NEAR LAB  ?L?COM0026
+      01000FB1H   SYMBOL    CODE     NEAR LAB  ?L?COM0027
+      01000F42H   SYMBOL    CODE     NEAR LAB  ?L?COM0028
+      01000F73H   SYMBOL    CODE     NEAR LAB  ?L?COM0029
+      010011ABH   SYMBOL    CODE     NEAR LAB  ?L?COM002A
+      010016E0H   SYMBOL    CODE     NEAR LAB  ?L?COM002C
+      010012D3H   SYMBOL    CODE     NEAR LAB  ?L?COM002D
+      010014D6H   SYMBOL    CODE     NEAR LAB  ?L?COM002E
+      010014DCH   SYMBOL    CODE     NEAR LAB  ?L?COM002F
+      010016D8H   SYMBOL    CODE     NEAR LAB  ?L?COM0030
+      01001A06H   SYMBOL    CODE     NEAR LAB  ?L?COM0031
+      0100145CH   SYMBOL    CODE     NEAR LAB  ?L?COM0032
+LX51 LINKER/LOCATER V4.66.100.0                                                       11/21/2025  17:13:38  PAGE 53
+
+
+      01000061H   SYMBOL    CODE     NEAR LAB  ?L?COM0033
+      01000F4CH   SYMBOL    CODE     NEAR LAB  ?L?COM0034
+      01000F9FH   SYMBOL    CODE     NEAR LAB  ?L?COM0035
+
+Program Size: data=45.1 xdata=156 const=106 code=6814
+LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 253 - 0
keil/Listings/STARTUP.lst

@@ -0,0 +1,253 @@
+A51 MACRO ASSEMBLER  STARTUP                                                              11/21/2025 17:14:04 PAGE     1
+
+
+MACRO ASSEMBLER A51 V8.2.7.0
+OBJECT MODULE PLACED IN .\Objects\STARTUP.obj
+ASSEMBLER INVOKED BY: d:\Keil_v5\C51\BIN\A51.EXE ..\..\..\..\mcu\STARTUP.A51 SET(SMALL) DEBUG PRINT(.\Listings\STARTUP.l
+                      st) OBJECT(.\Objects\STARTUP.obj) EP
+
+LOC  OBJ            LINE     SOURCE
+
+                       1     $nomod51 
+                       2     ;------------------------------------------------------------------------------
+                       3     ;  This file is part of the C51 Compiler package
+                       4     ;  Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
+                       5     ;  Version 8.01
+                       6     ;
+                       7     ;  *** <<< Use Configuration Wizard in Context Menu >>> ***
+                       8     ;------------------------------------------------------------------------------
+                       9     ;  STARTUP.A51:  This code is executed after processor reset.
+                      10     ;
+                      11     ;  To translate this file use A51 with the following invocation:
+                      12     ;
+                      13     ;     A51 STARTUP.A51
+                      14     ;
+                      15     ;  To link the modified STARTUP.OBJ file to your application use the following
+                      16     ;  Lx51 invocation:
+                      17     ;
+                      18     ;     Lx51 your object file list, STARTUP.OBJ  controls
+                      19     ;
+                      20     ;------------------------------------------------------------------------------
+                      21     ;
+                      22     ;  User-defined <h> Power-On Initialization of Memory
+                      23     ;
+                      24     ;  With the following EQU statements the initialization of memory
+                      25     ;  at processor reset can be defined:
+                      26     ;
+                      27     ; <o> IDATALEN: IDATA memory size <0x0-0x100>
+                      28     ;     <i> Note: The absolute start-address of IDATA memory is always 0
+                      29     ;     <i>       The IDATA space overlaps physically the DATA and BIT areas.
+  0080                30     IDATALEN        EQU     80H
+                      31     ;
+                      32     ; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF> 
+                      33     ;     <i> The absolute start address of XDATA memory
+  0000                34     XDATASTART      EQU     0     
+                      35     ;
+                      36     ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF> 
+                      37     ;     <i> The length of XDATA memory in bytes.
+  0000                38     XDATALEN        EQU     0      
+                      39     ;
+                      40     ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF> 
+                      41     ;     <i> The absolute start address of PDATA memory
+  0000                42     PDATASTART      EQU     0H
+                      43     ;
+                      44     ; <o> PDATALEN: PDATA memory size <0x0-0xFF> 
+                      45     ;     <i> The length of PDATA memory in bytes.
+  0000                46     PDATALEN        EQU     0H
+                      47     ;
+                      48     ;</h>
+                      49     ;------------------------------------------------------------------------------
+                      50     ;
+                      51     ;<h> Reentrant Stack Initialization
+                      52     ;
+                      53     ;  The following EQU statements define the stack pointer for reentrant
+                      54     ;  functions and initialized it:
+                      55     ;
+                      56     ; <h> Stack Space for reentrant functions in the SMALL model.
+                      57     ;  <q> IBPSTACK: Enable SMALL model reentrant stack
+A51 MACRO ASSEMBLER  STARTUP                                                              11/21/2025 17:14:04 PAGE     2
+
+                      58     ;     <i> Stack space for reentrant functions in the SMALL model.
+  0000                59     IBPSTACK        EQU     0       ; set to 1 if small reentrant is used.
+                      60     ;  <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
+                      61     ;     <i> Set the top of the stack to the highest location.
+  0100                62     IBPSTACKTOP     EQU     0xFF +1     ; default 0FFH+1  
+                      63     ; </h>
+                      64     ;
+                      65     ; <h> Stack Space for reentrant functions in the LARGE model.      
+                      66     ;  <q> XBPSTACK: Enable LARGE model reentrant stack
+                      67     ;     <i> Stack space for reentrant functions in the LARGE model.
+  0000                68     XBPSTACK        EQU     0       ; set to 1 if large reentrant is used.
+                      69     ;  <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
+                      70     ;     <i> Set the top of the stack to the highest location.
+  0000                71     XBPSTACKTOP     EQU     0xFFFF +1   ; default 0FFFFH+1 
+                      72     ; </h>
+                      73     ;
+                      74     ; <h> Stack Space for reentrant functions in the COMPACT model.    
+                      75     ;  <q> PBPSTACK: Enable COMPACT model reentrant stack
+                      76     ;     <i> Stack space for reentrant functions in the COMPACT model.
+  0000                77     PBPSTACK        EQU     0       ; set to 1 if compact reentrant is used.
+                      78     ;
+                      79     ;   <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
+                      80     ;     <i> Set the top of the stack to the highest location.
+  0100                81     PBPSTACKTOP     EQU     0xFF +1     ; default 0FFH+1  
+                      82     ; </h>
+                      83     ;</h>
+                      84     ;------------------------------------------------------------------------------
+                      85     ;
+                      86     ;  Memory Page for Using the Compact Model with 64 KByte xdata RAM
+                      87     ;  <e>Compact Model Page Definition
+                      88     ;
+                      89     ;  <i>Define the XDATA page used for PDATA variables. 
+                      90     ;  <i>PPAGE must conform with the PPAGE set in the linker invocation.
+                      91     ;
+                      92     ; Enable pdata memory page initalization
+  0000                93     PPAGEENABLE     EQU     0       ; set to 1 if pdata object are used.
+                      94     ;
+                      95     ; <o> PPAGE number <0x0-0xFF> 
+                      96     ; <i> uppermost 256-byte address of the page used for PDATA variables.
+  0000                97     PPAGE           EQU     0
+                      98     ;
+                      99     ; <o> SFR address which supplies uppermost address byte <0x0-0xFF> 
+                     100     ; <i> most 8051 variants use P2 as uppermost address byte
+  00A0               101     PPAGE_SFR       DATA    0A0H
+                     102     ;
+                     103     ; </e>
+                     104     ;------------------------------------------------------------------------------
+                     105     
+                     106     ; Standard SFR Symbols 
+  00E0               107     ACC     DATA    0E0H
+  00F0               108     B       DATA    0F0H
+  0081               109     SP      DATA    81H
+  0082               110     DPL     DATA    82H
+  0083               111     DPH     DATA    83H
+                     112     
+                     113                     NAME    ?C_STARTUP
+                     114     
+                     115     
+                     116     ?C_C51STARTUP   SEGMENT   CODE
+                     117     ?STACK          SEGMENT   IDATA
+                     118     
+----                 119                     RSEG    ?STACK
+0000                 120                     DS      1
+                     121     
+                     122                     EXTRN CODE (?C_START)
+                     123                     PUBLIC  ?C_STARTUP
+A51 MACRO ASSEMBLER  STARTUP                                                              11/21/2025 17:14:04 PAGE     3
+
+                     124     
+----                 125                     CSEG    AT      0H
+0000 020000   F      126     ?C_STARTUP:     LJMP    STARTUP1
+                     127     
+----                 128                     RSEG    ?C_C51STARTUP
+                     129     
+0000                 130     STARTUP1:
+                     131     
+                     132     IF IDATALEN <> 0
+0000 787F            133                     MOV     R0,#IDATALEN - 1
+0002 E4              134                     CLR     A
+0003 F6              135     IDATALOOP:      MOV     @R0,A
+0004 D8FD            136                     DJNZ    R0,IDATALOOP
+                     137     ENDIF
+                     138     
+                     139     IF XDATALEN <> 0
+                                             MOV     DPTR,#XDATASTART
+                                             MOV     R7,#LOW (XDATALEN)
+                               IF (LOW (XDATALEN)) <> 0
+                                             MOV     R6,#(HIGH (XDATALEN)) +1
+                               ELSE
+                                             MOV     R6,#HIGH (XDATALEN)
+                               ENDIF
+                                             CLR     A
+                             XDATALOOP:      MOVX    @DPTR,A
+                                             INC     DPTR
+                                             DJNZ    R7,XDATALOOP
+                                             DJNZ    R6,XDATALOOP
+                             ENDIF
+                     153     
+                     154     IF PPAGEENABLE <> 0
+                                             MOV     PPAGE_SFR,#PPAGE
+                             ENDIF
+                     157     
+                     158     IF PDATALEN <> 0
+                                             MOV     R0,#LOW (PDATASTART)
+                                             MOV     R7,#LOW (PDATALEN)
+                                             CLR     A
+                             PDATALOOP:      MOVX    @R0,A
+                                             INC     R0
+                                             DJNZ    R7,PDATALOOP
+                             ENDIF
+                     166     
+                     167     IF IBPSTACK <> 0
+                             EXTRN DATA (?C_IBP)
+                             
+                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
+                             ENDIF
+                     172     
+                     173     IF XBPSTACK <> 0
+                             EXTRN DATA (?C_XBP)
+                             
+                                             MOV     ?C_XBP,#HIGH XBPSTACKTOP
+                                             MOV     ?C_XBP+1,#LOW XBPSTACKTOP
+                             ENDIF
+                     179     
+                     180     IF PBPSTACK <> 0
+                             EXTRN DATA (?C_PBP)
+                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
+                             ENDIF
+                     184     
+0006 758100   F      185                     MOV     SP,#?STACK-1
+                     186     
+                     187     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
+                     188     ;<h> Code Banking
+                     189     ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
+A51 MACRO ASSEMBLER  STARTUP                                                              11/21/2025 17:14:04 PAGE     4
+
+                     190     
+                             
+                             
+                                             
+                             
+                     195     ;</h>
+0009 020000   F      196                     LJMP    ?C_START
+                     197     
+                     198                     END
+A51 MACRO ASSEMBLER  STARTUP                                                              11/21/2025 17:14:04 PAGE     5
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E             T Y P E  V A L U E   ATTRIBUTES
+
+?C_C51STARTUP. . .  C SEG    000CH       REL=UNIT
+?C_START . . . . .  C ADDR   -----       EXT
+?C_STARTUP . . . .  C ADDR   0000H   A   
+?STACK . . . . . .  I SEG    0001H       REL=UNIT
+ACC. . . . . . . .  D ADDR   00E0H   A   
+B. . . . . . . . .  D ADDR   00F0H   A   
+DPH. . . . . . . .  D ADDR   0083H   A   
+DPL. . . . . . . .  D ADDR   0082H   A   
+IBPSTACK . . . . .  N NUMB   0000H   A   
+IBPSTACKTOP. . . .  N NUMB   0100H   A   
+IDATALEN . . . . .  N NUMB   0080H   A   
+IDATALOOP. . . . .  C ADDR   0003H   R   SEG=?C_C51STARTUP
+PBPSTACK . . . . .  N NUMB   0000H   A   
+PBPSTACKTOP. . . .  N NUMB   0100H   A   
+PDATALEN . . . . .  N NUMB   0000H   A   
+PDATASTART . . . .  N NUMB   0000H   A   
+PPAGE. . . . . . .  N NUMB   0000H   A   
+PPAGEENABLE. . . .  N NUMB   0000H   A   
+PPAGE_SFR. . . . .  D ADDR   00A0H   A   
+SP . . . . . . . .  D ADDR   0081H   A   
+STARTUP1 . . . . .  C ADDR   0000H   R   SEG=?C_C51STARTUP
+XBPSTACK . . . . .  N NUMB   0000H   A   
+XBPSTACKTOP. . . .  N NUMB   0000H   A   
+XDATALEN . . . . .  N NUMB   0000H   A   
+XDATASTART . . . .  N NUMB   0000H   A   
+
+
+REGISTER BANK(S) USED: 0 
+
+
+ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

+ 235 - 0
keil/Listings/gpio.lst

@@ -0,0 +1,235 @@
+C51 COMPILER V9.60.7.0   GPIO                                                              11/21/2025 17:14:04 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE GPIO
+OBJECT MODULE PLACED IN .\Objects\gpio.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\..\..\..\driver\src\gpio.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE OR
+                    -DER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;
+                    -..\..\..\..\middleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\gpio.lst) TABS(2) OBJECT(.\Objects\gpi
+                    -o.obj)
+
+line level    source
+
+   1          /**
+   2           ************************************************************************
+   3           * @file     gpio.c
+   4           * @author   Panchip Team
+   5           * @version  V0.5
+   6           * @date     2024-04-28
+   7           * @brief    This file provides all the gpio firmware functions.
+   8           * @note
+   9           * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+  10           ****************************************************************************
+  11           */
+  12          
+  13          #include "gpio.h"
+  14          
+  15          /** @addtogroup PAN262x_Std_Driver
+  16           * @{
+  17           */
+  18          
+  19          /** @defgroup GPIO
+  20           * @brief GPIO driver modules
+  21           * @{
+  22           */
+  23          
+  24          /** @defgroup GPIO_Private_Functions
+  25           * @{
+  26           */
+  27          
+  28          code GpioInOutCfg_t GpioInOutCfg[GPIO_MODE_MAX] = {
+  29              /* Dien    Doen */
+  30              {ENABLE, DISABLE}, // GPIO_MODE_INPUT
+  31              {ENABLE, ENABLE},  // GPIO_MODE_OUTPUT_PP
+  32              {ENABLE, ENABLE},  // GPIO_MODE_OUTPUT_OD
+  33              {DISABLE, DISABLE} // GPIO_MODE_ANALOG
+  34          };
+  35          
+  36          /**
+  37           * @brief  This function initializes GPIO_P1x/GPIO_P3x
+  38           * @param  Port
+  39           *          @arg GPIO_P10
+  40           *          @arg GPIO_P11
+  41           *          @arg GPIO_P12
+  42           *          @arg GPIO_P13
+  43           *          @arg GPIO_P14
+  44           *          @arg GPIO_P15
+  45           *          @arg GPIO_P16
+  46           *          @arg GPIO_P30
+  47           *          @arg GPIO_P31
+  48           *          @arg GPIO_P32
+  49           *          @arg GPIO_P33
+  50           *          @arg GPIO_P34
+  51           *          @arg GPIO_P35
+  52           *          @arg GPIO_P36
+C51 COMPILER V9.60.7.0   GPIO                                                              11/21/2025 17:14:04 PAGE 2   
+
+  53           *          @arg GPIO_P37
+  54           * @param  Mux
+  55           *          @ref eGpioP1xMUX_t,where x can be 0 to 6
+  56           *          @ref eGpioP3yMUX_t,where y can be 0 to 7
+  57           * @param  Mode:
+  58           *          @arg GPIO_MODE_INPUT
+  59           *          @arg GPIO_MODE_OUTPUT_PP
+  60           *          @arg GPIO_MODE_OUTPUT_OD
+  61           *          @arg GPIO_MODE_ANALOG
+  62           * @param  per : Pull:
+  63           *          @arg GPIO_NOPULL
+  64           *          @arg GPIO_PULLUP
+  65           *          @arg GPIO_PULLDOWN
+  66           * @retval None
+  67           */
+  68          void GPIO_Init(u8 Port, u8 Mux, u8 Mode, u8 Pull)
+  69          {
+  70   1          P3Offset_t Offset;
+  71   1          u8 BitId = Port & 0x0F;
+  72   1      
+  73   1          if ((Port & 0xF0) == GPIO_PORT1)
+  74   1          {
+  75   2              *(u8 *)(&Offset) = 0x00; /* P1x offset */
+  76   2          }
+  77   1          else if ((Port & 0xF0) == GPIO_PORT3)
+  78   1          {
+  79   2              *(u8 *)(&Offset) = 0xFB; /* P3x offset */
+  80   2          }
+  81   1          else
+  82   1          {
+  83   2              return;
+  84   2          }
+  85   1      
+  86   1          /* set gpio multi function */
+  87   1          SET_WREG_BIT(SYS, SYS_P1_MFP0 + Offset.Mfp, BitId, Mux & GPIO_MUX_00X);
+  88   1          SET_WREG_BIT(SYS, SYS_P1_MFP1 + Offset.Mfp, BitId, Mux & GPIO_MUX_0X0);
+  89   1          SET_WREG_BIT(SYS, SYS_P1_MFP2 + Offset.Mfp, BitId, Mux & GPIO_MUX_X00);
+  90   1      
+  91   1          /* set gpio Mode:digital input,push Pull,open drain,analog input */
+  92   1          if (Mode == GPIO_MODE_ANALOG)
+  93   1          {
+  94   2              SET_WREG_BIT(SYS, SYS_P1_MODE0 + Offset.Mode, BitId, 0);
+  95   2              SET_WREG_BIT(SYS, SYS_P1_MODE1 + Offset.Mode, BitId, 0);
+  96   2          }
+  97   1          else
+  98   1          {
+  99   2              SET_WREG_BIT(SYS, SYS_P1_MODE0 + Offset.Mode, BitId, Mode & GPIO_MODE_00X);
+ 100   2              SET_WREG_BIT(SYS, SYS_P1_MODE1 + Offset.Mode, BitId, Mode & GPIO_MODE_0X0);
+ 101   2          }
+ 102   1      
+ 103   1          /* set gpio Px_x output&input enable or disable */
+ 104   1          SET_WREG_BIT(SYS, SYS_P1_OE + Offset.Doen, BitId, GpioInOutCfg[Mode].Doen);
+ 105   1          SET_WREG_BIT(SYS, SYS_P1_DIEN + Offset.Dien, BitId, GpioInOutCfg[Mode].Dien);
+ 106   1      
+ 107   1          /* set gpio Px_x Pull up or down resistor */
+ 108   1          SET_WREG_BIT(SYS, SYS_P1_PUEN + Offset.Puen, BitId, Pull & GPIO_PULLUP);
+ 109   1          SET_WREG_BIT(SYS, SYS_P1_PDEN + Offset.Pden, BitId, Pull & GPIO_PULLDOWN);
+ 110   1      }
+ 111          
+ 112          /**
+ 113           * @brief  Config GPIO INT0/1 interrupt
+ 114           * @param  GPIO_INTx:where x can be 0 and 1
+C51 COMPILER V9.60.7.0   GPIO                                                              11/21/2025 17:14:04 PAGE 3   
+
+ 115           * @param  Trigger: specifies gpio int0/1 trigger mode.
+ 116           *          This parameter can be a value of @ref PWM_ModeTypeDef
+ 117           * @retval None
+ 118           */
+ 119          void GPIO_ExtIntConfig(u8 GPIO_INTx, GPIO_TriggerTypeDef Trigger)
+ 120          {
+ 121   1          if (GPIO_INTx == GPIO_INT0)
+ 122   1          {
+ 123   2              IT0 = Trigger;
+ 124   2              EX0 = TRUE;
+ 125   2          }
+ 126   1          else
+ 127   1          {
+ 128   2              IT1 = Trigger;
+ 129   2              EX1 = TRUE;
+ 130   2          }
+ 131   1      }
+ 132          
+ 133          /**
+ 134           * @brief  This function enable gpio Debounce function
+ 135           * @param  GPIO_INTx: where x can be 0 and 1
+ 136           * @param  DbcTicks: debounce time=DbcTicks*128us
+ 137           * @retval None
+ 138           */
+ 139          void GPIO_EnableDbc(u8 GPIO_INTx, u8 DbcTicks)
+ 140          {
+ 141   1          if (GPIO_INTx == GPIO_INT0)
+ 142   1          {
+ 143   2              MODIFY_WREG(SYS, EINT0_DBC, 0xFF, DbcTicks | 0x80);
+ 144   2          }
+ 145   1          else
+ 146   1          {
+ 147   2              MODIFY_WREG(SYS, EINT1_DBC, 0xFF, DbcTicks | 0x80);
+ 148   2          }
+ 149   1      }
+ 150          
+ 151          /**
+ 152           * @brief  This function disable gpio Debounce function
+ 153           * @param  GPIO_INTx:where x can be 0 and 1
+ 154           * @retval None
+ 155           */
+ 156          void GPIO_DisableDbc(u8 GPIO_INTx)
+ 157          {
+ 158   1          if (GPIO_INTx == GPIO_INT0)
+ 159   1          {
+ 160   2              MODIFY_WREG(SYS, EINT0_DBC, 0xFF, 0x00);
+ 161   2          }
+ 162   1          else
+ 163   1          {
+ 164   2              MODIFY_WREG(SYS, EINT1_DBC, 0xFF, 0x00);
+ 165   2          }
+ 166   1      }
+ 167          
+ 168          /**
+ 169           * @brief  This function enable P36 reset function
+ 170           * @param  uDat
+ 171           * @retval None
+ 172           */
+ 173          void GPIO_EnableRst(void)
+ 174          {
+ 175   1          ANA_SEL = GPIO_RCH_SYNC_TRG;
+ 176   1          ANA_DAT |= P36_NRST_EN;
+C51 COMPILER V9.60.7.0   GPIO                                                              11/21/2025 17:14:04 PAGE 4   
+
+ 177   1      }
+ 178          
+ 179          /**
+ 180           * @brief  This function disable P36 reset function
+ 181           * @param  uDat
+ 182           * @retval None
+ 183           */
+ 184          void GPIO_DisableRst(void)
+ 185          {
+ 186   1          ANA_SEL = GPIO_RCH_SYNC_TRG;
+ 187   1          ANA_DAT &= ~P36_NRST_EN;
+ 188   1      }
+ 189          /**
+ 190           * @}
+ 191           */
+ 192          
+ 193          /**
+ 194           * @}
+ 195           */
+ 196          
+ 197          /**
+ 198           * @}
+ 199           */
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    670    ----
+   CONSTANT SIZE    =      8    ----
+   XDATA SIZE       =   ----    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----       5
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 56 - 0
keil/Listings/log.lst

@@ -0,0 +1,56 @@
+C51 COMPILER V9.60.7.0   LOG                                                               11/21/2025 17:14:05 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE LOG
+OBJECT MODULE PLACED IN .\Objects\log.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\..\..\..\middleware\log\log.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE
+                    - ORDER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\del
+                    -ay;..\..\..\..\middleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\log.lst) TABS(2) OBJECT(.\Objects\l
+                    -og.obj)
+
+line level    source
+
+   1          #include "log.h"
+   2          
+   3          void panlog_hexdump(u8 width, u8 *buf, u16 Size)
+   4          {
+   5   1          u16 i;
+   6   1          for (i = 0; i < Size; i++)
+   7   1          {
+   8   2              printf("%02bX ", buf[i]);
+   9   2              if (i % width == (width - 1))
+  10   2                  printf("\n");
+  11   2          }
+  12   1          
+  13   1          printf("\n");
+  14   1      }
+  15          
+  16          void print_hex(u8 *buf, u16 Size)
+  17          {
+  18   1          u16 i;
+  19   1          
+  20   1          for (i = 0; i < Size; i++)
+  21   1          {
+  22   2              printf("%02bX ", buf[i]);
+  23   2          }
+  24   1          
+  25   1          printf("\n");
+  26   1      }
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    189    ----
+   CONSTANT SIZE    =      9    ----
+   XDATA SIZE       =   ----    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----      15
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 560 - 0
keil/Listings/main.lst

@@ -0,0 +1,560 @@
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN
+OBJECT MODULE PLACED IN .\Objects\main.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\source\main.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE ORDER NOAREGS M
+                    -ODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;..\..\..\..\m
+                    -iddleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\main.lst) TABS(2) OBJECT(.\Objects\main.obj)
+
+line level    source
+
+   1          /**
+   2           ************************************************************************
+   3           * @file     main.c
+   4           * @brief    Example for RF tx function.
+   5           * @version  V0.6
+   6           * @date     2024-11-20
+   7           * @author   Panchip Team
+   8           * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+   9           ****************************************************************************
+  10           */
+  11          
+  12          #include <intrins.h>
+  13          #include "stdlib.h"
+  14          #include <string.h>
+  15          #include <stdio.h>
+  16          #include "gpio.h"
+  17          #include "rcc.h"
+  18          #include "rf.h"
+  19          #include "uart.h"
+  20          #include "timer.h"
+  21          #include "log.h"
+  22          
+  23          #ifndef IS_CLIENT_BOARD
+              #define IS_CLIENT_BOARD     0
+              #endif
+  26          
+  27          #if IS_CLIENT_BOARD
+  28          #define USER_KEY_PIN        GPIO_P32
+  29          #define USER_KEY_PIN_BIT        P3_2
+  30          #define USER_KEY_PIN_MUX    GPIO_P32_MUX_IO
+  31          #else
+              #define USER_KEY_PIN        GPIO_P33
+              #define USER_KEY_PIN_BIT        P3_3
+              #define USER_KEY_PIN_MUX    GPIO_P33_MUX_IO
+              #endif
+  36          
+  37          #define RF_ADRESS_SIZE 5
+  38          #define RF_TX_BUF_SIZE 64   // The length of PAYLOAD/ACK PAYLOAD to be sent each time
+  39          #define RF_RX_BUF_SIZE 64   // Receive payload length is set by RF_SetRxPayloadLen
+  40          RF_ITStatus_t rf_status;
+  41          
+  42          typedef struct
+  43          {
+  44              /* radio param */
+  45              u16 channel;            // 2400~2480
+  46              RF_TxPower_t txPower;   // 0dbm~13dbm
+  47              RF_DataRate_t rate;     // 1Mbps, 2Mbps and 250Kbps
+  48              
+  49              /* radio config */
+  50              RF_ChipMode_t ChipMode; // 297L、BLE and 24L01
+  51              RF_WorkMode_t WorkMode; // normal mode and enhance mode
+  52              bool EnAPL;             // ack payload enable or disable only used in enhancde mode
+  53              bool EnDPL;             // dynamic payload enable or disable only used in enhancde mode
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 2   
+
+  54              bool EnTxNoAck;         // tx noack enable or disable only used in normal mode
+  55              bool EnWhite;           // whiten enable or disable
+  56              RF_Crc_t crc;
+  57              u8 AddrWidth;
+  58              u8 TRxAddr[RF_ADRESS_SIZE];
+  59          
+  60              u16 RxTimeoutUs;        // RF Wait for ack timeout time in enhance mode or receive a packet with timeo
+             -ut in normal mode
+  61              u16 TxSetupTimeUs;      // RF tx setup time, the time from the end of the last bit of received packet 
+             -to the start of the first bit of the ack packet
+  62              
+  63              u8 TxBuf[RF_TX_BUF_SIZE];
+  64              u8 RxBuf[RF_RX_BUF_SIZE];
+  65              
+  66              u8 TxLen;
+  67              u8 RxLen;
+  68          } RFConfig_t;
+  69          
+  70          RFConfig_t xdata gRfConfig =
+  71          {
+  72              /*.Channel        =  */ 2418,
+  73              /*.TxPower        =  */ 7,
+  74              /*.DataRate       =  */ RF_DR_1Mbps,
+  75              /*.ChipMode       =  */ RF_CHIPMODE_BLE,
+  76              /*.WorkMode       =  */ RF_WORKMODE_NORMAL,
+  77              /*.EnAPL          =  */ ENABLE,
+  78              /*.EnDPL          =  */ ENABLE,
+  79              /*.EnTxNoAck      =  */ DISABLE,
+  80              /*.EnWhite        =  */ ENABLE,
+  81              /*.Crc            =  */ RF_CRC_2BYTE,
+  82              /*.AddrWidth      =  */ RF_ADRESS_SIZE,
+  83              /*.TRxAddr        =  */ {0x10, 0x22, 0x55, 0x0F, 0x71},  // If you want to test multi-pipe0, you can u
+             -se this address
+  84          //    /*.TRxAddr        =  */ {0x11, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe1, you can 
+             -use this address
+  85          //    /*.TRxAddr        =  */ {0x12, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe2, you can 
+             -use this address
+  86          //    /*.TRxAddr        =  */ {0x13, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe3, you can 
+             -use this address
+  87          //    /*.TRxAddr        =  */ {0x14, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe4, you can 
+             -use this address
+  88          //    /*.TRxAddr        =  */ {0x15, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe5, you can 
+             -use this address
+  89              /*.RxTimeoutUs    =  */ 1000,
+  90              /*.TxSetupTimeUs  =  */ 200,
+  91              /*.TxBuf          =  */ {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  92                                      0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  93                                      0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  94                                      0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  95                                      0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  96                                      0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+  97                                      0x55,0x55,0x55,0x55},
+  98              /*.RxBuf          =  */ {0},
+  99              /*.TxLen          =  */ 0,
+ 100              /*.RxLen          =  */ 0,
+ 101          };
+ 102          
+ 103          u16 xdata Timer2IntCnt = 0; // The interrupt period of timer2's setting is about 50ms
+ 104          
+ 105          void APP_UartInit(void)
+ 106          {
+ 107   1          RCC_PeriphClockCmd(RCC_PERIPH_UART, ENABLE);
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 3   
+
+ 108   1          RCC_PeriphClockCmd(RCC_PERIPH_PORT, ENABLE);
+ 109   1          RCC_PeriphClockCmd(RCC_PERIPH_TIMER1, ENABLE);
+ 110   1      
+ 111   1          /** Initialize uart params(if baudrate is 115200, timer1 will be used by uart) */
+ 112   1          GPIO_Init(GPIO_P31, GPIO_P31_MUX_TXD0, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL);
+ 113   1          UART_Init(LENGTH_8, DISABLE_RX, DISABLE_PAR, BAUD_115200);
+ 114   1      }
+ 115          
+ 116          void APP_Timer2Init(void)
+ 117          {
+ 118   1          RCC_PeriphClockCmd(RCC_PERIPH_TIMER2, ENABLE);
+ 119   1      
+ 120   1          TIM_TimeBaseInit(TIMER2, TIM2_Mode0_16BitAutoReload, TIM_CLK_DIV_12T, 0xFACB);
+ 121   1          TIM_EnableIRQ(TIMER2);   /**< Enable timer0 interrupt */
+ 122   1          TIM_Cmd(TIMER2, ENABLE); /**< Start timer0 */
+ 123   1      }
+ 124          
+ 125          void APP_RfInit(RFConfig_t *pCfg)
+ 126          {
+ 127   1          RCC_PeriphClockCmd(RCC_PERIPH_RF, ENABLE);
+ 128   1          
+ 129   1          RF_Init();
+ 130   1          
+ 131   1          RF_CarrierOffset(0x00);
+ 132   1          RF_SetChipMode(pCfg->ChipMode);
+ 133   1          RF_SetDataRate(pCfg->rate);
+ 134   1          RF_SetChannel(pCfg->channel-2400);
+ 135   1          RF_SetCrc(pCfg->crc);
+ 136   1          RF_SetTxPower(pCfg->txPower);
+ 137   1          
+ 138   1          RF_SetFifoLenType(RF_FIFOLEN_TYPE_64);
+ 139   1          
+ 140   1          RF_SetTxAddr(pCfg->TRxAddr, pCfg->AddrWidth);
+ 141   1          RF_SetRxAddr(RF_PIPE0, pCfg->TRxAddr, pCfg->AddrWidth);
+ 142   1          RF_SetRxPayloadLen(RF_PIPE0, sizeof(gRfConfig.RxBuf));
+ 143   1      
+ 144   1          RF_SetWorkMode(pCfg->WorkMode);
+ 145   1          
+ 146   1          /* RF tx setup time: 112us is minimum value */
+ 147   1          RF_SetTxSetupTime(pCfg->TxSetupTimeUs);
+ 148   1      
+ 149   1          if(pCfg->WorkMode == RF_WORKMODE_ENHANCE)
+ 150   1          {
+ 151   2              RF_SetTRxAckTimeout(pCfg->RxTimeoutUs);
+ 152   2              RF_SetAutoRetrans(250, 3); // 250us delay, 3 times retransmit
+ 153   2              RF_SetNoAck(pCfg->EnTxNoAck);
+ 154   2              RF_SetAckPayload(pCfg->EnAPL);
+ 155   2              RF_EnableDynamicPayload(RF_PIPE0, pCfg->EnDPL);
+ 156   2          }
+ 157   1          else
+ 158   1          {
+ 159   2              RF_SetAutoRetrans(250, 0); // You must disable the auto retransmit function, when chip is in norma
+             -l mode
+ 160   2              RF_SetNoAck(ENABLE); // You must enable the Tx noack bit, when chip is in normal mode 
+ 161   2              RF_SetAckPayload(DISABLE);
+ 162   2              RF_EnableDynamicPayload(RF_PIPE0, DISABLE);
+ 163   2          }
+ 164   1      
+ 165   1          RF_ITConfig(RF_ITCONF_TX|RF_ITCONF_RX|RF_ITCONF_TX_MAX, ENABLE);
+ 166   1          RF_EnableIRQ();
+ 167   1      }
+ 168          void DelayMs(u16 Ms)
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 4   
+
+ 169          {
+ 170   1          u16 i, j;
+ 171   1      
+ 172   1          for (i = 0; i < Ms; i++)
+ 173   1          {
+ 174   2              for (j = 0; j < 1000; j++)
+ 175   2          {
+ 176   3            ;
+ 177   3                  _nop_();
+ 178   3          }
+ 179   2          }
+ 180   1      }
+ 181          static unsigned char key_flag = 0;
+ 182          unsigned char key_scan(void)
+ 183          {
+ 184   1        uint8_t P10Sta;
+ 185   1        if (USER_KEY_PIN_BIT)
+ 186   1        {
+ 187   2          P10Sta = 1;
+ 188   2        }
+ 189   1        else
+ 190   1        {
+ 191   2          P10Sta = 0;
+ 192   2        }
+ 193   1        // printf("USER_KEY_PIN_BIT=[%bu]\r\n", P10Sta);
+ 194   1        if(P10Sta==0)
+ 195   1        {
+ 196   2          if (key_flag== 0)
+ 197   2          {
+ 198   3            DelayMs(300);
+ 199   3            if(P10Sta==0)
+ 200   3            {
+ 201   4              key_flag = 1;
+ 202   4            }
+ 203   3          }
+ 204   2          
+ 205   2        }
+ 206   1        else
+ 207   1        {
+ 208   2          if(P10Sta)
+ 209   2          {
+ 210   3            if(key_flag==1)
+ 211   3            {
+ 212   4              DelayMs(300);
+ 213   4              if(P10Sta)
+ 214   4              {
+ 215   5                if(key_flag==1)
+ 216   5                {
+ 217   6                key_flag=0;
+ 218   6                  return 1;
+ 219   6                }
+ 220   5                key_flag=0;
+ 221   5              }
+ 222   4            }
+ 223   3          }
+ 224   2        }
+ 225   1          
+ 226   1        return 0;
+ 227   1      }
+ 228          int main(void)
+ 229          {
+ 230   1          uint8_t txrx_done = 0;
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 5   
+
+ 231   1          uint8_t mode = 250;
+ 232   1          uint8_t mode_set = 0;
+ 233   1          uint8_t rf_ch = 2;
+ 234   1          uint8_t get_rand_num = 0;
+ 235   1          uint8_t autoMode = 0;
+ 236   1          int sendPacketCount = 0;
+ 237   1          /** System clock initialize */
+ 238   1          RCC_SysClkInit();
+ 239   1          DelayMs(1000);
+ 240   1          APP_UartInit();
+ 241   1          APP_Timer2Init();
+ 242   1          APP_RfInit(&gRfConfig);
+ 243   1      
+ 244   1          RF_EnterTxMode();
+ 245   1          GPIO_Init(USER_KEY_PIN, USER_KEY_PIN_MUX, GPIO_MODE_INPUT, GPIO_PULLUP);
+ 246   1          EA = 1;
+ 247   1          
+ 248   1          printf("RF Tx Test.\r\n");
+ 249   1          
+ 250   1          while (1)
+ 251   1          {
+ 252   2              // static u8 Count = 0;
+ 253   2              if (rf_status)
+ 254   2              {
+ 255   3                  switch (rf_status)
+ 256   3                  {
+ 257   4                      case RF_IT_TX_RX_DONE:
+ 258   4                          printf("Tx&Rx done.\n");
+ 259   4                          break;
+ 260   4                      case RF_IT_TX_DONE:
+ 261   4                          // printf("Tx done.\n");
+ 262   4                          txrx_done = 1;
+ 263   4                          break;
+ 264   4                      case RF_IT_RX_DONE:
+ 265   4                          // printf("Rx done.\n");
+ 266   4                          break;
+ 267   4                      case RF_IT_TX_MAX_RT:
+ 268   4                          printf("Tx fail.\n");
+ 269   4                          break;
+ 270   4                      default:
+ 271   4                          break;
+ 272   4                  }
+ 273   3                  rf_status = RF_IT_NONE;
+ 274   3              }
+ 275   2              if(key_scan())
+ 276   2              {
+ 277   3                  txrx_done = 1;
+ 278   3                  mode_set = 1;
+ 279   3                  mode++;
+ 280   3                  if(mode>=9)mode = 0;
+ 281   3                  printf("mode=[%bu]\r\n", mode);
+ 282   3              }
+ 283   2      
+ 284   2              switch(mode)
+ 285   2              {
+ 286   3                  case 0:
+ 287   3                      if(mode_set)
+ 288   3                      {
+ 289   4                          mode_set = 0;
+ 290   4                          txrx_done = 1;
+ 291   4                          RF_Deinit();
+ 292   4                          APP_RfInit(&gRfConfig);
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 6   
+
+ 293   4                          RF_SetChannel(02);
+ 294   4                          RF_EnterTxMode();
+ 295   4                      }
+ 296   3                      if (txrx_done)
+ 297   3                      {
+ 298   4                          txrx_done = 0;
+ 299   4                          // DelayMs(50);
+ 300   4                          RF_FlushTxFifo();
+ 301   4                          if(gRfConfig.EnTxNoAck)
+ 302   4                          {
+ 303   5                              RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 304   5                          }
+ 305   4                          else
+ 306   4                          {
+ 307   5                              RF_WriteTxPayloadByXDATA(rf_tx, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 308   5                          }
+ 309   4                          // printf("TxLen[%bu]:\n", sizeof(gRfConfig.TxBuf));
+ 310   4                          // panlog_hexdump(16, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 311   4                      }
+ 312   3                      
+ 313   3                      break;
+ 314   3                  case 1:
+ 315   3                      if(mode_set)
+ 316   3                      {
+ 317   4                          mode_set = 0;
+ 318   4                          txrx_done = 1;
+ 319   4                          RF_SetChannel(40);
+ 320   4                      }
+ 321   3                      if (txrx_done)
+ 322   3                      {
+ 323   4                          txrx_done = 0;
+ 324   4                          // DelayMs(50);
+ 325   4                          RF_FlushTxFifo();
+ 326   4                          RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 327   4                          // printf("start to send data\r\n");
+ 328   4                      }
+ 329   3                      break;
+ 330   3                  case 2:
+ 331   3                      if(mode_set)
+ 332   3                      {
+ 333   4                          mode_set = 0;
+ 334   4                          txrx_done = 1;
+ 335   4                          RF_SetChannel(80);
+ 336   4                      }
+ 337   3                      if (txrx_done)
+ 338   3                      {
+ 339   4                          txrx_done = 0;
+ 340   4                          // DelayMs(50);
+ 341   4                          RF_FlushTxFifo();
+ 342   4                          RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 343   4                          // printf("start to send data\r\n");
+ 344   4                      }
+ 345   3                      break;
+ 346   3                  case 3:
+ 347   3                      if(mode_set)
+ 348   3                      {
+ 349   4                          mode_set = 0;
+ 350   4                          RF_SetChannel(2);
+ 351   4                          RF_EnterRxMode();
+ 352   4                          printf("RF_EnterRxMode\r\n");
+ 353   4                      }
+ 354   3                      break;
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 7   
+
+ 355   3                  case 4:
+ 356   3                      if(mode_set)
+ 357   3                      {
+ 358   4                          mode_set = 0;
+ 359   4                          txrx_done=0;
+ 360   4                          RF_Deinit();
+ 361   4                          APP_RfInit(&gRfConfig);
+ 362   4                          RF_SetChannel(2);
+ 363   4                          RF_EnterTxMode();
+ 364   4                          // DelayMs(50);
+ 365   4                          
+ 366   4                          RF_Carrier();
+ 367   4                      }
+ 368   3                      break;
+ 369   3                  case 5:
+ 370   3                      if(mode_set)
+ 371   3                      {
+ 372   4                          mode_set = 0;
+ 373   4                          RF_SetChannel(40);
+ 374   4                      }
+ 375   3                      break;
+ 376   3                  case 6:
+ 377   3                      if(mode_set)
+ 378   3                      {
+ 379   4                          
+ 380   4                          mode_set = 0;
+ 381   4                          RF_SetChannel(80);
+ 382   4                      }
+ 383   3                      break;
+ 384   3                  case 7:
+ 385   3                      if(mode_set)
+ 386   3                      {
+ 387   4                          mode_set = 0;
+ 388   4                          RF_Deinit();
+ 389   4                          APP_RfInit(&gRfConfig);
+ 390   4                          RF_EnterTxMode();
+ 391   4                          txrx_done=1;
+ 392   4                          sendPacketCount = 0;
+ 393   4                      }
+ 394   3                      if (sendPacketCount >= 300)
+ 395   3                      {
+ 396   4                          sendPacketCount = 0;
+ 397   4                          // flag_200ms = 0;
+ 398   4                          get_rand_num = rand()%41;
+ 399   4                          rf_ch = get_rand_num*2;
+ 400   4                          if(rf_ch>80)rf_ch=80;
+ 401   4                          RF_SetChannel(rf_ch);
+ 402   4                          printf("rand_num=[%bu]\r\n", rf_ch);
+ 403   4                      }
+ 404   3                      if (txrx_done)
+ 405   3                      {
+ 406   4                          sendPacketCount++;
+ 407   4                          txrx_done=0;
+ 408   4                          RF_FlushTxFifo();
+ 409   4                          RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 410   4                      }
+ 411   3                          
+ 412   3                      break;
+ 413   3                  case 8:
+ 414   3                      if(mode_set)
+ 415   3                      {
+ 416   4                          mode_set = 0;
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 8   
+
+ 417   4                          rf_ch = 0;
+ 418   4                          txrx_done=1;
+ 419   4                          sendPacketCount = 0;
+ 420   4                      }
+ 421   3                      
+ 422   3                      if (sendPacketCount >= 300)
+ 423   3                      {
+ 424   4                          sendPacketCount = 0;
+ 425   4                          txrx_done=0;
+ 426   4                          rf_ch+=2;
+ 427   4                          if(rf_ch>80)rf_ch=2;
+ 428   4                          RF_SetChannel(rf_ch);
+ 429   4                          printf("rf_ch=[%bu]\r\n", rf_ch);
+ 430   4                      }
+ 431   3                          if (txrx_done)
+ 432   3                          {
+ 433   4                              txrx_done=0;
+ 434   4                          sendPacketCount++;
+ 435   4                              RF_FlushTxFifo();
+ 436   4                              RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 437   4                          }
+ 438   3                      break;
+ 439   3              }
+ 440   2              // if(Timer2IntCnt >= 500)
+ 441   2              // {
+ 442   2              //     Timer2IntCnt = 0;
+ 443   2              //     memset(gRfConfig.TxBuf, Count++, sizeof(gRfConfig.TxBuf));
+ 444   2              //     RF_FlushTxFifo();
+ 445   2              //     if(gRfConfig.EnTxNoAck)
+ 446   2              //     {
+ 447   2              //         RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 448   2              //     }
+ 449   2              //     else
+ 450   2              //     {
+ 451   2              //         RF_WriteTxPayloadByXDATA(rf_tx, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 452   2              //     }
+ 453   2              //     printf("TxLen[%bu]:\n", sizeof(gRfConfig.TxBuf));
+ 454   2              //     panlog_hexdump(16, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+ 455   2              // }
+ 456   2              
+ 457   2              // if(gRfConfig.RxLen > 0)
+ 458   2              // {
+ 459   2              //     printf("RxLen[%bu]:\n", gRfConfig.RxLen);
+ 460   2              //     panlog_hexdump(16, gRfConfig.RxBuf, gRfConfig.RxLen);
+ 461   2              //     gRfConfig.RxLen = 0;
+ 462   2              // }
+ 463   2          }
+ 464   1      }
+ 465          
+ 466          /**
+ 467           * @brief
+ 468           * @param  None
+ 469           * @retval None
+ 470           */
+ 471          void RF_InterruptHandler(void) interrupt RF_COM3_VECTOR
+ 472          {
+ 473   1      
+ 474   1          rf_status = RF_GetIRQFlags();
+ 475   1          switch (rf_status)
+ 476   1          {
+ 477   2          case RF_IT_TX_RX_DONE:
+ 478   2              if(gRfConfig.EnAPL != RF_APL_DISABLE)
+C51 COMPILER V9.60.7.0   MAIN                                                              11/21/2025 17:14:05 PAGE 9   
+
+ 479   2              {
+ 480   3                  gRfConfig.RxLen = RF_ReadRxPayloadByXDATA(gRfConfig.RxBuf, sizeof(gRfConfig.RxBuf));
+ 481   3              }
+ 482   2              //printf("Tx&Rx done.\n");
+ 483   2              break;
+ 484   2          case RF_IT_TX_DONE:
+ 485   2              //printf("Tx done.\n");
+ 486   2              break;
+ 487   2          case RF_IT_RX_DONE:
+ 488   2              //printf("Rx done.\n");
+ 489   2              break;
+ 490   2          case RF_IT_TX_MAX_RT:
+ 491   2              //printf("Tx fail.\n");
+ 492   2              break;
+ 493   2          default:
+ 494   2              break;
+ 495   2          }
+ 496   1          RF_FlushRxFifo();
+ 497   1          RF_ClearIRQFlags();
+ 498   1      }
+ 499          
+ 500          void TIMER2_InterruptHandler(void) interrupt TIMER2_VECTOR
+ 501          {
+ 502   1          /* mode1:Tmax = (0x10000)*(1/(16M/div_12)) = 49.152ms */
+ 503   1          /* Clear timer2 global interrupt falg */
+ 504   1          TF2 = 0;
+ 505   1          Timer2IntCnt++;
+ 506   1      }
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =   1476    ----
+   CONSTANT SIZE    =     98    ----
+   XDATA SIZE       =    153    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =      2      11
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 673 - 0
keil/Listings/rcc.lst

@@ -0,0 +1,673 @@
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE RCC
+OBJECT MODULE PLACED IN .\Objects\rcc.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\..\..\..\driver\src\rcc.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE ORD
+                    -ER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;.
+                    -.\..\..\..\middleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\rcc.lst) TABS(2) OBJECT(.\Objects\rcc.o
+                    -bj)
+
+line level    source
+
+   1          /**
+   2           ************************************************************************
+   3           * @file     rcc.c
+   4           * @author   Panchip Team
+   5           * @version  V0.5
+   6           * @date     2024-04-28
+   7           * @brief    This file provides all the rcc firmware functions.
+   8           * @note
+   9           * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+  10           ****************************************************************************
+  11           */
+  12          
+  13          #include "rcc.h"
+  14          
+  15          /** @addtogroup PAN262x_Std_Driver
+  16           * @{
+  17           */
+  18          
+  19          /** @defgroup RCC
+  20           * @brief RCC driver modules
+  21           * @{
+  22           */
+  23          
+  24          /** @defgroup RCC_Private_Functions
+  25           * @{
+  26           */
+  27          
+  28          /**
+  29           * @brief  Reset one or more peripheral.
+  30           * @param  RCC_Periph: specifies the peripheral to be reset.
+  31           *   This parameter can be any combination of the following values:
+  32           *     @arg RCC_PERIPH_WDT: WDT peripheral
+  33           *     @arg RCC_PERIPH_SPI: SPI peripheral
+  34           *     @arg RCC_PERIPH_I2C: I2C peripheral
+  35           *     @arg RCC_PERIPH_TIMER2: TIMER2 peripheral
+  36           *     @arg RCC_PERIPH_TIMER1: TIMER1 peripheral
+  37           *     @arg RCC_PERIPH_TIMER0: TIMER2 peripheral
+  38           *     @arg RCC_PERIPH_UART: UART peripheral
+  39           *     @arg RCC_PERIPH_PORT: PORT peripheral
+  40           *     @arg RCC_PERIPH_USB: USB peripheral
+  41           *     @arg RCC_PERIPH_PWM: PWM peripheral
+  42           *     @arg RCC_PERIPH_ADC: ADC peripheral
+  43           *     @arg RCC_PERIPH_RF: RF peripheral
+  44           * @retval None
+  45           */
+  46          void RCC_PeriphReset(u16 RCC_Periph)
+  47          {
+  48   1          RCC_Periph &= 0x0F7F; /**< Clear bit 7 of RCC_Periph to avoid to reset wdt peripheral */
+  49   1      
+  50   1          if ((RCC_Periph & 0xFF) != 0)
+  51   1          {
+  52   2              RCC_SEL = PERRST0;
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 2   
+
+  53   2              RCC_DAT |= (u8)RCC_Periph;
+  54   2              RCC_DAT &= ~((u8)RCC_Periph);
+  55   2          }
+  56   1          else
+  57   1          {
+  58   2              RCC_Periph >>= 8;
+  59   2      
+  60   2              RCC_SEL = PERRST1;
+  61   2              RCC_DAT |= (u8)RCC_Periph;
+  62   2              RCC_DAT &= ~((u8)RCC_Periph);
+  63   2          }
+  64   1      }
+  65          
+  66          /**
+  67           * @brief  Enables or disables the peripheral clock.
+  68           * @param  RCC_Periph: specifies the peripheral to gates its clock.
+  69           *   This parameter can be any combination of the following values:
+  70           *     @arg RCC_PERIPH_WDT: WDT clock
+  71           *     @arg RCC_PERIPH_SPI: SPI clock
+  72           *     @arg RCC_PERIPH_I2C: I2C clock
+  73           *     @arg RCC_PERIPH_TIMER2: TIMER2 clock
+  74           *     @arg RCC_PERIPH_TIMER1: TIMER1 clock
+  75           *     @arg RCC_PERIPH_TIMER0: TIMER2 clock
+  76           *     @arg RCC_PERIPH_UART: UART clock
+  77           *     @arg RCC_PERIPH_PORT: PORT clock
+  78           *     @arg RCC_PERIPH_USB: USB clock
+  79           *     @arg RCC_PERIPH_PWM: PWM clock
+  80           *     @arg RCC_PERIPH_ADC: ADC clock
+  81           *     @arg RCC_PERIPH_RF: RF clock
+  82           * @param  NewState: new state of the specified peripheral clock.
+  83           *   This parameter can be: ENABLE or DISABLE.
+  84           * @retval None
+  85           */
+  86          void RCC_PeriphClockCmd(u16 RCC_Periph, u8 NewState)
+  87          {
+  88   1          if ((RCC_Periph & 0xFF) != 0)
+  89   1          {
+  90   2              RCC_SEL = PERCLKEN0;
+  91   2      
+  92   2              if (NewState)
+  93   2              {
+  94   3                  RCC_DAT |= (u8)RCC_Periph;
+  95   3              }
+  96   2              else
+  97   2              {
+  98   3                  RCC_DAT &= ~((u8)RCC_Periph);
+  99   3              }
+ 100   2          }
+ 101   1          else
+ 102   1          {
+ 103   2              RCC_SEL = PERCLKEN1;
+ 104   2      
+ 105   2              if (NewState)
+ 106   2              {
+ 107   3                  RCC_DAT |= (u8)(RCC_Periph >> 8);
+ 108   3              }
+ 109   2              else
+ 110   2              {
+ 111   3                  RCC_DAT &= ~((u8)(RCC_Periph >> 8));
+ 112   3              }
+ 113   2          }
+ 114   1      }
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 3   
+
+ 115          
+ 116          /**
+ 117           * @brief  This function ENABLE or DISABLE the peripheral
+ 118           * @param  sel: peripheral
+ 119           *         @arg: RCH
+ 120           *         @arg: RCL
+ 121           *         @arg: XTH
+ 122           *         @arg: DPLL
+ 123           * @param  NewState: enable or disable
+ 124           *         @arg: DISABLE
+ 125           *         @arg: ENABLE
+ 126           * @retval None
+ 127           */
+ 128          void RCC_Ctrl(u8 sel, u8 NewState)
+ 129          {
+ 130   1          u16 count = 0;
+ 131   1          
+ 132   1          RCC_SEL = CLK_TOP_CTRL;
+ 133   1      
+ 134   1          switch (sel)
+ 135   1          {
+ 136   2          case RCH:
+ 137   2              if (NewState)
+ 138   2              {
+ 139   3                  RCC_DAT |= RCH_EN;
+ 140   3                  ANA_RCH_SYNC;
+ 141   3                  RCC_SEL = RCH_CTRL0;
+ 142   3                  while ((RCC_DAT & RCH_RDY) == FALSE)
+ 143   3                  {
+ 144   4                      if(count++>65530)
+ 145   4                      {
+ 146   5                          MCU_REBOOT();
+ 147   5                      }
+ 148   4                  }
+ 149   3              }
+ 150   2              else
+ 151   2              {
+ 152   3                  RCC_DAT &= ~RCH_EN;
+ 153   3                  ANA_RCH_SYNC;
+ 154   3              }
+ 155   2              break;
+ 156   2      
+ 157   2          case RCL:
+ 158   2              if (NewState)
+ 159   2              {
+ 160   3                  RCC_DAT |= RCL_EN;
+ 161   3                  ANA_RCH_SYNC;
+ 162   3              }
+ 163   2              else
+ 164   2              {
+ 165   3                  RCC_DAT &= ~RCL_EN;
+ 166   3                  ANA_RCH_SYNC;
+ 167   3              }
+ 168   2              break;
+ 169   2      
+ 170   2          case XTH:
+ 171   2              if (NewState)
+ 172   2              {
+ 173   3                  u8 Temp;// = RCC_DAT|XTH_EN; /**< Stroe  CLK_TOP_CTRL to Temp */
+ 174   3                      
+ 175   3                  if((RCC_DAT&XTH_EN) != 0) //XTH is already opened
+ 176   3                  {
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 4   
+
+ 177   4                      return;
+ 178   4                  }
+ 179   3                  
+ 180   3                  Temp = RCC_DAT | XTH_EN; /**< Stroe  CLK_TOP_CTRL to Temp */
+ 181   3      
+ 182   3                  if ((RCC_DAT & 0x80) != 0) /**< System clock is from XTH or DPLL_16M */
+ 183   3                  {
+ 184   4                      RCC_DAT |= RCH_EN; /**< Enable interal RCH clock */
+ 185   4                      ANA_RCH_SYNC;
+ 186   4      
+ 187   4                      /** Wait RCH_RDY flag until it becomes to 1 */
+ 188   4                      while ((GET_WREG(RCC, RCH_CTRL0) & RCH_RDY) == FALSE)
+ 189   4                      {
+ 190   5                          if(count++>65530)
+ 191   5                          {
+ 192   6                              MCU_REBOOT();
+ 193   6                          }
+ 194   5                      }
+ 195   4                      AND_WREG(RCC, CLK_TOP_CTRL, 0x3F); /**< Select RCH as system clock */
+ 196   4                  }
+ 197   3      
+ 198   3                  OR_WREG(RCC, XTH_CTRL, 0x0C);       /**< Enable FAST_TRIM */
+ 199   3                  AND_WREG(RCC, XTH_CTRL, 0xEF);      /**< Disable EN_XTAL_RDY */
+ 200   3                  OR_WREG(RCC, CLK_TOP_CTRL, XTH_EN); /**< Enable external XTAL clock */
+ 201   3                  OR_WREG(RCC, XTH_CTRL, 0x10);       /**< Enable EN_XTAL_RDY */
+ 202   3      
+ 203   3                  /** Wait XTAL_RDY flag until it becomes to 1 */
+ 204   3                  while ((GET_WREG(RCC, XTH_CTRL) & XTH_RDY) == FALSE)
+ 205   3                  {
+ 206   4                      if(count++ > 65530)
+ 207   4                      {
+ 208   5                          MCU_REBOOT();
+ 209   5                      }
+ 210   4                  }
+ 211   3      
+ 212   3                  AND_WREG(RCC, XTH_CTRL, 0xFB);     /**< Disable EN_FAST */
+ 213   3      //            SET_WREG(RCC, CLK_TOP_CTRL, Temp); /**< Restroe CLK_TOP_CTRL */
+ 214   3              }
+ 215   2              else
+ 216   2              {
+ 217   3                  RCC_DAT &= ~XTH_EN;
+ 218   3              }
+ 219   2              break;
+ 220   2      
+ 221   2          case DPLL:
+ 222   2              if (NewState)
+ 223   2              {
+ 224   3                  if((RCC_DAT&DPLL_EN) != 0) //DPLL is already opened
+ 225   3                  {
+ 226   4                      return;
+ 227   4                  }
+ 228   3                  
+ 229   3                  RCC_DAT |= DPLL_EN;
+ 230   3                  RCC_SEL = DPLL_CTRL;
+ 231   3                  while ((RCC_DAT & DPLL_RDY) == FALSE)
+ 232   3                  {
+ 233   4                      if(count++>65530)
+ 234   4                      {
+ 235   5                          MCU_REBOOT();
+ 236   5                      }
+ 237   4                  }
+ 238   3              }
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 5   
+
+ 239   2              else
+ 240   2              {
+ 241   3                  RCC_DAT &= ~DPLL_EN;
+ 242   3              }
+ 243   2              break;
+ 244   2          }
+ 245   1      }
+ 246          
+ 247          /**
+ 248           * @brief Turn on external crystal oscillator in non-blocking mode.
+ 249           *
+ 250           * This function turns on the external crystal oscillator in non-blocking mode. The function
+ 251           * returns immediately and the caller should check the status of the crystal oscillator using
+ 252           * the appropriate status register.
+ 253           *
+ 254           * @return None.
+ 255           */
+ 256          void RCC_XTALTurnOnNoneBlock(void)
+ 257          {
+ 258   1          OR_WREG(RCC, XTH_CTRL, 0x0C);       /**< Enable FAST_TRIM */
+ 259   1          AND_WREG(RCC, XTH_CTRL, 0xEF);      /**< Disable EN_XTAL_RDY */
+ 260   1          OR_WREG(RCC, CLK_TOP_CTRL, XTH_EN); /**< Enable external XTAL clock */
+ 261   1          OR_WREG(RCC, XTH_CTRL, 0x10);       /**< Enable EN_XTAL_RDY */
+ 262   1      }
+ 263          
+ 264          /**
+ 265           * @brief Get the status of clock source.
+ 266           *
+ 267           * This function returns the status of external crystal oscillator. If the oscillator is stable,
+ 268           * the function returns @c TRUE, otherwise it returns @c FALSE.
+ 269           *
+ 270           * @param[in] ClockSource Specifies the clock source to check. Valid values are:
+ 271           *                          - RCH: internal high-speed oscillator
+ 272           *                          - RCL: internal low-speed oscillator
+ 273           *                          - XTAL: external crystal oscillator
+ 274           *                          - DPLL: digital phase-locked loop
+ 275           *
+ 276           * @return @c TRUE if the specified clock source is stable, @c FALSE otherwise.
+ 277           *
+ 278           */
+ 279          bool RCC_GetClockReadyStatus(u8 ClockSource)
+ 280          {
+ 281   1          bool ReadyFlag = FALSE;
+ 282   1      
+ 283   1          if (RCH == ClockSource)
+ 284   1          {
+ 285   2              ReadyFlag = (GET_WREG(RCC, RCH_CTRL0) & RCH_RDY) ? TRUE : FALSE;
+ 286   2          }
+ 287   1          else if (XTH == ClockSource)
+ 288   1          {
+ 289   2              ReadyFlag = (GET_WREG(RCC, XTH_CTRL) & XTH_RDY) ? TRUE : FALSE;
+ 290   2          }
+ 291   1          else if (DPLL == ClockSource)
+ 292   1          {
+ 293   2              ReadyFlag = (GET_WREG(RCC, DPLL_CTRL) & DPLL_RDY) ? TRUE : FALSE;
+ 294   2          }
+ 295   1      
+ 296   1          return ReadyFlag;
+ 297   1      }
+ 298          
+ 299          /**
+ 300           * @brief Enable or disable external crystal oscillator fast ready function.
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 6   
+
+ 301           *
+ 302           * This function enables or disables the external crystal oscillator fast ready function.
+ 303           * If the function is enabled, the system will use the fast ready function to speed up the
+ 304           * startup time of the external crystal oscillator. If the function is disabled, the system
+ 305           * will use the normal startup time.
+ 306           *
+ 307           * @param[in] enable Specifies whether to enable or disable the fast ready function. Valid values
+ 308           * are:
+ 309           *                   - ENABLE: enable the fast ready function
+ 310           *                   - DISABLE: disable the fast ready function
+ 311           *
+ 312           * @return None.
+ 313           *
+ 314           */
+ 315          void RCC_XTALFastRdyEnable(u8 NewState)
+ 316          {
+ 317   1          if (NewState)
+ 318   1          {
+ 319   2              OR_WREG(RCC, XTH_CTRL, 0x04); /**< Enable EN_FAST */
+ 320   2          }
+ 321   1          else
+ 322   1          {
+ 323   2              AND_WREG(RCC, XTH_CTRL, 0xFB); /**< Disable EN_FAST */
+ 324   2          }
+ 325   1      }
+ 326          
+ 327          /**
+ 328           * @brief  This function select clock source
+ 329           * @param  sel: peripheral
+ 330           *         @arg: RCH
+ 331           *         @arg: XTH
+ 332           *         @arg: DPLL
+ 333           * @retval None
+ 334           */
+ 335          void RCC_Source(u8 sel)
+ 336          {
+ 337   1          RCC_SEL = CLK_TOP_CTRL;
+ 338   1          RCC_DAT = ((RCC_DAT & CLK_SEL) | (sel << 6));
+ 339   1      }
+ 340          
+ 341          /**
+ 342           * @brief  This function select clock source
+ 343           * @param  Division: System clock division
+ 344           *         @arg: SYS_CLK_DIV_1
+ 345           *         @arg: SYS_CLK_DIV_2
+ 346           *         @arg: SYS_CLK_DIV_4
+ 347           *         @arg: SYS_CLK_DIV_6
+ 348           * @retval None
+ 349           */
+ 350          void RCC_SysDiv(u8 Division)
+ 351          {
+ 352   1          RCC_SEL = CLK_TOP_CTRL;
+ 353   1          RCC_DAT = ((RCC_DAT & SYS_DIV_Msk) | Division);
+ 354   1      }
+ 355          
+ 356          /**
+ 357           * @brief  This function calibrate RCH
+ 358           * @param  None
+ 359           * @retval None
+ 360           */
+ 361          void RCC_RchCali(u8 rch_cap_trim, u8 rch_cal_code_cfg)
+ 362          {
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 7   
+
+ 363   1          u8 trim = rch_cap_trim;
+ 364   1          u8 cal  = rch_cal_code_cfg;
+ 365   1      
+ 366   1          RCC_SEL = RCH_CTRL0;
+ 367   1          RCC_DAT = ((RCC_DAT & RCH_CAP_TRIM) | rch_cap_trim);
+ 368   1      
+ 369   1          RCC_SEL = RCHCAL_2H;
+ 370   1          RCC_DAT = ((rch_cal_code_cfg << 1) | (EN_RCHCAL_CODE)); // rch_cal_code_cfg 6BIT(1~6)
+ 371   1      }
+ 372          
+ 373          /**
+ 374           * @brief  This function calibrate RCH Disable
+ 375           * @param  None
+ 376           * @retval None
+ 377           */
+ 378          void RCC_RchCaliDisable(void)
+ 379          {
+ 380   1          RCC_SEL = RCHCAL_2H;
+ 381   1          RCC_DAT &= ~EN_RCHCAL_CODE;
+ 382   1      }
+ 383          
+ 384          /**
+ 385           * @brief  This function calibrate RCH automatic
+ 386           * @param  None
+ 387           * @retval None
+ 388           */
+ 389          void RCC_RchCaliAuto(void)
+ 390          {
+ 391   1          RCC_SEL = RCHCAL_EN;
+ 392   1          RCC_DAT |= EN_RCHCAL_AUTO;
+ 393   1      }
+ 394          
+ 395          /**
+ 396           * @brief  This function calibrate RCH
+ 397           * @param  None
+ 398           * @retval None
+ 399           */
+ 400          void RCC_RclCali_EN(u8 NewState)
+ 401          {
+ 402   1          RCC_SEL = RCL_CTRL0;
+ 403   1          if (NewState)
+ 404   1          {
+ 405   2              RCC_DAT |= RCL_CAL_EN;
+ 406   2          }
+ 407   1          else
+ 408   1          {
+ 409   2              RCC_DAT &= ~RCL_CAL_EN;
+ 410   2          }
+ 411   1          ANA_RCH_SYNC;
+ 412   1      }
+ 413          
+ 414          /**
+ 415           * @brief This function calibrate rcl manually
+ 416           *
+ 417           * @param NewState
+ 418           */
+ 419          void RCC_RclCali_MANU(u8 NewState)
+ 420          {
+ 421   1          RCC_SEL = RCL_CTRL1;
+ 422   1          if (NewState)
+ 423   1          {
+ 424   2              RCC_DAT |= 0x30;
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 8   
+
+ 425   2          }
+ 426   1          else
+ 427   1          {
+ 428   2              RCC_DAT &= 0xCF;
+ 429   2          }
+ 430   1          ANA_RCH_SYNC;
+ 431   1      }
+ 432          
+ 433          /**
+ 434           * @brief This function set LVR voltage level
+ 435           * 
+ 436           * @param VoltLevel 
+ 437           *     @arg LVR_VOLT_1V85
+ 438           *     @arg LVR_VOLT_2V
+ 439           *     @arg LVR_VOLT_2V2
+ 440           *     @arg LVR_VOLT_2V5
+ 441           *     @arg LVR_VOLT_2V65
+ 442           *     @arg LVR_VOLT_2V35
+ 443           *     @arg LVR_VOLT_2V8
+ 444           * @retval None
+ 445           */
+ 446          void RCC_SetLvrVoltLevel(RCC_LvrVoltLevel_t VoltLevel)
+ 447          {
+ 448   1          u8 Level = (u8)1<<VoltLevel;
+ 449   1      
+ 450   1          RCC_SEL = LVRH_SEL;
+ 451   1          RCC_DAT = Level;
+ 452   1      }
+ 453          
+ 454          /**
+ 455           * @brief This function enable or disable LVR
+ 456           * 
+ 457           * @param NewState 
+ 458           *       @arg ENABLE
+ 459           *       @arg DISABLE
+ 460           * @retval None
+ 461           */
+ 462          void RCC_EnableLvr(u8 NewState)
+ 463          {
+ 464   1          RCC_SEL = LVRH_CTRL;
+ 465   1          
+ 466   1          if (NewState)
+ 467   1          {
+ 468   2              RCC_DAT |= 0x02;
+ 469   2          }
+ 470   1          else
+ 471   1          {
+ 472   2              RCC_DAT &= ~0x02;
+ 473   2          }
+ 474   1      
+ 475   1          RCC_DAT &= ~0x01; /* Enable the reset function of LVR. */
+ 476   1          ANA_RCH_SYNC;
+ 477   1      }
+ 478          /**
+ 479           * @brief  This function calibrate RCH
+ 480           * @param  None
+ 481           * @retval None
+ 482           */
+ 483          void RCC_RclCali(u8 cali_per, u8 cali_h)
+ 484          {
+ 485   1          u8 reg_rcc;
+ 486   1      
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 9   
+
+ 487   1          reg_rcc = RCC_DAT;
+ 488   1          reg_rcc &= RCL_CAL_PER_SEL;
+ 489   1          reg_rcc |= cali_per;
+ 490   1          RCC_DAT = reg_rcc;
+ 491   1          ANA_RCH_SYNC;
+ 492   1      
+ 493   1          reg_rcc &= RCL_CAL_H_SEL;
+ 494   1          reg_rcc |= cali_h;
+ 495   1          RCC_DAT = reg_rcc;
+ 496   1          ANA_RCH_SYNC;
+ 497   1      }
+ 498          
+ 499          /**
+ 500           * @brief  This function mux clock to gpio
+ 501           * @param  None
+ 502           * @retval None
+ 503           */
+ 504          void RCC_Mux(u8 source, u8 sel)
+ 505          {
+ 506   1          if (source == MUX_ANA)
+ 507   1          {
+ 508   2              ANA_SEL = ANA_TEST1;
+ 509   2              ANA_DAT = sel;
+ 510   2          }
+ 511   1          if (source == MUX_DIG)
+ 512   1          {
+ 513   2              SYS_SEL = RCC_USB_CTRL;
+ 514   2              SYS_DAT |= sel;
+ 515   2          }
+ 516   1      
+ 517   1          if (sel == DIG_MUX_DPLL48_DIV8)
+ 518   1          {
+ 519   2              RCC_SEL = DPLL_CTRL;
+ 520   2              RCC_DAT = DPLL_TEST_EN;
+ 521   2          }
+ 522   1      }
+ 523          
+ 524          /**
+ 525           * @brief  This function enter deepsleep mode
+ 526           * @retval None
+ 527           */
+ 528          void RCC_PumpUp(void)
+ 529          {
+ 530   1          ANA_SEL = ANA_PWR_CTRL0;
+ 531   1          ANA_DAT |= 0x08;
+ 532   1          ANA_RCH_SYNC;
+ 533   1      }
+ 534          
+ 535          /**
+ 536           * @brief Check if RCH has been calibrated to 15MHz based on the info parameter.
+ 537           * @param None
+ 538           * @return None
+ 539           */
+ 540          void RCC_RchCaliChk(void)
+ 541          {
+ 542   1          if (PAN_INFO_FLAG != 0x55AAAA55)
+ 543   1          {
+ 544   2              RCC_RchCali(0x20, 0x1A); /**< Calibrete freqence of RCH to 15MHz  */
+ 545   2          }
+ 546   1      }
+ 547          
+ 548          /**
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 10  
+
+ 549           * @brief  This function initializes system clock
+ 550           * @retval None
+ 551           */
+ 552          void RCC_SysClkInit(void)
+ 553          {
+ 554   1          ANA_IPOLY_ON(); /**< Turn on the ipoly power */
+ 555   1          RCC_RchCaliChk();
+ 556   1          RCC_Source(RCH);   /**< Select XTH as system clock */
+ 557   1          RCC_Ctrl(XTH, 1);  /**< Enable XTH clock */
+ 558   1          RCC_Ctrl(DPLL, 1); /**< Enable DPLL clock */
+ 559   1          if(PAN_CHIP_VER == 0x01)
+ 560   1          {
+ 561   2              RCC_Source(XTH);   /**< 2628 Select XTH as system clock */
+ 562   2          }
+ 563   1          if(PAN_CHIP_VER == 0x02)
+ 564   1          {
+ 565   2              RCC_Source(DPLL);   /**< 2629 Select DPLL as system clock */
+ 566   2          }
+ 567   1      }
+ 568          
+ 569          void RCC_LITE_SysClkInit(void)
+ 570          {
+ 571   1      //    OR_WREG(RCC, PERCLKEN1, 0x01);
+ 572   1      //    RF_PMU |= EN_VBG_IPOLY; 
+ 573   1          ANA_IPOLY_ON();
+ 574   1          RCC_SEL = CLK_TOP_CTRL;
+ 575   1          
+ 576   1          if((RCC_DAT&XTH_EN) == 0)
+ 577   1          {
+ 578   2              RCC_SEL = XTH_CTRL;
+ 579   2              RCC_DAT = 0x1F;  /**< Enable FAST_TRIM */
+ 580   2              RCC_DAT = 0x0F;  /**< Disable EN_XTAL_RDY */
+ 581   2              RCC_SEL = CLK_TOP_CTRL;
+ 582   2              RCC_DAT |= XTH_EN;
+ 583   2              RCC_SEL = XTH_CTRL;
+ 584   2              RCC_DAT = 0x1F;  /**< Enable EN_XTAL_RDY */
+ 585   2              
+ 586   2              /** Wait XTAL_RDY flag until it becomes to 1 */
+ 587   2              while (!(RCC_DAT&XTH_RDY));
+ 588   2      
+ 589   2              RCC_DAT = 0x1B;  /**< Disable EN_XTAL_RDY */
+ 590   2          }
+ 591   1      
+ 592   1          if((RCC_DAT&DPLL_EN) == 0)
+ 593   1          {
+ 594   2              RCC_SEL = CLK_TOP_CTRL;
+ 595   2              RCC_DAT = 0x0F;
+ 596   2              
+ 597   2              /* Waiting for dpll ready. */
+ 598   2              RCC_SEL = DPLL_CTRL;
+ 599   2              while(!(RCC_DAT & DPLL_RDY));
+ 600   2          }
+ 601   1          if(PAN_CHIP_VER == 0x01)
+ 602   1          {
+ 603   2               RCC_SEL = CLK_TOP_CTRL;
+ 604   2               RCC_DAT = 0x8F;//Enable XTH clock, Enable DPLL clock, Select DPLL as system clock
+ 605   2          }
+ 606   1          if(PAN_CHIP_VER == 0x02)
+ 607   1          {
+ 608   2               RCC_SEL = CLK_TOP_CTRL;
+ 609   2               RCC_DAT = 0xCF;//Enable XTH clock, Enable DPLL clock, Select DPLL as system clock
+ 610   2          }    
+C51 COMPILER V9.60.7.0   RCC                                                               11/21/2025 17:14:04 PAGE 11  
+
+ 611   1      }
+ 612          
+ 613          /**
+ 614           * @}
+ 615           */
+ 616          
+ 617          /**
+ 618           * @}
+ 619           */
+ 620          
+ 621          /**
+ 622           * @}
+ 623           */
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =   1285    ----
+   CONSTANT SIZE    =   ----    ----
+   XDATA SIZE       =   ----    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----       6
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 588 - 0
keil/Listings/timer.lst

@@ -0,0 +1,588 @@
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE TIMER
+OBJECT MODULE PLACED IN .\Objects\timer.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\..\..\..\driver\src\timer.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE O
+                    -RDER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay
+                    -;..\..\..\..\middleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\timer.lst) TABS(2) OBJECT(.\Objects\t
+                    -imer.obj)
+
+line level    source
+
+   1          /**
+   2           ************************************************************************
+   3           * @file     timer.c
+   4           * @author   Panchip Team
+   5           * @version  V0.5
+   6           * @date     2024-04-28
+   7           * @brief    This file provides all the timer firmware functions.
+   8           * @note
+   9           * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+  10           ****************************************************************************
+  11           */
+  12          
+  13          #include "timer.h"
+  14          
+  15          /** @addtogroup PAN262x_Std_Driver
+  16           * @{
+  17           */
+  18          
+  19          /** @defgroup TIMER
+  20           * @brief TIMER driver modules
+  21           * @{
+  22           */
+  23          
+  24          /** @defgroup TIMER_Private_Functions
+  25           * @{
+  26           */
+  27          
+  28          /**
+  29           * @brief  Deinitializes the TIMx peripheral registers to their default reset values.
+  30           * @param  TIMx: where x can be 0 to 2 to select the TIM peripheral.
+  31           * @retval None
+  32           */
+  33          void TIM_DeInit(TIM_IdTypeDef TIMERx)
+  34          {
+  35   1          /* Check the parameters */
+  36   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+  37   1      
+  38   1          if (TIMERx == TIMER0)
+  39   1          {
+  40   2              TR0 = 0;
+  41   2              TF0 = 0;
+  42   2              TL0 = 0;
+  43   2              TH0 = 0;
+  44   2              TMOD &= ~0x0F;
+  45   2          }
+  46   1          else if (TIMERx == TIMER1)
+  47   1          {
+  48   2              TR1 = 0;
+  49   2              TF1 = 0;
+  50   2              TL1 = 0;
+  51   2              TH1 = 0;
+  52   2              TMOD &= ~0xF0;
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 2   
+
+  53   2          }
+  54   1          else if (TIMERx == TIMER2)
+  55   1          {
+  56   2              T2CON   = 0;
+  57   2              CCEN    = 0;
+  58   2              TL2     = 0;
+  59   2              TH2     = 0;
+  60   2              TCAPCON = 0;
+  61   2              TCAPSTA = 0;
+  62   2              CRCH    = 0;
+  63   2              CRCL    = 0;
+  64   2              CCH1    = 0;
+  65   2              CCL1    = 0;
+  66   2              CCH2    = 0;
+  67   2              CCL2    = 0;
+  68   2              CCH3    = 0;
+  69   2              CCL3    = 0;
+  70   2          }
+  71   1      }
+  72          
+  73          /**
+  74           * @brief  Initializes the TIMERx Time Base Unit peripheral according to
+  75           *         the specified parameters in the TIM_TimeBaseInitStruct.
+  76           * @param  TIMERx: where x can be  0 to 2 to select the TIM peripheral.
+  77           * @param  TIM_Mode: specifies the workmode of timer.
+  78           *          This parameter can be a value of @ref TIM_ModeTypeDef
+  79           * @param  TIM_Clk: Specifies the clock division.
+  80           *          This parameter can be a value of @ref TIM_ClkDivTypeDef
+  81           * @param  InitCnt: specifies the Counter register initial value.
+  82           * @retval None
+  83           */
+  84          void TIM_TimeBaseInit(TIM_IdTypeDef TIMERx, TIM_ModeTypeDef TIM_Mode, TIM_ClkDivTypeDef TIM_Clk, u16 InitC
+             -nt)
+  85          {
+  86   1          /* Check the parameters */
+  87   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+  88   1      
+  89   1          if (TIMERx == TIMER0)
+  90   1          {
+  91   2              /* set timer0 disable */
+  92   2              TR0 = 0;
+  93   2      
+  94   2              /* set timer0 initial count */
+  95   2              if (TIM_Mode == TIM0_Mode2_8BitAutoReload)
+  96   2              {
+  97   3                  TH0 = InitCnt & 0xff;
+  98   3                  TL0 = TH0;
+  99   3              }
+ 100   2              else
+ 101   2              {
+ 102   3                  TIM_SET_VAL(TH0, TL0, InitCnt);
+ 103   3              }
+ 104   2      
+ 105   2              /* set timer0 basetime enable */
+ 106   2              MODIFY_REG(TMOD, TMOD_TIM0_CT_Msk, 0 << TMOD_TIM0_CT_Pos);
+ 107   2      
+ 108   2              /* set timer0 workmode */
+ 109   2              MODIFY_REG(TMOD, TMOD_TIM0_MODE_Msk, TIM_Mode << TMOD_TIM0_MODE_Pos);
+ 110   2          }
+ 111   1          else if (TIMERx == TIMER1)
+ 112   1          {
+ 113   2              /* set timer1 disable */
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 3   
+
+ 114   2              TR1 = 0;
+ 115   2      
+ 116   2              /* set timer1 initial count */
+ 117   2              if (TIM_Mode == TIM1_Mode2_8BitAutoReload)
+ 118   2              {
+ 119   3                  TH1 = InitCnt & 0xff;
+ 120   3                  TL1 = TH1;
+ 121   3              }
+ 122   2              else
+ 123   2              {
+ 124   3                  TIM_SET_VAL(TH1, TL1, InitCnt);
+ 125   3              }
+ 126   2      
+ 127   2              /* set timer1 basetime enable */
+ 128   2              MODIFY_REG(TMOD, TMOD_TIM1_CT_Msk, 0 << TMOD_TIM1_CT_Pos);
+ 129   2      
+ 130   2              /* set timer1 workmode */
+ 131   2              MODIFY_REG(TMOD, TMOD_TIM1_MODE_Msk, TIM_Mode << TMOD_TIM1_MODE_Pos);
+ 132   2          }
+ 133   1          else if (TIMERx == TIMER2)
+ 134   1          {
+ 135   2              /* set timer2 disable */
+ 136   2              MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_STOP << T2CON_T2I_Pos);
+ 137   2      
+ 138   2              /* set timer2 initial count */
+ 139   2              TIM_SET_VAL(TH2, TL2, InitCnt);
+ 140   2      
+ 141   2              /* set timer2 reload count */
+ 142   2              TIM_SET_VAL(CRCH, CRCL, InitCnt);
+ 143   2      
+ 144   2              /* set timer2 clock division */
+ 145   2              MODIFY_REG(T2CON, T2CON_T2PS_Msk, TIM_Clk << T2CON_T2PS_Pos);
+ 146   2      
+ 147   2              if (TIM2_Mode0_16BitAutoReload == TIM_Mode)
+ 148   2              {
+ 149   3                  /* set timer2 reload mode0 */
+ 150   3                  MODIFY_REG(T2CON, T2CON_T2R_Msk, TIM2_RELOAD_MODE0 << T2CON_T2R_Pos);
+ 151   3              }
+ 152   2              else
+ 153   2              {
+ 154   3                  /* set timer2 reload mode0 */
+ 155   3                  MODIFY_REG(T2CON, T2CON_T2R_Msk, TIM2_RELOAD_DISABLE << T2CON_T2R_Pos);
+ 156   3              }
+ 157   2          }
+ 158   1      }
+ 159          
+ 160          /**
+ 161           * @brief  Enables or disables TIMERx peripheral external signal count function.
+ 162           * @param  TIMERx: where x can be 0 to 2 to select the TIM peripheral.
+ 163           * @param  TIM_Mode: specifies the workmode of timer.
+ 164           *          This parameter can be a value of @ref TIM_ModeTypeDef
+ 165           * @param  NewState: new state of the TIMERx peripheral count function.
+ 166           *          This parameter can be: ENABLE or DISABLE.
+ 167           * @retval None
+ 168           */
+ 169          void TIM_ExtCntConfig(TIM_IdTypeDef TIMERx, FunctionalState NewState)
+ 170          {
+ 171   1          /* Check the parameters */
+ 172   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+ 173   1          assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 174   1      
+ 175   1          switch (TIMERx)
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 4   
+
+ 176   1          {
+ 177   2          case TIMER0:
+ 178   2          {
+ 179   3              if (NewState != DISABLE)
+ 180   3              {
+ 181   4                  /* set timer0 clock source from t0 pin(falling edge) */
+ 182   4                  MODIFY_REG(TMOD, TMOD_TIM0_CT_Msk, 1 << TMOD_TIM0_CT_Pos);
+ 183   4              }
+ 184   3              else
+ 185   3              {
+ 186   4                  /* set timer0 basetime enable */
+ 187   4                  MODIFY_REG(TMOD, TMOD_TIM0_CT_Msk, 0 << TMOD_TIM0_CT_Pos);
+ 188   4              }
+ 189   3              break;
+ 190   3          }
+ 191   2          case TIMER1:
+ 192   2          {
+ 193   3              if (NewState != DISABLE)
+ 194   3              {
+ 195   4                  /* set timer1 clock source from t1 pin(falling edge) */
+ 196   4                  MODIFY_REG(TMOD, TMOD_TIM1_CT_Msk, 1 << TMOD_TIM1_CT_Pos);
+ 197   4              }
+ 198   3              else
+ 199   3              {
+ 200   4                  /* set timer1 basetime enable */
+ 201   4                  MODIFY_REG(TMOD, TMOD_TIM1_CT_Msk, 0 << TMOD_TIM1_CT_Pos);
+ 202   4              }
+ 203   3              break;
+ 204   3          }
+ 205   2          case TIMER2:
+ 206   2          {
+ 207   3              /* set timer2 disable */
+ 208   3              MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_STOP << T2CON_T2I_Pos);
+ 209   3      
+ 210   3              if (NewState != DISABLE)
+ 211   3              {
+ 212   4                  /* set timer2 clock source from t2 pin(falling edge) */
+ 213   4                  MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_T2PIN << T2CON_T2I_Pos);
+ 214   4              }
+ 215   3              else
+ 216   3              {
+ 217   4                  /* set timer2 clock source from xtal or rch */
+ 218   4                  MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_INTERNAL << T2CON_T2I_Pos);
+ 219   4              }
+ 220   3              break;
+ 221   3          }
+ 222   2          default:
+ 223   2              break;
+ 224   2          }
+ 225   1      }
+ 226          
+ 227          /**
+ 228           * @brief  Enables or disables TIMERx peripheral clock gate.
+ 229           * @param  TIMERx: where x can be 0 to 2 to select the TIM peripheral.
+ 230           * @param  TIM_Mode: specifies the workmode of timer.
+ 231           *          This parameter can be a value of @ref TIM_ModeTypeDef
+ 232           * @param  NewState: new state of the TIMERx peripheral clock gate.
+ 233           *          This parameter can be: ENABLE or DISABLE.
+ 234           * @retval None
+ 235           */
+ 236          void TIM_GateConfig(TIM_IdTypeDef TIMERx, FunctionalState NewState)
+ 237          {
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 5   
+
+ 238   1          /* Check the parameters */
+ 239   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+ 240   1          assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 241   1      
+ 242   1          switch (TIMERx)
+ 243   1          {
+ 244   2          case TIMER0:
+ 245   2          {
+ 246   3              if (NewState != DISABLE)
+ 247   3              {
+ 248   4                  /* set timer0 external clock count gate function enable */
+ 249   4                  MODIFY_REG(TMOD, TMOD_TIM0_GATE_Msk, 1 << TMOD_TIM0_GATE_Pos);
+ 250   4              }
+ 251   3              else
+ 252   3              {
+ 253   4                  /* set timer0 basetime enable */
+ 254   4                  MODIFY_REG(TMOD, TMOD_TIM0_GATE_Msk, 0 << TMOD_TIM0_GATE_Pos);
+ 255   4              }
+ 256   3              break;
+ 257   3          }
+ 258   2          case TIMER1:
+ 259   2          {
+ 260   3              if (NewState != DISABLE)
+ 261   3              {
+ 262   4                  /* set timer1 external clock gate function enable */
+ 263   4                  MODIFY_REG(TMOD, TMOD_TIM1_GATE_Msk, 1 << TMOD_TIM1_GATE_Pos);
+ 264   4              }
+ 265   3              else
+ 266   3              {
+ 267   4                  /* set timer1 basetime enable */
+ 268   4                  MODIFY_REG(TMOD, TMOD_TIM1_GATE_Msk, 0 << TMOD_TIM1_GATE_Pos);
+ 269   4              }
+ 270   3              break;
+ 271   3          }
+ 272   2          case TIMER2:
+ 273   2          {
+ 274   3              /* set timer2 disable */
+ 275   3              MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_STOP << T2CON_T2I_Pos);
+ 276   3      
+ 277   3              if (NewState != DISABLE)
+ 278   3              {
+ 279   4                  /* set timer1 internal clock gate function enable */
+ 280   4                  MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_GATE_CTRL << T2CON_T2I_Pos);
+ 281   4              }
+ 282   3              else
+ 283   3              {
+ 284   4                  /* set timer2 clock source from xtal or rch */
+ 285   4                  MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_INTERNAL << T2CON_T2I_Pos);
+ 286   4              }
+ 287   3              break;
+ 288   3          }
+ 289   2          default:
+ 290   2              break;
+ 291   2          }
+ 292   1      }
+ 293          
+ 294          /**
+ 295           * @brief  Initializes the TIMER2 compare peripheral
+ 296           *          according to the specified parameters.
+ 297           * @param  TIMERx: TIMER2(only support TIMER2).
+ 298           * @param  channel: specifies the compare channel of TIMER2.
+ 299           *          This parameter can be a value of @ref TIM_ChTypeDef
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 6   
+
+ 300           * @param  CmpMode: Specifies the compare mode of TIMER2.
+ 301           *          This parameter can be a value of @ref TIM_CmpModeTypeDef
+ 302           * @param  CmpVal: specifies the initial value of compare register.
+ 303           * @retval None
+ 304           */
+ 305          void TIM_CmpInit(TIM_IdTypeDef TIMERx, TIM_ChTypeDef Channel, TIM_CmpModeTypeDef CmpMode, u16 CmpVal)
+ 306          {
+ 307   1          /* Check the parameters */
+ 308   1          assert_param(TIMER2 == TIMERx);
+ 309   1      
+ 310   1          if (TIMER2 != TIMERx)
+ 311   1          {
+ 312   2              return;
+ 313   2          }
+ 314   1      
+ 315   1          /* set timer2 reload mode disable */
+ 316   1          // MODIFY_REG(T2CON, T2CON_T2R_Msk, TIM2_RELOAD_DISABLE<<T2CON_T2R_Pos);
+ 317   1      
+ 318   1          /* disable timer2 compare&capture function */
+ 319   1          MODIFY_REG(CCEN, CCEN_COCA0_Msk << (Channel << 1), TIM_CmpCapDisable << CCEN_COCA0_Pos);
+ 320   1      
+ 321   1          /* set timer2 compare/capture register */
+ 322   1          if (Channel == TIM_Channel0)
+ 323   1          {
+ 324   2              TIM_SET_VAL(CRCH, CRCL, CmpVal);
+ 325   2          }
+ 326   1          else if (Channel == TIM_Channel1)
+ 327   1          {
+ 328   2              TIM_SET_VAL(CCH1, CCL1, CmpVal);
+ 329   2          }
+ 330   1          else if (Channel == TIM_Channel2)
+ 331   1          {
+ 332   2              TIM_SET_VAL(CCH2, CCL2, CmpVal);
+ 333   2          }
+ 334   1          else if (Channel == TIM_Channel3)
+ 335   1          {
+ 336   2              TIM_SET_VAL(CCH3, CCL3, CmpVal);
+ 337   2          }
+ 338   1      
+ 339   1          /* set timer2 compare mode */
+ 340   1          MODIFY_REG(T2CON, T2CON_T2CM_Msk, CmpMode << T2CON_T2CM_Pos);
+ 341   1      
+ 342   1          /* enable timer2 compare function */
+ 343   1          MODIFY_REG(CCEN, CCEN_COCA0_Msk << (Channel << 1), TIM_CmpEnable << (Channel << 1));
+ 344   1      }
+ 345          
+ 346          /**
+ 347           * @brief  Initializes the TIMER2 capture peripheral
+ 348           *          according to the specified parameters.
+ 349           * @param  TIMERx: TIMER2(only support TIMER2).
+ 350           * @param  channel: specifies the compare channel of TIMER2.
+ 351           *          This parameter can be a value of @ref TIM_ChTypeDef
+ 352           * @param  CmpMode: Specifies the capture mode of TIMER2.
+ 353           *          This parameter can be a value of @ref TIM_CapModeTypeDef
+ 354           * @param  CmpVal: specifies the initial value of compare register.
+ 355           * @retval None
+ 356           */
+ 357          void TIM_CapInit(TIM_IdTypeDef TIMERx, TIM_ChTypeDef Channel, TIM_CapModeTypeDef CapMode, TIM_CapPolTypeDe
+             -f Polarity,
+ 358                           u16 CmpVal)
+ 359          {
+ 360   1          /* Check the parameters */
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 7   
+
+ 361   1          assert_param(TIMER2 == TIMERx);
+ 362   1      
+ 363   1          if (TIMER2 != TIMERx)
+ 364   1          {
+ 365   2              return;
+ 366   2          }
+ 367   1      
+ 368   1          /* disable timer2 compare&capture function */
+ 369   1          MODIFY_REG(CCEN, CCEN_COCA0_Msk << (Channel << 1), TIM_CmpCapDisable << CCEN_COCA0_Pos);
+ 370   1      
+ 371   1          /* set timer2 compare/capture register */
+ 372   1          if (Channel == TIM_Channel0)
+ 373   1          {
+ 374   2              TIM_SET_VAL(CRCH, CRCH, CmpVal);
+ 375   2          }
+ 376   1          else if (Channel == TIM_Channel1)
+ 377   1          {
+ 378   2              TIM_SET_VAL(CCH1, CCL1, CmpVal);
+ 379   2          }
+ 380   1          else if (Channel == TIM_Channel2)
+ 381   1          {
+ 382   2              TIM_SET_VAL(CCH2, CCL2, CmpVal);
+ 383   2          }
+ 384   1          else if (Channel == TIM_Channel3)
+ 385   1          {
+ 386   2              TIM_SET_VAL(CCH3, CCL3, CmpVal);
+ 387   2          }
+ 388   1      
+ 389   1          if (TIM_CapMode0 == CapMode)
+ 390   1          {
+ 391   2              /* set timer2 capture mode0 */
+ 392   2              MODIFY_REG(CCEN, CCEN_COCA0_Msk << (Channel << 1), TIM_CapCCxPin << (Channel << 1));
+ 393   2      
+ 394   2              /* set timer2 input polarity */
+ 395   2              MODIFY_REG(TCAPCON, TCAPCON_CC0_Msk << (Channel << 1), Polarity << (Channel << 1));
+ 396   2          }
+ 397   1          else if (TIM_CapMode1 == CapMode)
+ 398   1          {
+ 399   2              /* set timer2 capture mode0 */
+ 400   2              MODIFY_REG(CCEN, CCEN_COCA0_Msk << (Channel << 1), TIM_CapSoftTrigger << (Channel << 1));
+ 401   2          }
+ 402   1      }
+ 403          
+ 404          /**
+ 405           * @brief  Enables or disables the specified TIM peripheral.
+ 406           * @param  TIMERx: where x can be 0 to 2 to select the TIMERx peripheral.
+ 407           * @param  NewState: new state of the TIMERx peripheral.
+ 408           *          This parameter can be: ENABLE or DISABLE.
+ 409           * @retval None
+ 410           */
+ 411          void TIM_Cmd(TIM_IdTypeDef TIMERx, FunctionalState NewState)
+ 412          {
+ 413   1          /* Check the parameters */
+ 414   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+ 415   1          assert_param(IS_FUNCTIONAL_STATE(NewState));
+ 416   1      
+ 417   1          switch (TIMERx)
+ 418   1          {
+ 419   2          case TIMER0:
+ 420   2          {
+ 421   3              if (NewState != DISABLE)
+ 422   3              {
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 8   
+
+ 423   4                  TR0 = 1; /* set timer0 enable */
+ 424   4              }
+ 425   3              else
+ 426   3              {
+ 427   4                  TR0 = 0; /* set timer0 disable */
+ 428   4              }
+ 429   3              break;
+ 430   3          }
+ 431   2          case TIMER1:
+ 432   2          {
+ 433   3              if (NewState != DISABLE)
+ 434   3              {
+ 435   4                  TR1 = 1; /* set timer1 enable */
+ 436   4              }
+ 437   3              else
+ 438   3              {
+ 439   4                  TR1 = 0; /* set timer1 disable */
+ 440   4              }
+ 441   3              break;
+ 442   3          }
+ 443   2          case TIMER2:
+ 444   2          {
+ 445   3              if (NewState != DISABLE)
+ 446   3              {
+ 447   4                  /* set Timer2 enable */
+ 448   4                  if ((T2CON & T2CON_T2I_Msk) == TIM2_CLK_STOP)
+ 449   4                  {
+ 450   5                      MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_INTERNAL << T2CON_T2I_Pos);
+ 451   5                  }
+ 452   4              }
+ 453   3              else
+ 454   3              {
+ 455   4                  /* set timer2 disable */
+ 456   4                  MODIFY_REG(T2CON, T2CON_T2I_Msk, TIM2_CLK_STOP << T2CON_T2I_Pos);
+ 457   4              }
+ 458   3              break;
+ 459   3          }
+ 460   2          default:
+ 461   2              break;
+ 462   2          }
+ 463   1      }
+ 464          
+ 465          /**
+ 466           * @brief  This function enable TIMERx interrupt
+ 467           * @param  TIMERx: where x can be 0 to 2 to select the TIMERx peripheral.
+ 468           * @retval None
+ 469           */
+ 470          void TIM_EnableIRQ(TIM_IdTypeDef TIMERx)
+ 471          {
+ 472   1          /* Check the parameters */
+ 473   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+ 474   1      
+ 475   1          switch (TIMERx)
+ 476   1          {
+ 477   2          case TIMER0:
+ 478   2          {
+ 479   3              ET0 = 1;
+ 480   3              break;
+ 481   3          }
+ 482   2          case TIMER1:
+ 483   2          {
+ 484   3              ET1 = 1;
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 9   
+
+ 485   3              break;
+ 486   3          }
+ 487   2          case TIMER2:
+ 488   2          {
+ 489   3              ET2 = 1;
+ 490   3              break;
+ 491   3          }
+ 492   2          default:
+ 493   2              break;
+ 494   2          }
+ 495   1      }
+ 496          
+ 497          /**
+ 498           * @brief  This function disable TIMERx interrupt
+ 499           * @param  TIMERx: where x can be 0 to 2 to select the TIMERx peripheral.
+ 500           * @retval None
+ 501           */
+ 502          void TIM_DisableIRQ(TIM_IdTypeDef TIMERx)
+ 503          {
+ 504   1          /* Check the parameters */
+ 505   1          assert_param(IS_TIM_ALL_PERIPH(TIMERx));
+ 506   1      
+ 507   1          switch (TIMERx)
+ 508   1          {
+ 509   2          case TIMER0:
+ 510   2          {
+ 511   3              ET0 = 0;
+ 512   3              break;
+ 513   3          }
+ 514   2          case TIMER1:
+ 515   2          {
+ 516   3              ET1 = 0;
+ 517   3              break;
+ 518   3          }
+ 519   2          case TIMER2:
+ 520   2          {
+ 521   3              ET2 = 0;
+ 522   3              break;
+ 523   3          }
+ 524   2          default:
+ 525   2              break;
+ 526   2          }
+ 527   1      }
+ 528          /**
+ 529           * @}
+ 530           */
+ 531          
+ 532          /**
+ 533           * @}
+ 534           */
+ 535          
+ 536          /**
+ 537           * @}
+ 538           */
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    854    ----
+   CONSTANT SIZE    =   ----    ----
+   XDATA SIZE       =   ----    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----      16
+C51 COMPILER V9.60.7.0   TIMER                                                             11/21/2025 17:14:04 PAGE 10  
+
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

+ 292 - 0
keil/Listings/uart.lst

@@ -0,0 +1,292 @@
+C51 COMPILER V9.60.7.0   UART                                                              11/21/2025 17:14:04 PAGE 1   
+
+
+C51 COMPILER V9.60.7.0, COMPILATION OF MODULE UART
+OBJECT MODULE PLACED IN .\Objects\uart.obj
+COMPILER INVOKED BY: d:\Keil_v5\C51\BIN\C51.EXE ..\..\..\..\driver\src\uart.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE OR
+                    -DER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;
+                    -..\..\..\..\middleware\rf_basis) DEFINE(IS_CLIENT_BOARD=1) DEBUG PRINT(.\Listings\uart.lst) TABS(2) OBJECT(.\Objects\uar
+                    -t.obj)
+
+line level    source
+
+   1          /**
+   2           ************************************************************************
+   3           * @file     uart.c
+   4           * @author   Panchip Team
+   5           * @version  V0.5
+   6           * @date     2024-04-28
+   7           * @brief    This file provides all the uart firmware functions.
+   8           * @note
+   9           * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+  10           ****************************************************************************
+  11           */
+  12          
+  13          #include "uart.h"
+  14          
+  15          /** @addtogroup PAN262x_Std_Driver
+  16           * @{
+  17           */
+  18          
+  19          /** @defgroup UART
+  20           * @brief UART driver modules
+  21           * @{
+  22           */
+  23          
+  24          /** @defgroup UART_Private_Functions
+  25           * @{
+  26           */
+  27          
+  28          /**
+  29           * @brief  Initializes the UART0 peripheral according to the specified parameters.
+  30           * @param  DataBits: data bits
+  31           *         @arg: LENGTH_8
+  32           *         @arg: LENGTH_9
+  33           * @param  RxIRQEn: which can be 1 to enable receive or 0 to disable receive.
+  34           *         @arg: ENABLE_RX
+  35           *         @arg: DISABLE_RX
+  36           * @param  Parity: which can be 1 to enable parity check or 0 to disable parity check.
+  37           *         @arg: ENABLE_PAR
+  38           *         @arg: DISABLE_PAR
+  39           * @param  BaudRate: baudrate of uart
+  40           *         @arg: BAUD_1200
+  41           *         @arg: BAUD_2400
+  42           *         @arg: BAUD_4800
+  43           *         @arg: BAUD_9600
+  44           *         @arg: BAUD_14400
+  45           *         @arg: BAUD_19200
+  46           *         @arg: BAUD_38400
+  47           *         @arg: BAUD_115200(Note:TIMER1 will be used by uart)
+  48           * @retval None
+  49           */
+  50          void UART_Init(u8 DataBits, u8 RxIRQEn, u8 Parity, u8 BaudRate)
+  51          {
+  52   1          S0CON = (DataBits | RxIRQEn | Parity);
+C51 COMPILER V9.60.7.0   UART                                                              11/21/2025 17:14:04 PAGE 2   
+
+  53   1          switch (BaudRate)
+  54   1          {
+  55   2          case BAUD_1200:
+  56   2              ADCON = BAUD_RCH;
+  57   2              PCON |= BAUD_SMOD;
+  58   2              S0RELH = 0x02;
+  59   2              S0RELL = 0x5F;
+  60   2              break;
+  61   2          case BAUD_2400:
+  62   2              ADCON = BAUD_RCH;
+  63   2              PCON |= BAUD_SMOD;
+  64   2              S0RELH = 0x03;
+  65   2              S0RELL = 0x30;
+  66   2              break;
+  67   2          case BAUD_4800:
+  68   2              ADCON = BAUD_RCH;
+  69   2              PCON |= BAUD_SMOD;
+  70   2              S0RELH = 0x03;
+  71   2              S0RELL = 0x98;
+  72   2              break;
+  73   2          case BAUD_9600:
+  74   2              ADCON = BAUD_RCH;
+  75   2              PCON |= BAUD_SMOD;
+  76   2              S0RELH = 0x03;
+  77   2              S0RELL = 0xCC;
+  78   2              break;
+  79   2          case BAUD_14400:
+  80   2              TMOD = TIMER1_MODE_2;
+  81   2              TH1  = 0xF7;
+  82   2              TL1  = 0xF7;
+  83   2              TCON |= TIMER1_STR;
+  84   2              ADCON = BAUD_TIMER1 | TIMER1_DIV_3;
+  85   2              PCON |= BAUD_SMOD;
+  86   2              break;
+  87   2          case BAUD_19200:
+  88   2              ADCON = BAUD_RCH;
+  89   2              PCON |= BAUD_SMOD;
+  90   2              S0RELH = 0x03;
+  91   2              S0RELL = 0xE6;
+  92   2              break;
+  93   2          case BAUD_38400:
+  94   2              ADCON = BAUD_RCH;
+  95   2              PCON |= BAUD_SMOD;
+  96   2              S0RELH = 0x03;
+  97   2              S0RELL = 0xF3;
+  98   2              break;
+  99   2          case BAUD_115200:
+ 100   2              TMOD = TIMER1_MODE_2;
+ 101   2              TH1  = 0xFD;
+ 102   2              TL1  = 0xFD;
+ 103   2              TCON |= TIMER1_STR;
+ 104   2              ADCON = BAUD_TIMER1 | TIMER1_DIV_3;
+ 105   2              PCON |= BAUD_SMOD;
+ 106   2              break;
+ 107   2          default:
+ 108   2              break;
+ 109   2          }
+ 110   1      }
+ 111          
+ 112          /**
+ 113           * @brief  This function enable UART interrupt
+ 114           * @param  None
+C51 COMPILER V9.60.7.0   UART                                                              11/21/2025 17:14:04 PAGE 3   
+
+ 115           * @retval None
+ 116           */
+ 117          void UART_EnableIRQ(void)
+ 118          {
+ 119   1          EUART = TRUE;
+ 120   1      }
+ 121          
+ 122          /**
+ 123           * @brief  This function disenable UART interrupt
+ 124           * @param  None
+ 125           * @retval None
+ 126           */
+ 127          void UART_DisableIRQ(void)
+ 128          {
+ 129   1          EUART = FALSE;
+ 130   1      }
+ 131          
+ 132          /**
+ 133           * @brief  This function send one byte by UART
+ 134           * @param  uDat
+ 135           * @retval None
+ 136           */
+ 137          void UART_SendOneByte(u8 Byte)
+ 138          {
+ 139   1          S0BUF = Byte;
+ 140   1          while (!S0CON_TI0);
+ 141   1          S0CON_TI0 = 0;
+ 142   1      }
+ 143          
+ 144          /**
+ 145           * @brief  This function send one char UART
+ 146           * @param  c: charicter
+ 147           * @retval None
+ 148           */
+ 149          char UART_PutChar(char c)
+ 150          {
+ 151   1          UART_SendOneByte(c);
+ 152   1          return c;
+ 153   1      }
+ 154          
+ 155          /**
+ 156           * @brief  This function send string by UART
+ 157           * @param  upStr
+ 158           * @retval None
+ 159           */
+ 160          void UART_SendString(u8 *String)
+ 161          {
+ 162   1          while (*String)
+ 163   1          {
+ 164   2              UART_SendOneByte(*String++);
+ 165   2          }
+ 166   1      }
+ 167          
+ 168          /**
+ 169           * @brief This function send buffer by UART
+ 170           * @param buffer: buffer address
+ 171           * @param len: buffer length
+ 172           * @return Length of data sent
+ 173           */
+ 174          int UART_sendBuf(u8 *buffer, int len)
+ 175          {
+ 176   1          int i = 0;
+C51 COMPILER V9.60.7.0   UART                                                              11/21/2025 17:14:04 PAGE 4   
+
+ 177   1      
+ 178   1          while (i < len)
+ 179   1          {
+ 180   2              UART_SendOneByte(buffer[i++]);
+ 181   2          }
+ 182   1      
+ 183   1          return len;
+ 184   1      }
+ 185          
+ 186          /**
+ 187           * @brief  This function parity for parity checking the number of processing.
+ 188           * @param  num
+ 189           * @retval true or false
+ 190           */
+ 191          bool UART_ParityCheck(u8 num)
+ 192          {
+ 193   1          bool check = FALSE;
+ 194   1          
+ 195   1          while (num)
+ 196   1          {
+ 197   2              check = !check;
+ 198   2              num   = num & (num - 1);
+ 199   2          }
+ 200   1          
+ 201   1          if (check)
+ 202   1              S0CON |= TB80;
+ 203   1          else
+ 204   1              S0CON &= ~TB80;
+ 205   1      
+ 206   1          return check;
+ 207   1      }
+ 208          
+ 209          /**
+ 210           * @brief  This function parity for odd checking the number of processing.
+ 211           * @param  num
+ 212           * @retval true or false
+ 213           */
+ 214          bool UART_OddCheck(u8 num)
+ 215          {
+ 216   1          bool check = FALSE;
+ 217   1      
+ 218   1          while (num)
+ 219   1          {
+ 220   2              check = !check;
+ 221   2              num   = num & (num - 1);
+ 222   2          }
+ 223   1          
+ 224   1          if (check)
+ 225   1              S0CON &= ~TB80;
+ 226   1          else
+ 227   1              S0CON |= TB80;
+ 228   1      
+ 229   1          return check;
+ 230   1      }
+ 231          
+ 232          /**
+ 233           * @brief  This function send one char UART
+ 234           * @param  c
+ 235           * @retval None
+ 236           */
+ 237          char putchar(char c)
+ 238          {
+C51 COMPILER V9.60.7.0   UART                                                              11/21/2025 17:14:04 PAGE 5   
+
+ 239   1          S0BUF = c;
+ 240   1          while (!S0CON_TI0);
+ 241   1          S0CON_TI0 = 0;
+ 242   1          return c;
+ 243   1      }
+ 244          /**
+ 245           * @}
+ 246           */
+ 247          
+ 248          /**
+ 249           * @}
+ 250           */
+ 251          
+ 252          /**
+ 253           * @}
+ 254           */
+
+
+MODULE INFORMATION:   STATIC OVERLAYABLE
+   CODE SIZE        =    406    ----
+   CONSTANT SIZE    =   ----    ----
+   XDATA SIZE       =   ----    ----
+   PDATA SIZE       =   ----    ----
+   DATA SIZE        =   ----      12
+   IDATA SIZE       =   ----    ----
+   BIT SIZE         =   ----    ----
+   EDATA SIZE       =   ----    ----
+   HDATA SIZE       =   ----    ----
+   XDATA CONST SIZE =   ----    ----
+   FAR CONST SIZE   =   ----    ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

BIN
keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release


BIN
keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.SBR


+ 46 - 0
keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.build_log.htm

@@ -0,0 +1,46 @@
+<html>
+<body>
+<pre>
+<h1>礦ision Build Log</h1>
+<h2>Tool Versions:</h2>
+IDE-Version: μVision V5.38.0.0
+Copyright (C) 2022 ARM Ltd and ARM Germany GmbH. All rights reserved.
+License Information: 123 123, 123, LIC=FYURY-ISQP4-83PMD-8LPCU-AVNYT-J113F
+ 
+Tool Versions:
+Toolchain:       PK51 Prof. Developers Kit  Version: 9.60.7.0
+Toolchain Path:  d:\Keil_v5\C51\BIN
+C Compiler:      C51.exe V9.60.7.0
+Assembler:       A51.exe V8.2.7.0
+Linker/Locator:  LX51.exe V4.66.100.0
+Library Manager: LIBX51.exe V4.30.1.0
+Hex Converter:   OHX51.exe V1.47.0.0
+CPU DLL:         S8051.DLL V3.125.1.0
+Dialog DLL:      DCore51.DLL V2.81.8.0
+Target DLL:      PANCHIP\PAN028.dll V1.0.0.4
+Dialog DLL:      PAN028.dll
+ 
+<h2>Project:</h2>
+E:\xxxx2\2.4G_MODULE\PANCHIP\PAN262x\开发资料\pan262x-dk-v0.6.1\01_SDK\example_basic\rf\PAN262x_FCC_TEST-SWPRJ\keil\rf_tx.uvproj
+Project File Date:  11/21/2025
+
+<h2>Output:</h2>
+Rebuild target 'CLIENT_Release'
+User command #1: ..\updateLIB.bat
+已复制         1 个文件。
+update RF.LIB for small memory model.
+assembling STARTUP.A51...
+compiling gpio.c...
+compiling uart.c...
+compiling timer.c...
+compiling rcc.c...
+compiling log.c...
+compiling main.c...
+linking...
+Program Size: data=45.1 xdata=156 const=106 code=6814
+creating hex file from ".\Objects\PAN262x_FCC_TEST-KEY_P32-Release"...
+".\Objects\PAN262x_FCC_TEST-KEY_P32-Release" - 0 Error(s), 0 Warning(s).
+Build Time Elapsed:  00:00:02
+</pre>
+</body>
+</html>

+ 434 - 0
keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.hex

@@ -0,0 +1,434 @@
+:100000000207A60100010101010000C8EEC8740149
+:10001000082275D88043878075BA03228F9930995A
+:0A002000FDC29922905007EFF02274
+:10002B000216E9EF14601014601624027027ED60BD
+:10003B0003D28C22C28C22ED6003D28E22C28E227E
+:10004B00ED600FE5C85403700CE5C854FC4401F592
+:10005B00C82253C8FC22AF2511247BFF22D2BD221C
+:10006B000212DBE539242DF8E6053922782A300710
+:10007B0002782DE475F0011206CC0203CA2000EBC6
+:10008B007F2ED2008018EF540F2490D43440D4FF2D
+:10009B0030040BEF24BFB41A0050032461FFE53A80
+:1000AB006002153A053DE53D7002053C30070D78C1
+:1000BB002AE475F0011206CCEF02041002001C7446
+:1000CB0003D2078003E4C207F5398B2A8A2B892CCC
+:1000DB00E4F53AF53CF53DE53A60077F201200A9BF
+:1000EB0080F5753BFFC201C200C202C203C205C24A
+:1000FB0006C208120077FF700D3007057F00120053
+:10010B00BAAF3DAE3C22B4255FC2D5C20412007714
+:10011B00FF24D0B40A00501A75F00A783A30D5058E
+:10012B0008B6FF0106C6A426F620D5047002D2033A
+:10013B0080D924CFB41A00EF5004C2E5D2040202D6
+:10014B00BAD20180C6D20080C0D20280BCD2D58088
+:10015B00BAD20580B47F201200A92002077401B522
+:10016B003A0040F112006EFF1200A90200E2D20821
+:10017B00D206809512006EFB12006EFA12006EF919
+:10018B004A4B7006798B7A037BFF20022EE53A608F
+:10019B002A7E008E827583001203E360060EEE65E5
+:1001AB003B70F0C2D5EBC0E0EAC0E0E9C0E0EE1274
+:1001BB000301D0E0F9D0E0FAD0E0FB1203CAFF60F4
+:1001CB00AAEBC0E0EAC0E0E9C0E01200A9D0E0244D
+:1001DB0001F9D0E03400FAD0E0FBE53B0460DCD55C
+:1001EB003BD980877BFF7A0279FDD202809C791004
+:1001FB0080027908C206C2088008D2D5790A800429
+:10020B00790AC2D5E53B047002F53BE4FAFDFEFF2B
+:10021B0012006EFC7B0820011312006EFD7B103068
+:10022B00000A12006EFE12006EFF7B20EC3382D5AB
+:10023B0092D55013C3E43000069FFFE49EFEE420EA
+:10024B0001039DFDE49CFCE4CBF8C201EC700CCFE8
+:10025B00CECDCCE824F8F870F38017C3EF33FFEE64
+:10026B0033FEED33FDEC33FCEB33FB994002FB0F1C
+:10027B00D8E9EB300105F8D0E0C448B201C0E00A80
+:10028B00EC4D4E4F78207B0070C2EAB53B0040BC72
+:10029B00C0E0120303D0F0D0E0200104C4C0E0C4DE
+:1002AB00B201C0F0120092D0F0D5F0EB0200E212D6
+:1002BB0006DC017F5301F95801504C014C4201FD02
+:1002CB004F020544020549016543020B5501EF46F8
+:1002DB0001EF4501EF4703AB5001542D01582E019F
+:1002EB007B2B015C2301792003942A011448000025
+:1002FB0001733F3F3F00790AA2D520031430050953
+:10030B00B910020404B9080104A2D5200602500159
+:10031B00042002689202B53A005034C0E07F2030CE
+:10032B0003197F30A20272067205500F12035AC2D4
+:10033B0002C206C205C2087F30800F300503E9C038
+:10034B00E01200A9300503D0E0F9D0E0B53ACC308B
+:10035B0005177F30B9100C1200A97F583004077FA6
+:10036B00788003B908031200A93002057F2D020023
+:10037B00A97F202008F87F2B2006F322920280CF42
+:10038B00286E756C6C2900D20112006E3001F8C218
+:10039B0001783A30D50108F60201142D5043495823
+:1003AB0012006E2403B405004001E49003A69312DF
+:1003BB00009A743A12009AD203753A040201F9BBFF
+:1003CB00010689828A83E0225002E722BBFE02E308
+:1003DB002289828A83E49322BB010CE58229F58270
+:1003EB00E5833AF583E0225006E92582F8E622BB45
+:1003FB00FE06E92582F8E222E58229F582E5833AB9
+:10040B00F583E49322BB010689828A83F022500292
+:10041B00F722BBFE01F322EF8DF0A4A8F0CF8CF0F6
+:10042B00A428CE8DF0A42EFE22BC000BBE0029EF1B
+:10043B008DF084FFADF022E4CCF875F008EF2FFFC0
+:10044B00EE33FEEC33FCEE9DEC984005FCEE9DFE8E
+:10045B000FD5F0E9E4CEFD22EDF8F5F0EE8420D2D5
+:10046B001CFEADF075F008EF2FFFED33FD40079844
+:10047B005006D5F0F222C398FD0FD5F0EA22C2D573
+:10048B00EC30E709B2D5E4C39DFDE49CFCEE30E70C
+:10049B0015B2D5E4C39FFFE49EFE120434C3E49D62
+:1004AB00FDE49CFC800312043430D507C3E49FFFAA
+:1004BB00E49EFE22A3F8E0C5F025F0F0E58215825C
+:1004CB0070021583E0C838F0E822BB010A89828AE2
+:1004DB0083E0F5F0A3E022500687F009E71922BB71
+:1004EB00FE07E3F5F009E3192289828A83E493F589
+:1004FB00F074019322BB0110E58229F582E5833A62
+:10050B00F583E0F5F0A3E0225009E92582F886F0A7
+:10051B0008E622BBFE0AE92582F8E2F5F008E222A2
+:10052B00E5832AF583E993F5F0A3E99322E88FF0AD
+:10053B00A4CC8BF0A42CFCE98EF0A42CFC8AF0ED5F
+:10054B00A42CFCEA8EF0A4CDA8F08BF0A42DCC3813
+:10055B0025F0FDE98FF0A42CCD35F0FCEB8EF0A44B
+:10056B00FEA9F0EB8FF0A4CFC5F02ECD39FEE43C05
+:10057B00FCEAA42DCE35F0FDE43CFC2275F00875A9
+:10058B008200EF2FFFEE33FECD33CDCC33CCC582C3
+:10059B0033C5829BED9AEC99E58298400CF582EE7F
+:1005AB009BFEED9AFDEC99FC0FD5F0D6E4CEFBE467
+:1005BB00CDFAE4CCF9A88222B800C1B90059BA002F
+:1005CB002DEC8BF084CFCECDFCE5F0CBF97818EF8A
+:1005DB002FFFEE33FEED33FDEC33FCEB33FB10D78B
+:1005EB0003994004EB99FB0FD8E5E4F9FA2278184C
+:1005FB00EF2FFFEE33FEED33FDEC33FCC933C910A7
+:10060B00D7059BE99A4007EC9BFCE99AF90FD8E0D8
+:10061B00E4C9FAE4CCFB2275F010EF2FFFEE33FEAA
+:10062B00ED33FDCC33CCC833C810D7079BEC9AE81D
+:10063B0099400AED9BFDEC9AFCE899F80FD5F0DA9E
+:10064B00E4CDFBE4CCFAE4C8F922EB9FF5F0EA9E8B
+:10065B0042F0E99D42F0EC6480C864809845F0223A
+:10066B00EB9FF5F0EA9E42F0E99D42F0E89C45F0E5
+:10067B0022E8600FECC313FCED13FDEE13FEEF133A
+:10068B00FFD8F122E493F8740193F9740293FA748E
+:10069B000393FB22EC8EF0A4CCC5F0CCCDF8EFA4E9
+:1006AB00CEC5F02DFDE43CFCE8A42EC8C5F03DFD05
+:1006BB00E43CFCEFA4FFE5F028FEE43DFDE43CFC4C
+:1006CB0022FAE6FB0808E6F925F0F618E6CA3AF630
+:1006DB0022D083D082F8E4937012740193700DA32F
+:1006EB00A393F8740193F5828883E473740293687F
+:1006FB0060EFA3A3A380DF609700000972070002DD
+:10070B00000101000102051022550F7103E800C81A
+:10071B00555555555555555555555555555555557E
+:10072B00555555555555555555555555555555556E
+:10073B00555555555555555555555555555555555E
+:10074B00555555555555555555555555555555554E
+:10075B00000000000000000000000000000000008E
+:10076B00000000000000000000000000000000007E
+:10077B00000000000000000000000000000000006E
+:10078B00000000000000000000000000000000005E
+:10079B0000004200970000010D0000787FE4F6D8BE
+:1007AB00FD75813E0207ED020BA7E493A3F8E493DA
+:1007BB00A34003F68001F208DFF48029E493A3F849
+:1007CB005407240CC8C333C4540F4420C8834004BB
+:1007DB00F456800146F6DFE4800B0102040810207A
+:1007EB004080900702E47E019360BCA3FF543F302E
+:1007FB00E509541FFEE493A360010ECF54C025E01E
+:10080B0060A840B8E493A3FAE493A3F8E493A3C8D5
+:10081B00C582C8CAC583CAF0A3C8C582C8CAC58366
+:10082B00CADFE9DEE780BEAC08AD09AE0AAF0B78D4
+:10083B0010EC4D4E4F70047CA57DA5C3EC13FCED65
+:10084B0013FDEE13FEEF13FF5010EC64CCFCED64C4
+:10085B004CFDEE644EFEEF64CEFFD8DF8C088D09A5
+:10086B008E0A8F0BEE547FFE228E088F0974A5F52E
+:10087B000AF50B22524620547820546573742E0DC2
+:10088B000A00547826527820646F6E652E0A005445
+:10089B0078206661696C2E0A006D6F64653D5B257F
+:1008AB0062755D0D0A0052465F456E746572527833
+:1008BB004D6F64650D0A0072616E645F6E756D3D00
+:1008CB005B2562755D0D0A0072665F63683D5B2593
+:1008DB0062755D0D0A00EF540FFEEF54F0FCBC1077
+:1008EB0005E4F52E800AEC64306002419D752EFB09
+:1008FB00E52E5403FF240CF5F8ED5401D39400407E
+:10090B000D12000B8002C333D8FC42F9800C12008D
+:10091B000B8002C333D8FCF452F9EF240DF5F8ED3C
+:10092B005402D39400400D12000B8002C333D8FC49
+:10093B0042F9800C12000B8002C333D8FCF452F93D
+:10094B00E52E5403240EF5F8ED5404D39400400D1A
+:10095B0012000B8002C333D8FC42F9800C12000B3F
+:10096B008002C333D8FCF452F9EB64037018F1B175
+:10097B0012000B8002C333D8FCF4FD52F9EF04F5DF
+:10098B00F8ED52F98048F1B1EB5401D39400400DCE
+:10099B0012000B8002C333D8FC42F9800C12000BFF
+:1009AB008002C333D8FCF452F9EF04F5F8EB540290
+:1009BB00D39400400D12000B8002C333D8FC42F9D4
+:1009CB00800C12000B8002C333D8FCF452F9AF2E0B
+:1009DB00EFC4135401240AF5F8EB25E02404F58247
+:1009EB00E43400F19F400D12000B8002C333D8FC9E
+:1009FB0042F9800C12000B8002C333D8FCF452F97D
+:100A0B00AF2EEFC454012404F5F8CFEBCFEF25E064
+:100A1B002403F582E43400F19F400D12000B800299
+:100A2B00C333D8FC42F9800C12000B8002C333D8BD
+:100A3B00FCF452F9AF2EEFC4131354012406F5F84E
+:100A4B00E52D5401D39400400D12000B8002C333EB
+:100A5B00D8FC42F9800C12000B8002C333D8FCF493
+:100A6B0052F9AF2EEFC413131354012408F5F8E514
+:100A7B002D5402D39400400C12000B8002C333D8C8
+:100A8B00FC42F922CFEECFF1C18002C333D8FCF484
+:100A9B0052F922EF4D4BF598E52D14B40800507325
+:100AAB00900AB975F003A4C58325F0C58373020AB8
+:100ABB00D1020ADE020AE5020AEC020AF3020AFE7E
+:100ACB00020B05020B0C75D88043878075BA027533
+:100ADB00AA5F2212001275AA302212001275AA9870
+:100AEB002212001275AACC22758920758DF7758B91
+:100AFB00F7801712001275AAE62212001275AAF3DC
+:100B0B0022758920758DFD758BFD43884075D84006
+:100B1B0043878022CCEFCCEC7021C28CBD0209E55F
+:100B2B002EF58C858C8A8008E52DF58CE52EF58AC3
+:100B3B005389FBE58954FC4DF58922EC6401702641
+:100B4B00C28EBD0209E52EF58D858D8B8008E52DB6
+:100B5B00F58DE52EF58B5389BFEDC454F0FFE58978
+:100B6B0054CF4FF58922EC6402703053C8FCE52D4D
+:100B7B00FFF5CDAE2EE52EF5CC8FCB8ECAEBC43365
+:100B8B0033335480FFE5C8547F4FF5C8ED7009E54A
+:100B9B00C854E74410F5C82253C8E722E4F5227580
+:100BAB0023FAF524752502F526F527F528F52912E4
+:100BBB0011397FE87E0312127CD1F8F153B1B4F1F5
+:100BCB0036752D01E4FBFD7F3211E1D2AF7BFF7A4D
+:100BDB0008797F81BDE50C602524F0601524F06059
+:100BEB000C24C070167BFF7A08798D800B7522015F
+:100BFB0080097BFF7A08799A1200D0E4F50C121267
+:100C0B009DEF601E7522017524010523E523C39416
+:100C1B00094003E4F5237BFF7A0879A485232D1281
+:100C2B0000D0E523B4090050AC900C3BF828287396
+:100C3B00020C56020C79020C90020CA7020CC20299
+:100C4B000CD6020CE3020CF3020D4DE5246006F109
+:100C5B0073B1B2F131E522700261E0E4F522F11ECD
+:100C6B00900008E0F12A600280177FA0A148E524DC
+:100C7B006007F1737F28120024E522700261E0F116
+:100C8B00257FB0A148E5246007F1737F5012002443
+:100C9B00E522700261E0F1257FB0A148E5247002E6
+:100CAB0061E0E4F5247F02120024F17A7BFF7A08DD
+:100CBB0079B11200D061E0E524700261E0E4F52423
+:100CCB00F522B1B2F13112171B61E0E5247002611C
+:100CDB00E0E4F5247F28800BE524700261E0E4F565
+:100CEB00247F5012002461E0E524600FE4F524B169
+:100CFB00B2F136752201E4F528F529121AFD402BC5
+:100D0B00E4F528F52911327C007D291204898D2602
+:100D1B00E52625E0F525D3945040037525501200A8
+:100D2B00617A0879C285252D1200D0E52270026107
+:100D3B00E00529E52970020528F1257FB01215463B
+:100D4B0061E0E524600CE4F524F525752201F52816
+:100D5B00F529121AFD4022E4F528F529F52205257F
+:100D6B000525E525D3945040037525021200617AC1
+:100D7B000879D385252D1200D0E522700261E0E4BD
+:100D8B00F5220529E52970020528F1287FB01215F7
+:100D9B004661E0EF14600A14600A24027008D2A9BD
+:100DAB0022D2AB22D2AD22F1427B017A0079008BA9
+:100DBB002A8A2B892C7D017F007E01D1CE1211BA9C
+:100DCB00E4FF121AE0D1F19000041203E3FF1218B2
+:100DDB0024D1F19000031203E3FF121582D1F1121B
+:100DEB0004D524A0FF120024D1F190000A1203E3D2
+:100DFB00FF12172FD1F19000021203E3FF121754C9
+:100E0B007F01121AB7121AF0C0E0EAC0E0E9C0E0A5
+:100E1B00F1A7FDD0E0F9D0E0FAD0E0FB12194512B2
+:100E2B001AF0C0E0EAC0E0E9C0E0F1A7F531D0E08C
+:100E3B00F9D0E0FAD0E0FBE4FF12188F7D40E4FF1D
+:100E4B0012198ED1F19000051203E3FF121866D12F
+:100E5B00F1900013120500FFAEF01219F5D1F190CD
+:100E6B0000051203E364017039900011120500FFB5
+:100E7B00AEF0121A1A7D037FFA7E001219ABD1F174
+:100E8B009000081203E3FF12199BD1F19000061298
+:100E9B0003E3FF121AA7D1F19000071203E3FDE45D
+:100EAB008014E4FD7FFAFE1219AB7F0112199BE44B
+:100EBB00FF121AA7E4FDFFF1C87D017F38121ACD8E
+:100ECB00020068CBEFCBEB600875FC0CED60128079
+:100EDB000975FC0DED6007CFEECFEF42FD22CFEE93
+:100EEB00CFEFF452FD22AB2AAA2BA92C227D017F36
+:100EFB0002F14C7F01F14C7F087E00D1CEE4F52D41
+:100F0B007B017D017F3111E1752D087B40E4FD7F75
+:100F1B0040419E90506174E1F022E4F522F11E7C79
+:100F2B00007D157B40227F02120024F18054FEF0DD
+:100F3B009050607401F02275FC0143FD0153FDFEDE
+:100F4B00227E00D1CE7D01227D017F107E00D1CE8D
+:100F5B00752DFA752ECBE4FBFD7F02711F7F02B15D
+:100F6B009E7D017F0202002EE4F52475220122F101
+:100F7B0080440180BA905060E4F0F11EF190F1973B
+:100F8B00905000E02290506174E2F02290500CE0FF
+:100F9B0044F0F022F583E493D3940022AA2BA92CDE
+:100FAB0090000B0203E3AF2EEF13135403FFF5F87E
+:100FBB002290503CE0FEC8EFC874010822ED600C93
+:100FCB00F1BC8002C333D8FC4EF0800BF1BC800225
+:100FDB00C333D8FCF45EF090503CE0543F6006A362
+:100FEB00E04404F02290503DE054FBF022E13B8DB5
+:100FFB002B90000075FC03EF14603F14605C1470C1
+:10100B000201C22403600201E7E52B601F11E8E532
+:10101B00FB20E0FB75FC06E5FD30E70201E711F272
+:10102B0070020583310250EF11F980EB53FDFD1176
+:10103B00EBE5FB20E00201E780F7E52B600E43FDBB
+:10104B000111EBE5FB20E00201E780F753FDFE11F8
+:10105B00EBE5FB20E00201E780F7E52B6055E5FDB2
+:10106B0020E279E5FD4404F52CE5FD30E72411E899
+:10107B00E5FB20E0FB75FC06AFFDEF20E70E11F260
+:10108B0070020583310250ED11F980E975FC0353B1
+:10109B00FD3F311143FD1075FC08AFFDEF20E60E4F
+:1010AB0011F270020583310250ED11F980E975FCE4
+:1010BB0008800053FDFB22E52B601EE5FD20E31CA1
+:1010CB0043FD0875FC0AE5FD20E51111F2700205E0
+:1010DB0083310250F111F980ED53FDF72243FD02EC
+:1010EB0075FA1643FB01220582E582AE8322C2AF5D
+:1010FB0043F70143F7012214FFE4FCFD7BFA7AFF6F
+:10110B00F9F8C302065575FC0843FD0C75FC085332
+:10111B00FDEF75FC0343FD0475FC082275FC03EF22
+:10112B00C4333354C0FFE5FD543F4FF5FD2231ABC3
+:10113B006401701A75FC0DAEFD8E2AE52A20E006BF
+:10114B0075FC0D43FD0131B275FC0D852AFDEFB425
+:10115B00020675FC0443FD803190E4FF31277D01CD
+:10116B007F02120FFA7D017F03120FFA9081D3E4F5
+:10117B0093B401047F0231279081D3E493B402042A
+:10118B007F033127227F557EAA7DAA7C559081CF84
+:10119B0012068FC312066B60067D1A7F20516322E5
+:1011AB009081D3E493FF22905036E04480F02212DA
+:1011BB000F4231B290503CE4F09050087464F090C0
+:1011CB00503374C4F090503B740BF090503D7498B6
+:1011DB00F0905006E4F090503E74B2F0905058747A
+:1011EB0030F0A374F0F090505C7405F090505E7486
+:1011FB0080F09050857440F0905087740AF0A3747F
+:10120B004AF0A37402F09050037419F0A374ECF03D
+:10121B00A37487F090501E7403F090500B745BF026
+:10122B009050347401F0905041E4F0A37444F0906A
+:10123B005054744AF0A37440F0A37422F090507A87
+:10124B00743AF0A374FFF0A3747BF0905000740415
+:10125B00F09050617473F0228F2B8D2C75FC06E58A
+:10126B00FD548F4FF5FD75FC10ED25E04480F5FD29
+:10127B0022E4FDFCC3ED9FEC9E5016E4FBFA000B41
+:10128B00BB00010ABA03F7BBE8F40DBD00010C80EB
+:10129B00E32230B20479018002E4F9E9700DE50D27
+:1012AB00702351D3701F750D01801AE96017E50D7E
+:1012BB00B4011251D3600EE50DB40106E4F50D7FB8
+:1012CB000122E4F50D7F00227F2C7E01517CE92267
+:1012DB00C0E0C0F0C083C082C085C084C09253926E
+:1012EB00FEC0D0E8C0E0E9C0E0EAC0E0EBC0E0EC53
+:1012FB00C0E0EDC0E0EEC0E0EFC0E0D1C88F0CE580
+:10130B000C24A07013900006E0600D7E007F557DCD
+:10131B00407152900096EFF0120F90120F97D0E0A1
+:10132B00FFD0E0FED0E0FDD0E0FCD0E0FBD0E0FA57
+:10133B00D0E0F9D0E0F8D0D0D092D084D085D08254
+:10134B00D083D0F0D0E032CBEFCBCAEECA90506353
+:10135B00E0FFC9EFC9F53E9081E3E49320E402710D
+:10136B0099E53ED39D50219050617461F0AF3E15CD
+:10137B003EEF6010905062E08B828A83F00BBB00D3
+:10138B00010A80E9B17B8002E4F9CFE9CF227FDC4F
+:10139B007E05EF4E600BEF1FCCEECC70011E4C7038
+:1013AB00F5228F2F905080D1D04480CFEFF0E52FD6
+:1013BB004460905075F0905072E04410F0E4F530BA
+:1013CB00E52F25E025E08530F0A4252FFF12002422
+:1013DB0090503EE0F5315331F8433104E531F09054
+:1013EB00507FE04480F09050A2E030E5F990507FC0
+:1013FB00E044409164E054BFF07F407E06719D90C5
+:10140B0050A5E030E5F97F0A7E00719D90507FE09A
+:10141B00547FF09050A5E0541FFFE530FDC3746D71
+:10142B009DFD745094008D82F583EFF00530E5300F
+:10143B00C39404408B905072E054EFF090503EE018
+:10144B00FFCF54F8CFCF4402CFEFF090506A915CAE
+:10145B00A3E014F0A3E014F022F07F057E00619D61
+:10146B008F2F8D30E4F531B1157C037D1612069F5D
+:10147B00780712067C91F4453191E491D6E0547FC4
+:10148B00F091D691DC40E0E4F531B115E4FCFD7B45
+:10149B009C7AC6790DF81205387B007AF4790178BD
+:1014AB00001205C391F4FFE5312405FEEF4E91E4E4
+:1014BB009165E0547F916491DC40CFE52FC454F0EB
+:1014CB00FFE530540F4F90506FF0227F847E036105
+:1014DB009D0531E531C3940522F090507DE533F045
+:1014EB00E532A3F0E04480F0228E348F35E53524CD
+:1014FB0005FFE43534FE7C007D0A1204348E328FF6
+:10150B0033905072E054F0F0E022E530FB75F004BC
+:10151B00A42401FFE435F0FEAD317C00120422CC93
+:10152B00EECCCDEFCDEB25E0FFE433FEED2FFFEC62
+:10153B003EFEEF2462FFEE3409FE22C9EFC9E4FA46
+:10154B008C2A8D2B9081E39320E4027199EBD39439
+:10155B0040501C905061E9F0EAC39B5010CFEACF8A
+:10156B000AE52B2FF582E4352AD1D880EBB17B220B
+:10157B0090506174FFF0228F2D905007E0F52E9064
+:10158B005009E054FCF0905033E054CFF09050767B
+:10159B00E054E0F090507FE054C0F0E52D702090C7
+:1015AB005009E0F0905033E0F09050247424F09008
+:1015BB005076E04418F090507FE04419F08058E5E5
+:1015CB002D64017024905009E04401F0905033E0F9
+:1015DB004410F090502474A4F0905076E0441FF027
+:1015EB0090507FE04432F0802EE52D6402702890FD
+:1015FB0050437487F0905009E04403F0905033E06F
+:10160B004430F09050247404F0905076E04412F083
+:10161B0090507FE0441DF0120FF87D077F05D13A03
+:10162B007F0A71ADAF2DD16E905007E52EF0229150
+:10163B006B90503BE04402F0905070E04408F09007
+:10164B0050A2E030E5F990505EE04408F09050A2D3
+:10165B00E030E4F990505EE054F7F0905070E054B5
+:10166B00F7F022905000E0FE120F3B905000E04448
+:10167B0001F090500BE054BFF090504BE04480F0E1
+:10168B0090505FBF02057462F080037460F090505D
+:10169B0005E04410F0905037E04408F09050ABE078
+:1016AB004401F09050AAE030E7F9905005E054EF78
+:1016BB00F0905037E054F7F0D1E0EEF02290500C60
+:1016CB00E054F0FF22E0FFCF543FCFCF22F583E071
+:1016DB00905062F022905060E4F090500022C0E0F5
+:1016EB00C083C082C085C084C0925392FEC2C69094
+:1016FB000098E004F07006900097E004F0D092D0D0
+:10170B0084D085D082D083D0E032905060E4F02238
+:10171B0090503BE054FDF0E04402F0F11590503551
+:10172B0074AEF022E4FE905000E054F9F0EF146038
+:10173B000B14600C2402700AE4FE80067E02800209
+:10174B007E06905000E04EF02290500AE05480F05C
+:10175B00A3E054C7F0EFB40E004003021809901732
+:10176B0070F828287302179A0217A10217A80217FC
+:10177B00AF0217B60217BD0217C40217CB0217D25E
+:10178B000217D90217E00217EC0217F30217FF1228
+:10179B001AE644078044121AE64409803D121AE601
+:1017AB00440B8036121AE6440E802F121AE64415AB
+:1017BB00802812180A440E802112180A4411801A2C
+:1017CB0012180A4414801312180A4417800C1218AA
+:1017DB000A441D800512180A4426F0A3E04408F0C1
+:1017EB002212180A4426800512180A4438F0A3E086
+:1017FB004418F022110A447FF0A3E04438F0229001
+:10180B005009E054FBF0A3E022EF9050356005E067
+:10181B004401F022E054FEF022E4FE90503D749817
+:10182B00F0EF60131460181470267E40905001E4A2
+:10183B00F0905006F08002E4FE7F01111480117EBF
+:10184B0080E4FF111490503DE04460F0E054E7F069
+:10185B00905000E0543FF0E04EF022EF70059050B6
+:10186B0001F022BF0107905001E04401F02290509B
+:10187B0002E0543FF0E0FEEF24FEC4333354C0FFCC
+:10188B00EE4FF0228B2E8A2F8930CCEFCCE4F53241
+:10189B00AF311179CFECCF7D013123CFCFEF146076
+:1018AB002114602F14603314603714603B240570CF
+:1018BB003D753350753410E532C3953150303103DB
+:1018CB0080F5753350753415E532C39531501F31A2
+:1018DB000380F511FA90501BF02211FA90501AF078
+:1018EB002211FA90501DF02211FA90501CF022ABED
+:1018FB002EAA2FA9300203CAAB2EAA2FA9308532EC
+:10190B00827583001203E3FFE5342532F582E4355B
+:10191B0033F583EFF0053222ED600F905002120F7A
+:10192B00BF8002C333D8FC4EF022905002120FBF7F
+:10193B008002C333D8FCF45EF0228B2D8A2E892FC4
+:10194B009000997401F0A37450F0A37426F0CFEDBE
+:10195B00CF1179CFEDCF1DEF6028AB2D052FE52FE4
+:10196B00AA2E7002052E14F91203CAFF900099E0FB
+:10197B00FBA3E475F0011204BFA9F0FAEF120410F7
+:10198B0080D122742B2FF582E43450F583EDF022B5
+:10199B00EF90503D6005E04401F022E054FEF02250
+:1019AB00CBEDCBC3EF94FAEE9400402DD3EF94A084
+:1019BB00EE940F50247C007DFA1204348F2DE52D0C
+:1019CB00D394004002152D905006E0540FF0E0FF29
+:1019DB00E52DC454F0FEEF4EF0EBD3940F500A906C
+:1019EB005006E054F0F0E04BF022EE510E905042D6
+:1019FB00E054C0F0E0CCEFCC4CF0A3E054C0F0E0EE
+:101A0B004FF022C4F854F0C8EFC4540F48FF229093
+:101A1B005033E0C45403FD905040E054C0F0BD017E
+:101A2B001FD3EF9400EE940440047E047F0090508B
+:101A3B0040E0FDEF24F0FFEE34FF510EED4FF022AE
+:101A4B00ED702AD3EF9400EE940840047E087F00DB
+:101A5B00905040C083C082E0FDEF24E0FFEE34FFE6
+:101A6B00FE7805EFCEC313CE13D8F98028D3EF94AD
+:101A7B0000EE942040047E207F00905040C083C035
+:101A8B0082E0FDEF2480FFEE34FFFE7807EFCEC33C
+:101A9B0013CE13D8F94DD082D083F022EF90503D66
+:101AAB006005E04402F022E054FDF022EF70089054
+:101ABB00503DE054E7F022BF010790503DE0441841
+:101ACB00F022ED9050007004E04FF022E0FEEFF4B6
+:101ADB00FFEE5FF02275FC178FFD22905009E0445A
+:101AEB0004F0A3E022AB2AE52C240CF9E4352BFA05
+:0E1AFB00EB22C3E529942CE528648094812217
+:00000001FF

+ 15 - 0
keil/Objects/PAN262x_FCC_TEST-KEY_P32-Release.lnp

@@ -0,0 +1,15 @@
+".\Objects\STARTUP.obj",
+".\Objects\gpio.obj",
+".\Objects\uart.obj",
+".\Objects\timer.obj",
+".\Objects\rcc.obj",
+"..\..\..\..\driver\src\RF.LIB",
+".\Objects\log.obj",
+".\Objects\main.obj" 
+TO ".\Objects\PAN262x_FCC_TEST-KEY_P32-Release" 
+
+PRINT(".\Listings\PAN262x_FCC_TEST-KEY_P32-Release.map") DISABLEWARNING (16) 
+REMOVEUNUSED 
+CLASSES (XDATA (X:0x0-X:0x7FF), HDATA (X:0x0-X:0x7FF), CODE (C:0x0-C:0x7FFF), CONST (C:0x0-C:0x7FFF), 
+ECODE (C:0x0-C:0x7FFF), HCONST (C:0x0-C:0x7FFF) , 
+CODE(C:0x0000-C:0x7FFF),CONST(C:0x0000-C:0x7FFF),XDATA (X:0x0-X:0x07FF),IDATA(I:0x0-I:0xFF)) 

BIN
keil/Objects/PAN262x_FCC_TEST-Release


BIN
keil/Objects/PAN262x_FCC_TEST-Release.SBR


+ 45 - 0
keil/Objects/PAN262x_FCC_TEST-Release.build_log.htm

@@ -0,0 +1,45 @@
+<html>
+<body>
+<pre>
+<h1>礦ision Build Log</h1>
+<h2>Tool Versions:</h2>
+IDE-Version: μVision V5.38.0.0
+Copyright (C) 2022 ARM Ltd and ARM Germany GmbH. All rights reserved.
+License Information: 123 123, 123, LIC=FYURY-ISQP4-83PMD-8LPCU-AVNYT-J113F
+ 
+Tool Versions:
+Toolchain:       PK51 Prof. Developers Kit  Version: 9.60.7.0
+Toolchain Path:  d:\Keil_v5\C51\BIN
+C Compiler:      C51.exe V9.60.7.0
+Assembler:       A51.exe V8.2.7.0
+Linker/Locator:  LX51.exe V4.66.100.0
+Library Manager: LIBX51.exe V4.30.1.0
+Hex Converter:   OHX51.exe V1.47.0.0
+CPU DLL:         S8051.DLL V3.125.1.0
+Dialog DLL:      DCore51.DLL V2.81.8.0
+Target DLL:      PANCHIP\PAN028.dll V1.0.0.4
+Dialog DLL:      PAN028.dll
+ 
+<h2>Project:</h2>
+E:\xxxx2\2.4G_MODULE\PANCHIP\PAN262x\开发资料\pan262x-dk-v0.6.1\01_SDK\example_basic\rf\PAN262x_FCC_TEST-SWPRJ\keil\rf_tx.uvproj
+Project File Date:  11/21/2025
+
+<h2>Output:</h2>
+Build target 'MY_Release'
+User command #1: ..\updateLIB.bat
+已复制         1 个文件。
+update RF.LIB for small memory model.
+compiling gpio.c...
+compiling uart.c...
+compiling timer.c...
+compiling rcc.c...
+compiling log.c...
+compiling main.c...
+linking...
+Program Size: data=45.1 xdata=156 const=106 code=6814
+creating hex file from ".\Objects\PAN262x_FCC_TEST-Release"...
+".\Objects\PAN262x_FCC_TEST-Release" - 0 Error(s), 0 Warning(s).
+Build Time Elapsed:  00:00:02
+</pre>
+</body>
+</html>

+ 434 - 0
keil/Objects/PAN262x_FCC_TEST-Release.hex

@@ -0,0 +1,434 @@
+:100000000207A60100010101010000C8EEC8740149
+:10001000082275D88043878075BA03228F9930995A
+:0A002000FDC29922905007EFF02274
+:10002B000216E9EF14601014601624027027ED60BD
+:10003B0003D28C22C28C22ED6003D28E22C28E227E
+:10004B00ED600FE5C85403700CE5C854FC4401F592
+:10005B00C82253C8FC22AF2511247BFF22D2BD221C
+:10006B000212DBE539242DF8E6053922782A300710
+:10007B0002782DE475F0011206CC0203CA2000EBC6
+:10008B007F2ED2008018EF540F2490D43440D4FF2D
+:10009B0030040BEF24BFB41A0050032461FFE53A80
+:1000AB006002153A053DE53D7002053C30070D78C1
+:1000BB002AE475F0011206CCEF02041002001C7446
+:1000CB0003D2078003E4C207F5398B2A8A2B892CCC
+:1000DB00E4F53AF53CF53DE53A60077F201200A9BF
+:1000EB0080F5753BFFC201C200C202C203C205C24A
+:1000FB0006C208120077FF700D3007057F00120053
+:10010B00BAAF3DAE3C22B4255FC2D5C20412007714
+:10011B00FF24D0B40A00501A75F00A783A30D5058E
+:10012B0008B6FF0106C6A426F620D5047002D2033A
+:10013B0080D924CFB41A00EF5004C2E5D2040202D6
+:10014B00BAD20180C6D20080C0D20280BCD2D58088
+:10015B00BAD20580B47F201200A92002077401B522
+:10016B003A0040F112006EFF1200A90200E2D20821
+:10017B00D206809512006EFB12006EFA12006EF919
+:10018B004A4B7006798B7A037BFF20022EE53A608F
+:10019B002A7E008E827583001203E360060EEE65E5
+:1001AB003B70F0C2D5EBC0E0EAC0E0E9C0E0EE1274
+:1001BB000301D0E0F9D0E0FAD0E0FB1203CAFF60F4
+:1001CB00AAEBC0E0EAC0E0E9C0E01200A9D0E0244D
+:1001DB0001F9D0E03400FAD0E0FBE53B0460DCD55C
+:1001EB003BD980877BFF7A0279FDD202809C791004
+:1001FB0080027908C206C2088008D2D5790A800429
+:10020B00790AC2D5E53B047002F53BE4FAFDFEFF2B
+:10021B0012006EFC7B0820011312006EFD7B103068
+:10022B00000A12006EFE12006EFF7B20EC3382D5AB
+:10023B0092D55013C3E43000069FFFE49EFEE420EA
+:10024B0001039DFDE49CFCE4CBF8C201EC700CCFE8
+:10025B00CECDCCE824F8F870F38017C3EF33FFEE64
+:10026B0033FEED33FDEC33FCEB33FB994002FB0F1C
+:10027B00D8E9EB300105F8D0E0C448B201C0E00A80
+:10028B00EC4D4E4F78207B0070C2EAB53B0040BC72
+:10029B00C0E0120303D0F0D0E0200104C4C0E0C4DE
+:1002AB00B201C0F0120092D0F0D5F0EB0200E212D6
+:1002BB0006DC017F5301F95801504C014C4201FD02
+:1002CB004F020544020549016543020B5501EF46F8
+:1002DB0001EF4501EF4703AB5001542D01582E019F
+:1002EB007B2B015C2301792003942A011448000025
+:1002FB0001733F3F3F00790AA2D520031430050953
+:10030B00B910020404B9080104A2D5200602500159
+:10031B00042002689202B53A005034C0E07F2030CE
+:10032B0003197F30A20272067205500F12035AC2D4
+:10033B0002C206C205C2087F30800F300503E9C038
+:10034B00E01200A9300503D0E0F9D0E0B53ACC308B
+:10035B0005177F30B9100C1200A97F583004077FA6
+:10036B00788003B908031200A93002057F2D020023
+:10037B00A97F202008F87F2B2006F322920280CF42
+:10038B00286E756C6C2900D20112006E3001F8C218
+:10039B0001783A30D50108F60201142D5043495823
+:1003AB0012006E2403B405004001E49003A69312DF
+:1003BB00009A743A12009AD203753A040201F9BBFF
+:1003CB00010689828A83E0225002E722BBFE02E308
+:1003DB002289828A83E49322BB010CE58229F58270
+:1003EB00E5833AF583E0225006E92582F8E622BB45
+:1003FB00FE06E92582F8E222E58229F582E5833AB9
+:10040B00F583E49322BB010689828A83F022500292
+:10041B00F722BBFE01F322EF8DF0A4A8F0CF8CF0F6
+:10042B00A428CE8DF0A42EFE22BC000BBE0029EF1B
+:10043B008DF084FFADF022E4CCF875F008EF2FFFC0
+:10044B00EE33FEEC33FCEE9DEC984005FCEE9DFE8E
+:10045B000FD5F0E9E4CEFD22EDF8F5F0EE8420D2D5
+:10046B001CFEADF075F008EF2FFFED33FD40079844
+:10047B005006D5F0F222C398FD0FD5F0EA22C2D573
+:10048B00EC30E709B2D5E4C39DFDE49CFCEE30E70C
+:10049B0015B2D5E4C39FFFE49EFE120434C3E49D62
+:1004AB00FDE49CFC800312043430D507C3E49FFFAA
+:1004BB00E49EFE22A3F8E0C5F025F0F0E58215825C
+:1004CB0070021583E0C838F0E822BB010A89828AE2
+:1004DB0083E0F5F0A3E022500687F009E71922BB71
+:1004EB00FE07E3F5F009E3192289828A83E493F589
+:1004FB00F074019322BB0110E58229F582E5833A62
+:10050B00F583E0F5F0A3E0225009E92582F886F0A7
+:10051B0008E622BBFE0AE92582F8E2F5F008E222A2
+:10052B00E5832AF583E993F5F0A3E99322E88FF0AD
+:10053B00A4CC8BF0A42CFCE98EF0A42CFC8AF0ED5F
+:10054B00A42CFCEA8EF0A4CDA8F08BF0A42DCC3813
+:10055B0025F0FDE98FF0A42CCD35F0FCEB8EF0A44B
+:10056B00FEA9F0EB8FF0A4CFC5F02ECD39FEE43C05
+:10057B00FCEAA42DCE35F0FDE43CFC2275F00875A9
+:10058B008200EF2FFFEE33FECD33CDCC33CCC582C3
+:10059B0033C5829BED9AEC99E58298400CF582EE7F
+:1005AB009BFEED9AFDEC99FC0FD5F0D6E4CEFBE467
+:1005BB00CDFAE4CCF9A88222B800C1B90059BA002F
+:1005CB002DEC8BF084CFCECDFCE5F0CBF97818EF8A
+:1005DB002FFFEE33FEED33FDEC33FCEB33FB10D78B
+:1005EB0003994004EB99FB0FD8E5E4F9FA2278184C
+:1005FB00EF2FFFEE33FEED33FDEC33FCC933C910A7
+:10060B00D7059BE99A4007EC9BFCE99AF90FD8E0D8
+:10061B00E4C9FAE4CCFB2275F010EF2FFFEE33FEAA
+:10062B00ED33FDCC33CCC833C810D7079BEC9AE81D
+:10063B0099400AED9BFDEC9AFCE899F80FD5F0DA9E
+:10064B00E4CDFBE4CCFAE4C8F922EB9FF5F0EA9E8B
+:10065B0042F0E99D42F0EC6480C864809845F0223A
+:10066B00EB9FF5F0EA9E42F0E99D42F0E89C45F0E5
+:10067B0022E8600FECC313FCED13FDEE13FEEF133A
+:10068B00FFD8F122E493F8740193F9740293FA748E
+:10069B000393FB22EC8EF0A4CCC5F0CCCDF8EFA4E9
+:1006AB00CEC5F02DFDE43CFCE8A42EC8C5F03DFD05
+:1006BB00E43CFCEFA4FFE5F028FEE43DFDE43CFC4C
+:1006CB0022FAE6FB0808E6F925F0F618E6CA3AF630
+:1006DB0022D083D082F8E4937012740193700DA32F
+:1006EB00A393F8740193F5828883E473740293687F
+:1006FB0060EFA3A3A380DF609700000972070002DD
+:10070B00000101000102051022550F7103E800C81A
+:10071B00555555555555555555555555555555557E
+:10072B00555555555555555555555555555555556E
+:10073B00555555555555555555555555555555555E
+:10074B00555555555555555555555555555555554E
+:10075B00000000000000000000000000000000008E
+:10076B00000000000000000000000000000000007E
+:10077B00000000000000000000000000000000006E
+:10078B00000000000000000000000000000000005E
+:10079B0000004200970000010D0000787FE4F6D8BE
+:1007AB00FD75813E0207ED020BA7E493A3F8E493DA
+:1007BB00A34003F68001F208DFF48029E493A3F849
+:1007CB005407240CC8C333C4540F4420C8834004BB
+:1007DB00F456800146F6DFE4800B0102040810207A
+:1007EB004080900702E47E019360BCA3FF543F302E
+:1007FB00E509541FFEE493A360010ECF54C025E01E
+:10080B0060A840B8E493A3FAE493A3F8E493A3C8D5
+:10081B00C582C8CAC583CAF0A3C8C582C8CAC58366
+:10082B00CADFE9DEE780BEAC08AD09AE0AAF0B78D4
+:10083B0010EC4D4E4F70047CA57DA5C3EC13FCED65
+:10084B0013FDEE13FEEF13FF5010EC64CCFCED64C4
+:10085B004CFDEE644EFEEF64CEFFD8DF8C088D09A5
+:10086B008E0A8F0BEE547FFE228E088F0974A5F52E
+:10087B000AF50B22524620547820546573742E0DC2
+:10088B000A00547826527820646F6E652E0A005445
+:10089B0078206661696C2E0A006D6F64653D5B257F
+:1008AB0062755D0D0A0052465F456E746572527833
+:1008BB004D6F64650D0A0072616E645F6E756D3D00
+:1008CB005B2562755D0D0A0072665F63683D5B2593
+:1008DB0062755D0D0A00EF540FFEEF54F0FCBC1077
+:1008EB0005E4F52E800AEC64306002419D752EFB09
+:1008FB00E52E5403FF240CF5F8ED5401D39400407E
+:10090B000D12000B8002C333D8FC42F9800C12008D
+:10091B000B8002C333D8FCF452F9EF240DF5F8ED3C
+:10092B005402D39400400D12000B8002C333D8FC49
+:10093B0042F9800C12000B8002C333D8FCF452F93D
+:10094B00E52E5403240EF5F8ED5404D39400400D1A
+:10095B0012000B8002C333D8FC42F9800C12000B3F
+:10096B008002C333D8FCF452F9EB64037018F1B175
+:10097B0012000B8002C333D8FCF4FD52F9EF04F5DF
+:10098B00F8ED52F98048F1B1EB5401D39400400DCE
+:10099B0012000B8002C333D8FC42F9800C12000BFF
+:1009AB008002C333D8FCF452F9EF04F5F8EB540290
+:1009BB00D39400400D12000B8002C333D8FC42F9D4
+:1009CB00800C12000B8002C333D8FCF452F9AF2E0B
+:1009DB00EFC4135401240AF5F8EB25E02404F58247
+:1009EB00E43400F19F400D12000B8002C333D8FC9E
+:1009FB0042F9800C12000B8002C333D8FCF452F97D
+:100A0B00AF2EEFC454012404F5F8CFEBCFEF25E064
+:100A1B002403F582E43400F19F400D12000B800299
+:100A2B00C333D8FC42F9800C12000B8002C333D8BD
+:100A3B00FCF452F9AF2EEFC4131354012406F5F84E
+:100A4B00E52D5401D39400400D12000B8002C333EB
+:100A5B00D8FC42F9800C12000B8002C333D8FCF493
+:100A6B0052F9AF2EEFC413131354012408F5F8E514
+:100A7B002D5402D39400400C12000B8002C333D8C8
+:100A8B00FC42F922CFEECFF1C18002C333D8FCF484
+:100A9B0052F922EF4D4BF598E52D14B40800507325
+:100AAB00900AB975F003A4C58325F0C58373020AB8
+:100ABB00D1020ADE020AE5020AEC020AF3020AFE7E
+:100ACB00020B05020B0C75D88043878075BA027533
+:100ADB00AA5F2212001275AA302212001275AA9870
+:100AEB002212001275AACC22758920758DF7758B91
+:100AFB00F7801712001275AAE62212001275AAF3DC
+:100B0B0022758920758DFD758BFD43884075D84006
+:100B1B0043878022CCEFCCEC7021C28CBD0209E55F
+:100B2B002EF58C858C8A8008E52DF58CE52EF58AC3
+:100B3B005389FBE58954FC4DF58922EC6401702641
+:100B4B00C28EBD0209E52EF58D858D8B8008E52DB6
+:100B5B00F58DE52EF58B5389BFEDC454F0FFE58978
+:100B6B0054CF4FF58922EC6402703053C8FCE52D4D
+:100B7B00FFF5CDAE2EE52EF5CC8FCB8ECAEBC43365
+:100B8B0033335480FFE5C8547F4FF5C8ED7009E54A
+:100B9B00C854E74410F5C82253C8E722E4F5227580
+:100BAB0023FAF524752502F526F527F528F52912E4
+:100BBB0011397FE87E0312127CD1F8F153B1B4F1F5
+:100BCB0036752D01E4FBFD7F3311E1D2AF7BFF7A4C
+:100BDB0008797F81BDE50C602524F0601524F06059
+:100BEB000C24C070167BFF7A08798D800B7522015F
+:100BFB0080097BFF7A08799A1200D0E4F50C121267
+:100C0B009DEF601E7522017524010523E523C39416
+:100C1B00094003E4F5237BFF7A0879A485232D1281
+:100C2B0000D0E523B4090050AC900C3BF828287396
+:100C3B00020C56020C79020C90020CA7020CC20299
+:100C4B000CD6020CE3020CF3020D4DE5246006F109
+:100C5B0073B1B2F131E522700261E0E4F522F11ECD
+:100C6B00900008E0F12A600280177FA0A148E524DC
+:100C7B006007F1737F28120024E522700261E0F116
+:100C8B00257FB0A148E5246007F1737F5012002443
+:100C9B00E522700261E0F1257FB0A148E5247002E6
+:100CAB0061E0E4F5247F02120024F17A7BFF7A08DD
+:100CBB0079B11200D061E0E524700261E0E4F52423
+:100CCB00F522B1B2F13112171B61E0E5247002611C
+:100CDB00E0E4F5247F28800BE524700261E0E4F565
+:100CEB00247F5012002461E0E524600FE4F524B169
+:100CFB00B2F136752201E4F528F529121AFD402BC5
+:100D0B00E4F528F52911327C007D291204898D2602
+:100D1B00E52625E0F525D3945040037525501200A8
+:100D2B00617A0879C285252D1200D0E52270026107
+:100D3B00E00529E52970020528F1257FB01215463B
+:100D4B0061E0E524600CE4F524F525752201F52816
+:100D5B00F529121AFD4022E4F528F529F52205257F
+:100D6B000525E525D3945040037525021200617AC1
+:100D7B000879D385252D1200D0E522700261E0E4BD
+:100D8B00F5220529E52970020528F1287FB01215F7
+:100D9B004661E0EF14600A14600A24027008D2A9BD
+:100DAB0022D2AB22D2AD22F1427B017A0079008BA9
+:100DBB002A8A2B892C7D017F007E01D1CE1211BA9C
+:100DCB00E4FF121AE0D1F19000041203E3FF1218B2
+:100DDB0024D1F19000031203E3FF121582D1F1121B
+:100DEB0004D524A0FF120024D1F190000A1203E3D2
+:100DFB00FF12172FD1F19000021203E3FF121754C9
+:100E0B007F01121AB7121AF0C0E0EAC0E0E9C0E0A5
+:100E1B00F1A7FDD0E0F9D0E0FAD0E0FB12194512B2
+:100E2B001AF0C0E0EAC0E0E9C0E0F1A7F531D0E08C
+:100E3B00F9D0E0FAD0E0FBE4FF12188F7D40E4FF1D
+:100E4B0012198ED1F19000051203E3FF121866D12F
+:100E5B00F1900013120500FFAEF01219F5D1F190CD
+:100E6B0000051203E364017039900011120500FFB5
+:100E7B00AEF0121A1A7D037FFA7E001219ABD1F174
+:100E8B009000081203E3FF12199BD1F19000061298
+:100E9B0003E3FF121AA7D1F19000071203E3FDE45D
+:100EAB008014E4FD7FFAFE1219AB7F0112199BE44B
+:100EBB00FF121AA7E4FDFFF1C87D017F38121ACD8E
+:100ECB00020068CBEFCBEB600875FC0CED60128079
+:100EDB000975FC0DED6007CFEECFEF42FD22CFEE93
+:100EEB00CFEFF452FD22AB2AAA2BA92C227D017F36
+:100EFB0002F14C7F01F14C7F087E00D1CEE4F52D41
+:100F0B007B017D017F3111E1752D087B40E4FD7F75
+:100F1B0040419E90506174E1F022E4F522F11E7C79
+:100F2B00007D157B40227F02120024F18054FEF0DD
+:100F3B009050607401F02275FC0143FD0153FDFEDE
+:100F4B00227E00D1CE7D01227D017F107E00D1CE8D
+:100F5B00752DFA752ECBE4FBFD7F02711F7F02B15D
+:100F6B009E7D017F0202002EE4F52475220122F101
+:100F7B0080440180BA905060E4F0F11EF190F1973B
+:100F8B00905000E02290506174E2F02290500CE0FF
+:100F9B0044F0F022F583E493D3940022AA2BA92CDE
+:100FAB0090000B0203E3AF2EEF13135403FFF5F87E
+:100FBB002290503CE0FEC8EFC874010822ED600C93
+:100FCB00F1BC8002C333D8FC4EF0800BF1BC800225
+:100FDB00C333D8FCF45EF090503CE0543F6006A362
+:100FEB00E04404F02290503DE054FBF022E13B8DB5
+:100FFB002B90000075FC03EF14603F14605C1470C1
+:10100B000201C22403600201E7E52B601F11E8E532
+:10101B00FB20E0FB75FC06E5FD30E70201E711F272
+:10102B0070020583310250EF11F980EB53FDFD1176
+:10103B00EBE5FB20E00201E780F7E52B600E43FDBB
+:10104B000111EBE5FB20E00201E780F753FDFE11F8
+:10105B00EBE5FB20E00201E780F7E52B6055E5FDB2
+:10106B0020E279E5FD4404F52CE5FD30E72411E899
+:10107B00E5FB20E0FB75FC06AFFDEF20E70E11F260
+:10108B0070020583310250ED11F980E975FC0353B1
+:10109B00FD3F311143FD1075FC08AFFDEF20E60E4F
+:1010AB0011F270020583310250ED11F980E975FCE4
+:1010BB0008800053FDFB22E52B601EE5FD20E31CA1
+:1010CB0043FD0875FC0AE5FD20E51111F2700205E0
+:1010DB0083310250F111F980ED53FDF72243FD02EC
+:1010EB0075FA1643FB01220582E582AE8322C2AF5D
+:1010FB0043F70143F7012214FFE4FCFD7BFA7AFF6F
+:10110B00F9F8C302065575FC0843FD0C75FC085332
+:10111B00FDEF75FC0343FD0475FC082275FC03EF22
+:10112B00C4333354C0FFE5FD543F4FF5FD2231ABC3
+:10113B006401701A75FC0DAEFD8E2AE52A20E006BF
+:10114B0075FC0D43FD0131B275FC0D852AFDEFB425
+:10115B00020675FC0443FD803190E4FF31277D01CD
+:10116B007F02120FFA7D017F03120FFA9081D3E4F5
+:10117B0093B401047F0231279081D3E493B402042A
+:10118B007F033127227F557EAA7DAA7C559081CF84
+:10119B0012068FC312066B60067D1A7F20516322E5
+:1011AB009081D3E493FF22905036E04480F02212DA
+:1011BB000F4231B290503CE4F09050087464F090C0
+:1011CB00503374C4F090503B740BF090503D7498B6
+:1011DB00F0905006E4F090503E74B2F0905058747A
+:1011EB0030F0A374F0F090505C7405F090505E7486
+:1011FB0080F09050857440F0905087740AF0A3747F
+:10120B004AF0A37402F09050037419F0A374ECF03D
+:10121B00A37487F090501E7403F090500B745BF026
+:10122B009050347401F0905041E4F0A37444F0906A
+:10123B005054744AF0A37440F0A37422F090507A87
+:10124B00743AF0A374FFF0A3747BF0905000740415
+:10125B00F09050617473F0228F2B8D2C75FC06E58A
+:10126B00FD548F4FF5FD75FC10ED25E04480F5FD29
+:10127B0022E4FDFCC3ED9FEC9E5016E4FBFA000B41
+:10128B00BB00010ABA03F7BBE8F40DBD00010C80EB
+:10129B00E32230B30479018002E4F9E9700DE50D26
+:1012AB00702351D3701F750D01801AE96017E50D7E
+:1012BB00B4011251D3600EE50DB40106E4F50D7FB8
+:1012CB000122E4F50D7F00227F2C7E01517CE92267
+:1012DB00C0E0C0F0C083C082C085C084C09253926E
+:1012EB00FEC0D0E8C0E0E9C0E0EAC0E0EBC0E0EC53
+:1012FB00C0E0EDC0E0EEC0E0EFC0E0D1C88F0CE580
+:10130B000C24A07013900006E0600D7E007F557DCD
+:10131B00407152900096EFF0120F90120F97D0E0A1
+:10132B00FFD0E0FED0E0FDD0E0FCD0E0FBD0E0FA57
+:10133B00D0E0F9D0E0F8D0D0D092D084D085D08254
+:10134B00D083D0F0D0E032CBEFCBCAEECA90506353
+:10135B00E0FFC9EFC9F53E9081E3E49320E402710D
+:10136B0099E53ED39D50219050617461F0AF3E15CD
+:10137B003EEF6010905062E08B828A83F00BBB00D3
+:10138B00010A80E9B17B8002E4F9CFE9CF227FDC4F
+:10139B007E05EF4E600BEF1FCCEECC70011E4C7038
+:1013AB00F5228F2F905080D1D04480CFEFF0E52FD6
+:1013BB004460905075F0905072E04410F0E4F530BA
+:1013CB00E52F25E025E08530F0A4252FFF12002422
+:1013DB0090503EE0F5315331F8433104E531F09054
+:1013EB00507FE04480F09050A2E030E5F990507FC0
+:1013FB00E044409164E054BFF07F407E06719D90C5
+:10140B0050A5E030E5F97F0A7E00719D90507FE09A
+:10141B00547FF09050A5E0541FFFE530FDC3746D71
+:10142B009DFD745094008D82F583EFF00530E5300F
+:10143B00C39404408B905072E054EFF090503EE018
+:10144B00FFCF54F8CFCF4402CFEFF090506A915CAE
+:10145B00A3E014F0A3E014F022F07F057E00619D61
+:10146B008F2F8D30E4F531B1157C037D1612069F5D
+:10147B00780712067C91F4453191E491D6E0547FC4
+:10148B00F091D691DC40E0E4F531B115E4FCFD7B45
+:10149B009C7AC6790DF81205387B007AF4790178BD
+:1014AB00001205C391F4FFE5312405FEEF4E91E4E4
+:1014BB009165E0547F916491DC40CFE52FC454F0EB
+:1014CB00FFE530540F4F90506FF0227F847E036105
+:1014DB009D0531E531C3940522F090507DE533F045
+:1014EB00E532A3F0E04480F0228E348F35E53524CD
+:1014FB0005FFE43534FE7C007D0A1204348E328FF6
+:10150B0033905072E054F0F0E022E530FB75F004BC
+:10151B00A42401FFE435F0FEAD317C00120422CC93
+:10152B00EECCCDEFCDEB25E0FFE433FEED2FFFEC62
+:10153B003EFEEF2462FFEE3409FE22C9EFC9E4FA46
+:10154B008C2A8D2B9081E39320E4027199EBD39439
+:10155B0040501C905061E9F0EAC39B5010CFEACF8A
+:10156B000AE52B2FF582E4352AD1D880EBB17B220B
+:10157B0090506174FFF0228F2D905007E0F52E9064
+:10158B005009E054FCF0905033E054CFF09050767B
+:10159B00E054E0F090507FE054C0F0E52D702090C7
+:1015AB005009E0F0905033E0F09050247424F09008
+:1015BB005076E04418F090507FE04419F08058E5E5
+:1015CB002D64017024905009E04401F0905033E0F9
+:1015DB004410F090502474A4F0905076E0441FF027
+:1015EB0090507FE04432F0802EE52D6402702890FD
+:1015FB0050437487F0905009E04403F0905033E06F
+:10160B004430F09050247404F0905076E04412F083
+:10161B0090507FE0441DF0120FF87D077F05D13A03
+:10162B007F0A71ADAF2DD16E905007E52EF0229150
+:10163B006B90503BE04402F0905070E04408F09007
+:10164B0050A2E030E5F990505EE04408F09050A2D3
+:10165B00E030E4F990505EE054F7F0905070E054B5
+:10166B00F7F022905000E0FE120F3B905000E04448
+:10167B0001F090500BE054BFF090504BE04480F0E1
+:10168B0090505FBF02057462F080037460F090505D
+:10169B0005E04410F0905037E04408F09050ABE078
+:1016AB004401F09050AAE030E7F9905005E054EF78
+:1016BB00F0905037E054F7F0D1E0EEF02290500C60
+:1016CB00E054F0FF22E0FFCF543FCFCF22F583E071
+:1016DB00905062F022905060E4F090500022C0E0F5
+:1016EB00C083C082C085C084C0925392FEC2C69094
+:1016FB000098E004F07006900097E004F0D092D0D0
+:10170B0084D085D082D083D0E032905060E4F02238
+:10171B0090503BE054FDF0E04402F0F11590503551
+:10172B0074AEF022E4FE905000E054F9F0EF146038
+:10173B000B14600C2402700AE4FE80067E02800209
+:10174B007E06905000E04EF02290500AE05480F05C
+:10175B00A3E054C7F0EFB40E004003021809901732
+:10176B0070F828287302179A0217A10217A80217FC
+:10177B00AF0217B60217BD0217C40217CB0217D25E
+:10178B000217D90217E00217EC0217F30217FF1228
+:10179B001AE644078044121AE64409803D121AE601
+:1017AB00440B8036121AE6440E802F121AE64415AB
+:1017BB00802812180A440E802112180A4411801A2C
+:1017CB0012180A4414801312180A4417800C1218AA
+:1017DB000A441D800512180A4426F0A3E04408F0C1
+:1017EB002212180A4426800512180A4438F0A3E086
+:1017FB004418F022110A447FF0A3E04438F0229001
+:10180B005009E054FBF0A3E022EF9050356005E067
+:10181B004401F022E054FEF022E4FE90503D749817
+:10182B00F0EF60131460181470267E40905001E4A2
+:10183B00F0905006F08002E4FE7F01111480117EBF
+:10184B0080E4FF111490503DE04460F0E054E7F069
+:10185B00905000E0543FF0E04EF022EF70059050B6
+:10186B0001F022BF0107905001E04401F02290509B
+:10187B0002E0543FF0E0FEEF24FEC4333354C0FFCC
+:10188B00EE4FF0228B2E8A2F8930CCEFCCE4F53241
+:10189B00AF311179CFECCF7D013123CFCFEF146076
+:1018AB002114602F14603314603714603B240570CF
+:1018BB003D753350753410E532C3953150303103DB
+:1018CB0080F5753350753415E532C39531501F31A2
+:1018DB000380F511FA90501BF02211FA90501AF078
+:1018EB002211FA90501DF02211FA90501CF022ABED
+:1018FB002EAA2FA9300203CAAB2EAA2FA9308532EC
+:10190B00827583001203E3FFE5342532F582E4355B
+:10191B0033F583EFF0053222ED600F905002120F7A
+:10192B00BF8002C333D8FC4EF022905002120FBF7F
+:10193B008002C333D8FCF45EF0228B2D8A2E892FC4
+:10194B009000997401F0A37450F0A37426F0CFEDBE
+:10195B00CF1179CFEDCF1DEF6028AB2D052FE52FE4
+:10196B00AA2E7002052E14F91203CAFF900099E0FB
+:10197B00FBA3E475F0011204BFA9F0FAEF120410F7
+:10198B0080D122742B2FF582E43450F583EDF022B5
+:10199B00EF90503D6005E04401F022E054FEF02250
+:1019AB00CBEDCBC3EF94FAEE9400402DD3EF94A084
+:1019BB00EE940F50247C007DFA1204348F2DE52D0C
+:1019CB00D394004002152D905006E0540FF0E0FF29
+:1019DB00E52DC454F0FEEF4EF0EBD3940F500A906C
+:1019EB005006E054F0F0E04BF022EE510E905042D6
+:1019FB00E054C0F0E0CCEFCC4CF0A3E054C0F0E0EE
+:101A0B004FF022C4F854F0C8EFC4540F48FF229093
+:101A1B005033E0C45403FD905040E054C0F0BD017E
+:101A2B001FD3EF9400EE940440047E047F0090508B
+:101A3B0040E0FDEF24F0FFEE34FF510EED4FF022AE
+:101A4B00ED702AD3EF9400EE940840047E087F00DB
+:101A5B00905040C083C082E0FDEF24E0FFEE34FFE6
+:101A6B00FE7805EFCEC313CE13D8F98028D3EF94AD
+:101A7B0000EE942040047E207F00905040C083C035
+:101A8B0082E0FDEF2480FFEE34FFFE7807EFCEC33C
+:101A9B0013CE13D8F94DD082D083F022EF90503D66
+:101AAB006005E04402F022E054FDF022EF70089054
+:101ABB00503DE054E7F022BF010790503DE0441841
+:101ACB00F022ED9050007004E04FF022E0FEEFF4B6
+:101ADB00FFEE5FF02275FC178FFD22905009E0445A
+:101AEB0004F0A3E022AB2AE52C240CF9E4352BFA05
+:0E1AFB00EB22C3E529942CE528648094812217
+:00000001FF

+ 15 - 0
keil/Objects/PAN262x_FCC_TEST-Release.lnp

@@ -0,0 +1,15 @@
+".\Objects\STARTUP.obj",
+".\Objects\gpio.obj",
+".\Objects\uart.obj",
+".\Objects\timer.obj",
+".\Objects\rcc.obj",
+"..\..\..\..\driver\src\RF.LIB",
+".\Objects\log.obj",
+".\Objects\main.obj" 
+TO ".\Objects\PAN262x_FCC_TEST-Release" 
+
+PRINT(".\Listings\PAN262x_FCC_TEST-Release.map") DISABLEWARNING (16) 
+REMOVEUNUSED 
+CLASSES (XDATA (X:0x0-X:0x7FF), HDATA (X:0x0-X:0x7FF), CODE (C:0x0-C:0x7FFF), CONST (C:0x0-C:0x7FFF), 
+ECODE (C:0x0-C:0x7FFF), HCONST (C:0x0-C:0x7FFF) , 
+CODE(C:0x0000-C:0x7FFF),CONST(C:0x0000-C:0x7FFF),XDATA (X:0x0-X:0x07FF),IDATA(I:0x0-I:0xFF)) 

BIN
keil/Objects/STARTUP.obj


BIN
keil/Objects/gpio.obj


+ 1 - 0
keil/Objects/log.__i

@@ -0,0 +1 @@
+"..\..\..\..\middleware\log\log.c" OBJECTADVANCED OPTIMIZE (9,SPEED) BROWSE ORDER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;..\..\..\..\middleware\rf_basis) DEFINE (IS_CLIENT_BOARD="1") DEBUG PRINT(.\Listings\log.lst) TABS (2) OBJECT(.\Objects\log.obj)

BIN
keil/Objects/log.obj


+ 1 - 0
keil/Objects/main.__i

@@ -0,0 +1 @@
+"..\source\main.c" OBJECTADVANCED OPTIMIZE (9,SPEED) BROWSE ORDER NOAREGS MODC2 INCDIR(..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;..\..\..\..\middleware\rf_basis) DEFINE (IS_CLIENT_BOARD="1") DEBUG PRINT(.\Listings\main.lst) TABS (2) OBJECT(.\Objects\main.obj)

BIN
keil/Objects/main.obj


BIN
keil/Objects/rcc.obj


BIN
keil/Objects/timer.obj


BIN
keil/Objects/uart.obj


+ 2 - 0
keil/cfg.ini

@@ -0,0 +1,2 @@
+[PAN028]
+Sn=055031ffff3009

Fișier diff suprimat deoarece este prea mare
+ 1801 - 0
keil/rf_tx.uvgui.lqp13


+ 482 - 0
keil/rf_tx.uvopt

@@ -0,0 +1,482 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc; *.md</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>MY_Release</TargetName>
+    <ToolsetNumber>0x0</ToolsetNumber>
+    <ToolsetName>MCS-51</ToolsetName>
+    <TargetOption>
+      <CLK51>16000000</CLK51>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>1</RunSim>
+        <RunTarget>0</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>0</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>120</PageWidth>
+        <PageLength>65</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\Listings\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>0</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>0</CpuCode>
+      <Books>
+        <Book>
+          <Number>0</Number>
+          <Title>R8051XC2 Data Sheet</Title>
+          <Path>DATASHTS\EVATRONIX\R8051XC2_DS.PDF</Path>
+        </Book>
+      </Books>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>-1</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile></tIfile>
+        <pMon>PANCHIP\PAN028.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>PAN028</Key>
+          <Name>-O2561 -A0 -B32640 -C0 -D0 -E0 -F0 -G0 -H1 -I0 -J0 -K0 -L0 -M0 -N0 -P0 -Q0 -R0</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>0</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>0</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Target>
+    <TargetName>CLIENT_Release</TargetName>
+    <ToolsetNumber>0x0</ToolsetNumber>
+    <ToolsetName>MCS-51</ToolsetName>
+    <TargetOption>
+      <CLK51>16000000</CLK51>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>1</RunSim>
+        <RunTarget>0</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>0</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>120</PageWidth>
+        <PageLength>65</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\Listings\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>0</CpuCode>
+      <Books>
+        <Book>
+          <Number>0</Number>
+          <Title>R8051XC2 Data Sheet</Title>
+          <Path>DATASHTS\EVATRONIX\R8051XC2_DS.PDF</Path>
+        </Book>
+      </Books>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>-1</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile></tIfile>
+        <pMon>PANCHIP\PAN028.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>PAN028</Key>
+          <Name>-O2561 -A0 -B32640 -C0 -D0 -E0 -F0 -G0 -H1 -I0 -J0 -K0 -L0 -M0 -N0 -P0 -Q0 -R0</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>0</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>0</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>mcu</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\mcu\STARTUP.A51</PathWithFileName>
+      <FilenameWithoutPath>STARTUP.A51</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>driver</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\driver\src\gpio.c</PathWithFileName>
+      <FilenameWithoutPath>gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\driver\src\uart.c</PathWithFileName>
+      <FilenameWithoutPath>uart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\driver\src\timer.c</PathWithFileName>
+      <FilenameWithoutPath>timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\driver\src\rcc.c</PathWithFileName>
+      <FilenameWithoutPath>rcc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>4</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\driver\src\RF.LIB</PathWithFileName>
+      <FilenameWithoutPath>RF.LIB</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>log</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>1</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\middleware\log\log.c</PathWithFileName>
+      <FilenameWithoutPath>log.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>source</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\source\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>readme</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>5</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\README.md</PathWithFileName>
+      <FilenameWithoutPath>README.md</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+</ProjectOpt>

+ 889 - 0
keil/rf_tx.uvproj

@@ -0,0 +1,889 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
+
+  <SchemaVersion>1.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>MY_Release</TargetName>
+      <ToolsetNumber>0x0</ToolsetNumber>
+      <ToolsetName>MCS-51</ToolsetName>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>PAN2628 U6EA</Device>
+          <Vendor>PANCHIP</Vendor>
+          <Cpu>IRAM(0-0xFF) CLOCK(16000000)  MODC2</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
+          <FlashDriverDll></FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>REG51XC.H</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>Evatronix\</RegisterFilePath>
+          <DBRegisterFilePath>Evatronix\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\Objects\</OutputDirectory>
+          <OutputName>PAN262x_FCC_TEST-Release</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\Listings\</ListingPath>
+          <HexFormatSelection>0</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>..\updateLIB.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>.\Objects\CodeConvert.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>1</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+          <BankNo>65535</BankNo>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>S8051.DLL</SimDllName>
+          <SimDllArguments>-PMW -DPC -BSE</SimDllArguments>
+          <SimDlgDll>DCore51.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pR8051XC2 -o38081BEBFFF</SimDlgDllArguments>
+          <TargetDllName>S8051.DLL</TargetDllName>
+          <TargetDllArguments>-PMW -DPC -BSE</TargetDllArguments>
+          <TargetDlgDll>PAN028.dll</TargetDlgDll>
+          <TargetDlgDllArguments>-pR8051XC2 -o38081BEBFFF</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>0</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>-1</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>PANCHIP\PAN028.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4102</DriverSelection>
+          </Flash1>
+          <bUseTDR>1</bUseTDR>
+          <Flash2>PANCHIP\PAN028.dll</Flash2>
+          <Flash3></Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <Target51>
+          <Target51Misc>
+            <MemoryModel>0</MemoryModel>
+            <RTOS>0</RTOS>
+            <RomSize>2</RomSize>
+            <DataHold>0</DataHold>
+            <XDataHold>0</XDataHold>
+            <UseOnchipRom>0</UseOnchipRom>
+            <UseOnchipArithmetic>0</UseOnchipArithmetic>
+            <UseMultipleDPTR>1</UseMultipleDPTR>
+            <UseOnchipXram>0</UseOnchipXram>
+            <HadIRAM>1</HadIRAM>
+            <HadXRAM>0</HadXRAM>
+            <HadIROM>0</HadIROM>
+            <Moda2>0</Moda2>
+            <Moddp2>0</Moddp2>
+            <Modp2>0</Modp2>
+            <Mod517dp>0</Mod517dp>
+            <Mod517au>0</Mod517au>
+            <Mode2>0</Mode2>
+            <useCB>0</useCB>
+            <useXB>0</useXB>
+            <useL251>1</useL251>
+            <useA251>0</useA251>
+            <Mx51>0</Mx51>
+            <ModC812>0</ModC812>
+            <ModCont>0</ModCont>
+            <Lp51>0</Lp51>
+            <useXBS>0</useXBS>
+            <ModDA>0</ModDA>
+            <ModAB2>0</ModAB2>
+            <Mx51P>0</Mx51P>
+            <hadXRAM2>0</hadXRAM2>
+            <uocXram2>0</uocXram2>
+            <hadXRAM3>0</hadXRAM3>
+            <ModC2>1</ModC2>
+            <ModH2>0</ModH2>
+            <Mdu_R515>0</Mdu_R515>
+            <Mdu_F120>0</Mdu_F120>
+            <Psoc>0</Psoc>
+            <hadIROM2>0</hadIROM2>
+            <hadIROM3>0</hadIROM3>
+            <ModSmx2>0</ModSmx2>
+            <cBanks>0</cBanks>
+            <xBanks>0</xBanks>
+            <OnChipMemories>
+              <RCB>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0xffff</Size>
+              </RCB>
+              <RXB>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </RXB>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x8000</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocr1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x800</Size>
+              </Ocr1>
+              <Ocr2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocr2>
+              <Ocr3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocr3>
+              <IRO>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x8000</Size>
+              </IRO>
+              <IRA>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x100</Size>
+              </IRA>
+              <XRA>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x800</Size>
+              </XRA>
+              <XRA512>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRA512>
+              <IROM512>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </IROM512>
+              <XRA513>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRA513>
+              <IROM513>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </IROM513>
+            </OnChipMemories>
+          </Target51Misc>
+          <C51>
+            <RegisterColoring>0</RegisterColoring>
+            <VariablesInOrder>1</VariablesInOrder>
+            <IntegerPromotion>1</IntegerPromotion>
+            <uAregs>1</uAregs>
+            <UseInterruptVector>1</UseInterruptVector>
+            <Fuzzy>8</Fuzzy>
+            <Optimize>9</Optimize>
+            <WarningLevel>2</WarningLevel>
+            <SizeSpeed>1</SizeSpeed>
+            <ObjectExtend>1</ObjectExtend>
+            <ACallAJmp>1</ACallAJmp>
+            <InterruptVectorAddress>0</InterruptVectorAddress>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath>..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;..\..\..\..\middleware\rf_basis</IncludePath>
+            </VariousControls>
+          </C51>
+          <Ax51>
+            <UseMpl>0</UseMpl>
+            <UseStandard>1</UseStandard>
+            <UseCase>0</UseCase>
+            <UseMod51>0</UseMod51>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Ax51>
+          <Lx51>
+            <useFile>0</useFile>
+            <linkonly>0</linkonly>
+            <UseMemoryFromTarget>1</UseMemoryFromTarget>
+            <CaseSensitiveSymbols>0</CaseSensitiveSymbols>
+            <WarningLevel>2</WarningLevel>
+            <DataOverlaying>1</DataOverlaying>
+            <OverlayString></OverlayString>
+            <MiscControls>REMOVEUNUSED</MiscControls>
+            <DisableWarningNumbers>16</DisableWarningNumbers>
+            <LinkerCmdFile></LinkerCmdFile>
+            <Assign></Assign>
+            <ReserveString></ReserveString>
+            <CClasses></CClasses>
+            <UserClasses>CODE(C:0x0000-C:0x7FFF),CONST(C:0x0000-C:0x7FFF),XDATA (X:0x0-X:0x07FF),IDATA(I:0x0-I:0xFF)</UserClasses>
+            <CSection></CSection>
+            <UserSection></UserSection>
+            <CodeBaseAddress></CodeBaseAddress>
+            <XDataBaseAddress></XDataBaseAddress>
+            <PDataBaseAddress></PDataBaseAddress>
+            <BitBaseAddress></BitBaseAddress>
+            <DataBaseAddress></DataBaseAddress>
+            <IDataBaseAddress></IDataBaseAddress>
+            <Precede></Precede>
+            <Stack></Stack>
+            <CodeSegmentName></CodeSegmentName>
+            <XDataSegmentName></XDataSegmentName>
+            <BitSegmentName></BitSegmentName>
+            <DataSegmentName></DataSegmentName>
+            <IDataSegmentName></IDataSegmentName>
+          </Lx51>
+        </Target51>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>mcu</GroupName>
+          <Files>
+            <File>
+              <FileName>STARTUP.A51</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\mcu\STARTUP.A51</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>driver</GroupName>
+          <Files>
+            <File>
+              <FileName>gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\uart.c</FilePath>
+            </File>
+            <File>
+              <FileName>timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\timer.c</FilePath>
+            </File>
+            <File>
+              <FileName>rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>RF.LIB</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\..\..\..\driver\src\RF.LIB</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>log</GroupName>
+          <Files>
+            <File>
+              <FileName>log.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\middleware\log\log.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>source</GroupName>
+          <Files>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\source\main.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>readme</GroupName>
+          <Files>
+            <File>
+              <FileName>README.md</FileName>
+              <FileType>5</FileType>
+              <FilePath>..\README.md</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+    <Target>
+      <TargetName>CLIENT_Release</TargetName>
+      <ToolsetNumber>0x0</ToolsetNumber>
+      <ToolsetName>MCS-51</ToolsetName>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>PAN2628 U6EA</Device>
+          <Vendor>PANCHIP</Vendor>
+          <Cpu>IRAM(0-0xFF) CLOCK(16000000)  MODC2</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
+          <FlashDriverDll></FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>REG51XC.H</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>Evatronix\</RegisterFilePath>
+          <DBRegisterFilePath>Evatronix\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\Objects\</OutputDirectory>
+          <OutputName>PAN262x_FCC_TEST-KEY_P32-Release</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\Listings\</ListingPath>
+          <HexFormatSelection>0</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>..\updateLIB.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>.\Objects\CodeConvert.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>1</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+          <BankNo>65535</BankNo>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>S8051.DLL</SimDllName>
+          <SimDllArguments>-PMW -DPC -BSE</SimDllArguments>
+          <SimDlgDll>DCore51.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pR8051XC2 -o38081BEBFFF</SimDlgDllArguments>
+          <TargetDllName>S8051.DLL</TargetDllName>
+          <TargetDllArguments>-PMW -DPC -BSE</TargetDllArguments>
+          <TargetDlgDll>PAN028.dll</TargetDlgDll>
+          <TargetDlgDllArguments>-pR8051XC2 -o38081BEBFFF</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>0</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>-1</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>PANCHIP\PAN028.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4102</DriverSelection>
+          </Flash1>
+          <bUseTDR>1</bUseTDR>
+          <Flash2>PANCHIP\PAN028.dll</Flash2>
+          <Flash3></Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <Target51>
+          <Target51Misc>
+            <MemoryModel>0</MemoryModel>
+            <RTOS>0</RTOS>
+            <RomSize>2</RomSize>
+            <DataHold>0</DataHold>
+            <XDataHold>0</XDataHold>
+            <UseOnchipRom>0</UseOnchipRom>
+            <UseOnchipArithmetic>0</UseOnchipArithmetic>
+            <UseMultipleDPTR>1</UseMultipleDPTR>
+            <UseOnchipXram>0</UseOnchipXram>
+            <HadIRAM>1</HadIRAM>
+            <HadXRAM>0</HadXRAM>
+            <HadIROM>0</HadIROM>
+            <Moda2>0</Moda2>
+            <Moddp2>0</Moddp2>
+            <Modp2>0</Modp2>
+            <Mod517dp>0</Mod517dp>
+            <Mod517au>0</Mod517au>
+            <Mode2>0</Mode2>
+            <useCB>0</useCB>
+            <useXB>0</useXB>
+            <useL251>1</useL251>
+            <useA251>0</useA251>
+            <Mx51>0</Mx51>
+            <ModC812>0</ModC812>
+            <ModCont>0</ModCont>
+            <Lp51>0</Lp51>
+            <useXBS>0</useXBS>
+            <ModDA>0</ModDA>
+            <ModAB2>0</ModAB2>
+            <Mx51P>0</Mx51P>
+            <hadXRAM2>0</hadXRAM2>
+            <uocXram2>0</uocXram2>
+            <hadXRAM3>0</hadXRAM3>
+            <ModC2>1</ModC2>
+            <ModH2>0</ModH2>
+            <Mdu_R515>0</Mdu_R515>
+            <Mdu_F120>0</Mdu_F120>
+            <Psoc>0</Psoc>
+            <hadIROM2>0</hadIROM2>
+            <hadIROM3>0</hadIROM3>
+            <ModSmx2>0</ModSmx2>
+            <cBanks>0</cBanks>
+            <xBanks>0</xBanks>
+            <OnChipMemories>
+              <RCB>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0xffff</Size>
+              </RCB>
+              <RXB>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </RXB>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x8000</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocr1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x800</Size>
+              </Ocr1>
+              <Ocr2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocr2>
+              <Ocr3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocr3>
+              <IRO>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x8000</Size>
+              </IRO>
+              <IRA>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x100</Size>
+              </IRA>
+              <XRA>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x800</Size>
+              </XRA>
+              <XRA512>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRA512>
+              <IROM512>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </IROM512>
+              <XRA513>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRA513>
+              <IROM513>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </IROM513>
+            </OnChipMemories>
+          </Target51Misc>
+          <C51>
+            <RegisterColoring>0</RegisterColoring>
+            <VariablesInOrder>1</VariablesInOrder>
+            <IntegerPromotion>1</IntegerPromotion>
+            <uAregs>1</uAregs>
+            <UseInterruptVector>1</UseInterruptVector>
+            <Fuzzy>8</Fuzzy>
+            <Optimize>9</Optimize>
+            <WarningLevel>2</WarningLevel>
+            <SizeSpeed>1</SizeSpeed>
+            <ObjectExtend>1</ObjectExtend>
+            <ACallAJmp>1</ACallAJmp>
+            <InterruptVectorAddress>0</InterruptVectorAddress>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>IS_CLIENT_BOARD=1</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\..\..\..\driver\inc;..\..\..\..\mcu;..\..\..\..\middleware\log;..\..\..\..\middleware\delay;..\..\..\..\middleware\rf_basis</IncludePath>
+            </VariousControls>
+          </C51>
+          <Ax51>
+            <UseMpl>0</UseMpl>
+            <UseStandard>1</UseStandard>
+            <UseCase>0</UseCase>
+            <UseMod51>0</UseMod51>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Ax51>
+          <Lx51>
+            <useFile>0</useFile>
+            <linkonly>0</linkonly>
+            <UseMemoryFromTarget>1</UseMemoryFromTarget>
+            <CaseSensitiveSymbols>0</CaseSensitiveSymbols>
+            <WarningLevel>2</WarningLevel>
+            <DataOverlaying>1</DataOverlaying>
+            <OverlayString></OverlayString>
+            <MiscControls>REMOVEUNUSED</MiscControls>
+            <DisableWarningNumbers>16</DisableWarningNumbers>
+            <LinkerCmdFile></LinkerCmdFile>
+            <Assign></Assign>
+            <ReserveString></ReserveString>
+            <CClasses></CClasses>
+            <UserClasses>CODE(C:0x0000-C:0x7FFF),CONST(C:0x0000-C:0x7FFF),XDATA (X:0x0-X:0x07FF),IDATA(I:0x0-I:0xFF)</UserClasses>
+            <CSection></CSection>
+            <UserSection></UserSection>
+            <CodeBaseAddress></CodeBaseAddress>
+            <XDataBaseAddress></XDataBaseAddress>
+            <PDataBaseAddress></PDataBaseAddress>
+            <BitBaseAddress></BitBaseAddress>
+            <DataBaseAddress></DataBaseAddress>
+            <IDataBaseAddress></IDataBaseAddress>
+            <Precede></Precede>
+            <Stack></Stack>
+            <CodeSegmentName></CodeSegmentName>
+            <XDataSegmentName></XDataSegmentName>
+            <BitSegmentName></BitSegmentName>
+            <DataSegmentName></DataSegmentName>
+            <IDataSegmentName></IDataSegmentName>
+          </Lx51>
+        </Target51>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>mcu</GroupName>
+          <Files>
+            <File>
+              <FileName>STARTUP.A51</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\mcu\STARTUP.A51</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>driver</GroupName>
+          <Files>
+            <File>
+              <FileName>gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\uart.c</FilePath>
+            </File>
+            <File>
+              <FileName>timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\timer.c</FilePath>
+            </File>
+            <File>
+              <FileName>rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\driver\src\rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>RF.LIB</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\..\..\..\driver\src\RF.LIB</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>log</GroupName>
+          <Files>
+            <File>
+              <FileName>log.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\middleware\log\log.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>source</GroupName>
+          <Files>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\source\main.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>readme</GroupName>
+          <Files>
+            <File>
+              <FileName>README.md</FileName>
+              <FileType>5</FileType>
+              <FilePath>..\README.md</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+</Project>

+ 19 - 0
readme.md

@@ -0,0 +1,19 @@
+# FCC测试操作手册
+
+## 基本说明
+
+- 触发方式:按键对应`P3_2`引脚(对应烧录口`C2CLK`),按键释放后响应,可以通过`IS_CLIENT_BOARD`宏定义切换按键IO口为`P3_3`
+
+## 按键功能
+
+按键功能按照如下顺序循环切换
+
+- **第一次:** 发送调制波,工作频率:`2402MHz`
+- **第二次:** 发送调制波,工作频率:`2440MHz`
+- **第三次:** 发送调制波,工作频率:`2480MHz`
+- **第四次:** 接收状态,工作频率:`2402MHz`
+- **第五次:** 发送单波,工作频率:`2402MHz`
+- **第六次:** 发送单波,工作频率:`2440MHz`
+- **第七次:** 发送单波,工作频率:`2480MHz`
+- **第八次:** 发送调制波,工作频率:`2402MHz`~`2480MHz`之间随机选择一个频率发送,间隔`2MHz`,200ms切换一次频率
+- **第九次:** 发送调制波,工作频率:`2402MHz`~`2480MHz`之间按照顺序切换频率发送,间隔`2MHz`,200ms切换一次频率

+ 506 - 0
source/main.c

@@ -0,0 +1,506 @@
+/**
+ ************************************************************************
+ * @file     main.c
+ * @brief    Example for RF tx function.
+ * @version  V0.6
+ * @date     2024-11-20
+ * @author   Panchip Team
+ * Copyright (C) 2024 Panchip Technology Corp. All rights reserved.
+ ****************************************************************************
+ */
+
+#include <intrins.h>
+#include "stdlib.h"
+#include <string.h>
+#include <stdio.h>
+#include "gpio.h"
+#include "rcc.h"
+#include "rf.h"
+#include "uart.h"
+#include "timer.h"
+#include "log.h"
+
+#ifndef IS_CLIENT_BOARD
+#define IS_CLIENT_BOARD     0
+#endif
+
+#if IS_CLIENT_BOARD
+#define USER_KEY_PIN        GPIO_P32
+#define USER_KEY_PIN_BIT        P3_2
+#define USER_KEY_PIN_MUX    GPIO_P32_MUX_IO
+#else
+#define USER_KEY_PIN        GPIO_P33
+#define USER_KEY_PIN_BIT        P3_3
+#define USER_KEY_PIN_MUX    GPIO_P33_MUX_IO
+#endif
+
+#define RF_ADRESS_SIZE 5
+#define RF_TX_BUF_SIZE 64   // The length of PAYLOAD/ACK PAYLOAD to be sent each time
+#define RF_RX_BUF_SIZE 64   // Receive payload length is set by RF_SetRxPayloadLen
+RF_ITStatus_t rf_status;
+
+typedef struct
+{
+    /* radio param */
+    u16 channel;            // 2400~2480
+    RF_TxPower_t txPower;   // 0dbm~13dbm
+    RF_DataRate_t rate;     // 1Mbps, 2Mbps and 250Kbps
+    
+    /* radio config */
+    RF_ChipMode_t ChipMode; // 297L、BLE and 24L01
+    RF_WorkMode_t WorkMode; // normal mode and enhance mode
+    bool EnAPL;             // ack payload enable or disable only used in enhancde mode
+    bool EnDPL;             // dynamic payload enable or disable only used in enhancde mode
+    bool EnTxNoAck;         // tx noack enable or disable only used in normal mode
+    bool EnWhite;           // whiten enable or disable
+    RF_Crc_t crc;
+    u8 AddrWidth;
+    u8 TRxAddr[RF_ADRESS_SIZE];
+
+    u16 RxTimeoutUs;        // RF Wait for ack timeout time in enhance mode or receive a packet with timeout in normal mode
+    u16 TxSetupTimeUs;      // RF tx setup time, the time from the end of the last bit of received packet to the start of the first bit of the ack packet
+    
+    u8 TxBuf[RF_TX_BUF_SIZE];
+    u8 RxBuf[RF_RX_BUF_SIZE];
+    
+    u8 TxLen;
+    u8 RxLen;
+} RFConfig_t;
+
+RFConfig_t xdata gRfConfig =
+{
+    /*.Channel        =  */ 2418,
+    /*.TxPower        =  */ 7,
+    /*.DataRate       =  */ RF_DR_1Mbps,
+    /*.ChipMode       =  */ RF_CHIPMODE_BLE,
+    /*.WorkMode       =  */ RF_WORKMODE_NORMAL,
+    /*.EnAPL          =  */ ENABLE,
+    /*.EnDPL          =  */ ENABLE,
+    /*.EnTxNoAck      =  */ DISABLE,
+    /*.EnWhite        =  */ ENABLE,
+    /*.Crc            =  */ RF_CRC_2BYTE,
+    /*.AddrWidth      =  */ RF_ADRESS_SIZE,
+    /*.TRxAddr        =  */ {0x10, 0x22, 0x55, 0x0F, 0x71},  // If you want to test multi-pipe0, you can use this address
+//    /*.TRxAddr        =  */ {0x11, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe1, you can use this address
+//    /*.TRxAddr        =  */ {0x12, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe2, you can use this address
+//    /*.TRxAddr        =  */ {0x13, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe3, you can use this address
+//    /*.TRxAddr        =  */ {0x14, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe4, you can use this address
+//    /*.TRxAddr        =  */ {0x15, 0x22, 0x55, 0x0F, 0x71}, // If you want to test multi-pipe5, you can use this address
+    /*.RxTimeoutUs    =  */ 1000,
+    /*.TxSetupTimeUs  =  */ 200,
+    /*.TxBuf          =  */ {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,
+                            0x55,0x55,0x55,0x55},
+    /*.RxBuf          =  */ {0},
+    /*.TxLen          =  */ 0,
+    /*.RxLen          =  */ 0,
+};
+
+u16 xdata Timer2IntCnt = 0; // The interrupt period of timer2's setting is about 50ms
+
+void APP_UartInit(void)
+{
+    RCC_PeriphClockCmd(RCC_PERIPH_UART, ENABLE);
+    RCC_PeriphClockCmd(RCC_PERIPH_PORT, ENABLE);
+    RCC_PeriphClockCmd(RCC_PERIPH_TIMER1, ENABLE);
+
+    /** Initialize uart params(if baudrate is 115200, timer1 will be used by uart) */
+    GPIO_Init(GPIO_P31, GPIO_P31_MUX_TXD0, GPIO_MODE_OUTPUT_PP, GPIO_NOPULL);
+    UART_Init(LENGTH_8, DISABLE_RX, DISABLE_PAR, BAUD_115200);
+}
+
+void APP_Timer2Init(void)
+{
+    RCC_PeriphClockCmd(RCC_PERIPH_TIMER2, ENABLE);
+
+    TIM_TimeBaseInit(TIMER2, TIM2_Mode0_16BitAutoReload, TIM_CLK_DIV_12T, 0xFACB);
+    TIM_EnableIRQ(TIMER2);   /**< Enable timer0 interrupt */
+    TIM_Cmd(TIMER2, ENABLE); /**< Start timer0 */
+}
+
+void APP_RfInit(RFConfig_t *pCfg)
+{
+    RCC_PeriphClockCmd(RCC_PERIPH_RF, ENABLE);
+    
+    RF_Init();
+    
+    RF_CarrierOffset(0x00);
+    RF_SetChipMode(pCfg->ChipMode);
+    RF_SetDataRate(pCfg->rate);
+    RF_SetChannel(pCfg->channel-2400);
+    RF_SetCrc(pCfg->crc);
+    RF_SetTxPower(pCfg->txPower);
+    
+    RF_SetFifoLenType(RF_FIFOLEN_TYPE_64);
+    
+    RF_SetTxAddr(pCfg->TRxAddr, pCfg->AddrWidth);
+    RF_SetRxAddr(RF_PIPE0, pCfg->TRxAddr, pCfg->AddrWidth);
+    RF_SetRxPayloadLen(RF_PIPE0, sizeof(gRfConfig.RxBuf));
+
+    RF_SetWorkMode(pCfg->WorkMode);
+    
+    /* RF tx setup time: 112us is minimum value */
+    RF_SetTxSetupTime(pCfg->TxSetupTimeUs);
+
+    if(pCfg->WorkMode == RF_WORKMODE_ENHANCE)
+    {
+        RF_SetTRxAckTimeout(pCfg->RxTimeoutUs);
+        RF_SetAutoRetrans(250, 3); // 250us delay, 3 times retransmit
+        RF_SetNoAck(pCfg->EnTxNoAck);
+        RF_SetAckPayload(pCfg->EnAPL);
+        RF_EnableDynamicPayload(RF_PIPE0, pCfg->EnDPL);
+    }
+    else
+    {
+        RF_SetAutoRetrans(250, 0); // You must disable the auto retransmit function, when chip is in normal mode
+        RF_SetNoAck(ENABLE); // You must enable the Tx noack bit, when chip is in normal mode 
+        RF_SetAckPayload(DISABLE);
+        RF_EnableDynamicPayload(RF_PIPE0, DISABLE);
+    }
+
+    RF_ITConfig(RF_ITCONF_TX|RF_ITCONF_RX|RF_ITCONF_TX_MAX, ENABLE);
+    RF_EnableIRQ();
+}
+void DelayMs(u16 Ms)
+{
+    u16 i, j;
+
+    for (i = 0; i < Ms; i++)
+    {
+        for (j = 0; j < 1000; j++)
+		{
+			;
+            _nop_();
+		}
+    }
+}
+static unsigned char key_flag = 0;
+unsigned char key_scan(void)
+{
+	uint8_t P10Sta;
+	if (USER_KEY_PIN_BIT)
+	{
+		P10Sta = 1;
+	}
+	else
+	{
+		P10Sta = 0;
+	}
+	// printf("USER_KEY_PIN_BIT=[%bu]\r\n", P10Sta);
+	if(P10Sta==0)
+	{
+		if (key_flag== 0)
+		{
+			DelayMs(300);
+			if(P10Sta==0)
+			{
+				key_flag = 1;
+			}
+		}
+		
+	}
+	else
+	{
+		if(P10Sta)
+		{
+			if(key_flag==1)
+			{
+				DelayMs(300);
+				if(P10Sta)
+				{
+					if(key_flag==1)
+					{
+					key_flag=0;
+						return 1;
+					}
+					key_flag=0;
+				}
+			}
+		}
+	}
+		
+	return 0;
+}
+int main(void)
+{
+    uint8_t txrx_done = 0;
+    uint8_t mode = 250;
+    uint8_t mode_set = 0;
+    uint8_t rf_ch = 2;
+    uint8_t get_rand_num = 0;
+    uint8_t autoMode = 0;
+    int sendPacketCount = 0;
+    /** System clock initialize */
+    RCC_SysClkInit();
+    DelayMs(1000);
+    APP_UartInit();
+    APP_Timer2Init();
+    APP_RfInit(&gRfConfig);
+
+    RF_EnterTxMode();
+    GPIO_Init(USER_KEY_PIN, USER_KEY_PIN_MUX, GPIO_MODE_INPUT, GPIO_PULLUP);
+    EA = 1;
+    
+    printf("RF Tx Test.\r\n");
+    
+    while (1)
+    {
+        // static u8 Count = 0;
+        if (rf_status)
+        {
+            switch (rf_status)
+            {
+                case RF_IT_TX_RX_DONE:
+                    printf("Tx&Rx done.\n");
+                    break;
+                case RF_IT_TX_DONE:
+                    // printf("Tx done.\n");
+                    txrx_done = 1;
+                    break;
+                case RF_IT_RX_DONE:
+                    // printf("Rx done.\n");
+                    break;
+                case RF_IT_TX_MAX_RT:
+                    printf("Tx fail.\n");
+                    break;
+                default:
+                    break;
+            }
+            rf_status = RF_IT_NONE;
+        }
+        if(key_scan())
+        {
+            txrx_done = 1;
+            mode_set = 1;
+            mode++;
+            if(mode>=9)mode = 0;
+            printf("mode=[%bu]\r\n", mode);
+        }
+
+        switch(mode)
+        {
+            case 0:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    txrx_done = 1;
+                    RF_Deinit();
+                    APP_RfInit(&gRfConfig);
+                    RF_SetChannel(02);
+                    RF_EnterTxMode();
+                }
+                if (txrx_done)
+                {
+                    txrx_done = 0;
+                    // DelayMs(50);
+                    RF_FlushTxFifo();
+                    if(gRfConfig.EnTxNoAck)
+                    {
+                        RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                    }
+                    else
+                    {
+                        RF_WriteTxPayloadByXDATA(rf_tx, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                    }
+                    // printf("TxLen[%bu]:\n", sizeof(gRfConfig.TxBuf));
+                    // panlog_hexdump(16, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                }
+                
+                break;
+            case 1:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    txrx_done = 1;
+                    RF_SetChannel(40);
+                }
+                if (txrx_done)
+                {
+                    txrx_done = 0;
+                    // DelayMs(50);
+                    RF_FlushTxFifo();
+                    RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                    // printf("start to send data\r\n");
+                }
+                break;
+            case 2:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    txrx_done = 1;
+                    RF_SetChannel(80);
+                }
+                if (txrx_done)
+                {
+                    txrx_done = 0;
+                    // DelayMs(50);
+                    RF_FlushTxFifo();
+                    RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                    // printf("start to send data\r\n");
+                }
+                break;
+            case 3:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    RF_SetChannel(2);
+                    RF_EnterRxMode();
+                    printf("RF_EnterRxMode\r\n");
+                }
+                break;
+            case 4:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    txrx_done=0;
+                    RF_Deinit();
+                    APP_RfInit(&gRfConfig);
+                    RF_SetChannel(2);
+                    RF_EnterTxMode();
+                    // DelayMs(50);
+                    
+                    RF_Carrier();
+                }
+                break;
+            case 5:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    RF_SetChannel(40);
+                }
+                break;
+            case 6:
+                if(mode_set)
+                {
+                    
+                    mode_set = 0;
+                    RF_SetChannel(80);
+                }
+                break;
+            case 7:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    RF_Deinit();
+                    APP_RfInit(&gRfConfig);
+                    RF_EnterTxMode();
+                    txrx_done=1;
+                    sendPacketCount = 0;
+                }
+                if (sendPacketCount >= 300)
+                {
+                    sendPacketCount = 0;
+                    // flag_200ms = 0;
+                    get_rand_num = rand()%41;
+                    rf_ch = get_rand_num*2;
+                    if(rf_ch>80)rf_ch=80;
+                    RF_SetChannel(rf_ch);
+                    printf("rand_num=[%bu]\r\n", rf_ch);
+                }
+                if (txrx_done)
+                {
+                    sendPacketCount++;
+                    txrx_done=0;
+                    RF_FlushTxFifo();
+                    RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                }
+                    
+                break;
+            case 8:
+                if(mode_set)
+                {
+                    mode_set = 0;
+                    rf_ch = 0;
+                    txrx_done=1;
+                    sendPacketCount = 0;
+                }
+                
+                if (sendPacketCount >= 300)
+                {
+                    sendPacketCount = 0;
+                    txrx_done=0;
+                    rf_ch+=2;
+                    if(rf_ch>80)rf_ch=2;
+                    RF_SetChannel(rf_ch);
+                    printf("rf_ch=[%bu]\r\n", rf_ch);
+                }
+                    if (txrx_done)
+                    {
+                        txrx_done=0;
+                    sendPacketCount++;
+                        RF_FlushTxFifo();
+                        RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+                    }
+                break;
+        }
+        // if(Timer2IntCnt >= 500)
+        // {
+        //     Timer2IntCnt = 0;
+        //     memset(gRfConfig.TxBuf, Count++, sizeof(gRfConfig.TxBuf));
+        //     RF_FlushTxFifo();
+        //     if(gRfConfig.EnTxNoAck)
+        //     {
+        //         RF_WriteTxPayloadByXDATA(rf_tx_noack, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+        //     }
+        //     else
+        //     {
+        //         RF_WriteTxPayloadByXDATA(rf_tx, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+        //     }
+        //     printf("TxLen[%bu]:\n", sizeof(gRfConfig.TxBuf));
+        //     panlog_hexdump(16, gRfConfig.TxBuf, sizeof(gRfConfig.TxBuf));
+        // }
+        
+        // if(gRfConfig.RxLen > 0)
+        // {
+        //     printf("RxLen[%bu]:\n", gRfConfig.RxLen);
+        //     panlog_hexdump(16, gRfConfig.RxBuf, gRfConfig.RxLen);
+        //     gRfConfig.RxLen = 0;
+        // }
+    }
+}
+
+/**
+ * @brief
+ * @param  None
+ * @retval None
+ */
+void RF_InterruptHandler(void) interrupt RF_COM3_VECTOR
+{
+
+    rf_status = RF_GetIRQFlags();
+    switch (rf_status)
+    {
+    case RF_IT_TX_RX_DONE:
+        if(gRfConfig.EnAPL != RF_APL_DISABLE)
+        {
+            gRfConfig.RxLen = RF_ReadRxPayloadByXDATA(gRfConfig.RxBuf, sizeof(gRfConfig.RxBuf));
+        }
+        //printf("Tx&Rx done.\n");
+        break;
+    case RF_IT_TX_DONE:
+        //printf("Tx done.\n");
+        break;
+    case RF_IT_RX_DONE:
+        //printf("Rx done.\n");
+        break;
+    case RF_IT_TX_MAX_RT:
+        //printf("Tx fail.\n");
+        break;
+    default:
+        break;
+    }
+    RF_FlushRxFifo();
+    RF_ClearIRQFlags();
+}
+
+void TIMER2_InterruptHandler(void) interrupt TIMER2_VECTOR
+{
+    /* mode1:Tmax = (0x10000)*(1/(16M/div_12)) = 49.152ms */
+    /* Clear timer2 global interrupt falg */
+    TF2 = 0;
+    Timer2IntCnt++;
+}

+ 18 - 0
updateLIB.bat

@@ -0,0 +1,18 @@
+@echo off
+
+set "sourcePath=..\..\..\..\driver\src\LIB"
+set "destinationPath=..\..\..\..\driver\src"
+
+for /r %%F in (*.uvproj) do (
+    findstr "<MemoryModel>2</MemoryModel>" "%%F" >nul
+    if not errorlevel 1 (
+        copy /Y "%sourcePath%\RFL.LIB" "%destinationPath%\RF.LIB"
+        echo update RF.LIB for large memory model.
+    )
+
+    findstr "<MemoryModel>0</MemoryModel>" "%%F" >nul
+    if not errorlevel 1 (
+        copy /Y "%sourcePath%\RFS.LIB" "%destinationPath%\RF.LIB"
+        echo update RF.LIB for small memory model.
+    )
+)

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff