From 3af5f2a836bbe362c421f0b0a48ea78609ccaf4c Mon Sep 17 00:00:00 2001 From: 18650180552 Date: Fri, 20 Mar 2020 00:14:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0pwm=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84=E6=B3=A8=E9=87=8A=E6=96=B9=E4=BE=BF?= =?UTF-8?q?=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- c51/gpio_clock/STARTUP.A51 | 198 +++ c51/gpio_clock/STARTUP.OBJ | Bin 0 -> 758 bytes c51/gpio_clock/clock | Bin 0 -> 2004 bytes c51/gpio_clock/clock.M51 | 115 ++ c51/gpio_clock/clock.hex | 5 + c51/gpio_clock/clock.lnp | 4 + c51/gpio_clock/clock.plg | 68 + c51/gpio_clock/clock_uvproj.bak | 0 c51/gpio_clock/main.OBJ | Bin 0 -> 1428 bytes c51/gpio_clock/main.__i | 1 + c51/gpio_clock/main.c | 49 + c51/relay_controller/STARTUP.OBJ | Bin 758 -> 758 bytes c51/relay_controller/main.OBJ | Bin 0 -> 14882 bytes c51/relay_controller/relay | Bin 0 -> 13369 bytes c51/relay_controller/relay.M51 | 462 +++++++ c51/relay_controller/relay.hex | 71 + c51/relay_controller/relay.plg | 583 +------- c51/relay_controller/relay_uvopt.bak | 197 +++ c51/relay_controller/relay_uvproj.bak | 395 ++++++ .../Listings/roboticarm_controller.map | 1211 +++++++++++++++++ .../Objects/roboticarm_controller.axf | Bin 0 -> 319532 bytes .../Objects/roboticarm_controller.lnp | 6 +- nuvoton/m451/roboticarm_controller/main.c | 12 +- .../roboticarm_controller.uvprojx | 21 +- 24 files changed, 2804 insertions(+), 594 deletions(-) create mode 100644 c51/gpio_clock/STARTUP.A51 create mode 100644 c51/gpio_clock/STARTUP.OBJ create mode 100644 c51/gpio_clock/clock create mode 100644 c51/gpio_clock/clock.M51 create mode 100644 c51/gpio_clock/clock.hex create mode 100644 c51/gpio_clock/clock.lnp create mode 100644 c51/gpio_clock/clock.plg create mode 100644 c51/gpio_clock/clock_uvproj.bak create mode 100644 c51/gpio_clock/main.OBJ create mode 100644 c51/gpio_clock/main.__i create mode 100644 c51/gpio_clock/main.c create mode 100644 c51/relay_controller/main.OBJ create mode 100644 c51/relay_controller/relay create mode 100644 c51/relay_controller/relay.M51 create mode 100644 c51/relay_controller/relay.hex create mode 100644 c51/relay_controller/relay_uvopt.bak create mode 100644 c51/relay_controller/relay_uvproj.bak create mode 100644 nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map create mode 100644 nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.axf diff --git a/c51/gpio_clock/STARTUP.A51 b/c51/gpio_clock/STARTUP.A51 new file mode 100644 index 0000000..ec99b9e --- /dev/null +++ b/c51/gpio_clock/STARTUP.A51 @@ -0,0 +1,198 @@ +$NOMOD51 +;------------------------------------------------------------------------------ +; This file is part of the C51 Compiler package +; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. +; Version 8.01 +; +; *** <<< Use Configuration Wizard in Context Menu >>> *** +;------------------------------------------------------------------------------ +; STARTUP.A51: This code is executed after processor reset. +; +; To translate this file use A51 with the following invocation: +; +; A51 STARTUP.A51 +; +; To link the modified STARTUP.OBJ file to your application use the following +; Lx51 invocation: +; +; Lx51 your object file list, STARTUP.OBJ controls +; +;------------------------------------------------------------------------------ +; +; User-defined Power-On Initialization of Memory +; +; With the following EQU statements the initialization of memory +; at processor reset can be defined: +; +; IDATALEN: IDATA memory size <0x0-0x100> +; Note: The absolute start-address of IDATA memory is always 0 +; The IDATA space overlaps physically the DATA and BIT areas. +IDATALEN EQU 80H +; +; XDATASTART: XDATA memory start address <0x0-0xFFFF> +; The absolute start address of XDATA memory +XDATASTART EQU 0 +; +; XDATALEN: XDATA memory size <0x0-0xFFFF> +; The length of XDATA memory in bytes. +XDATALEN EQU 0 +; +; PDATASTART: PDATA memory start address <0x0-0xFFFF> +; The absolute start address of PDATA memory +PDATASTART EQU 0H +; +; PDATALEN: PDATA memory size <0x0-0xFF> +; The length of PDATA memory in bytes. +PDATALEN EQU 0H +; +; +;------------------------------------------------------------------------------ +; +; Reentrant Stack Initialization +; +; The following EQU statements define the stack pointer for reentrant +; functions and initialized it: +; +; Stack Space for reentrant functions in the SMALL model. +; IBPSTACK: Enable SMALL model reentrant stack +; Stack space for reentrant functions in the SMALL model. +IBPSTACK EQU 0 ; set to 1 if small reentrant is used. +; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> +; Set the top of the stack to the highest location. +IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +; Stack Space for reentrant functions in the LARGE model. +; XBPSTACK: Enable LARGE model reentrant stack +; Stack space for reentrant functions in the LARGE model. +XBPSTACK EQU 0 ; set to 1 if large reentrant is used. +; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 +; +; +; Stack Space for reentrant functions in the COMPACT model. +; PBPSTACK: Enable COMPACT model reentrant stack +; Stack space for reentrant functions in the COMPACT model. +PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. +; +; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +;------------------------------------------------------------------------------ +; +; Memory Page for Using the Compact Model with 64 KByte xdata RAM +; Compact Model Page Definition +; +; Define the XDATA page used for PDATA variables. +; PPAGE must conform with the PPAGE set in the linker invocation. +; +; Enable pdata memory page initalization +PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. +; +; PPAGE number <0x0-0xFF> +; uppermost 256-byte address of the page used for PDATA variables. +PPAGE EQU 0 +; +; SFR address which supplies uppermost address byte <0x0-0xFF> +; most 8051 variants use P2 as uppermost address byte +PPAGE_SFR DATA 0A0H +; +; +;------------------------------------------------------------------------------ + +; Standard SFR Symbols +ACC DATA 0E0H +B DATA 0F0H +SP DATA 81H +DPL DATA 82H +DPH DATA 83H + + NAME ?C_STARTUP + + +?C_C51STARTUP SEGMENT CODE +?STACK SEGMENT IDATA + + RSEG ?STACK + DS 1 + + EXTRN CODE (?C_START) + PUBLIC ?C_STARTUP + + CSEG AT 0 +?C_STARTUP: LJMP STARTUP1 + + RSEG ?C_C51STARTUP + +STARTUP1: + +IF IDATALEN <> 0 + MOV R0,#IDATALEN - 1 + CLR A +IDATALOOP: MOV @R0,A + DJNZ R0,IDATALOOP +ENDIF + +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 + +IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE +ENDIF + +IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A +PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP +ENDIF + +IF IBPSTACK <> 0 +EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP +ENDIF + +IF XBPSTACK <> 0 +EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP +ENDIF + +IF PBPSTACK <> 0 +EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP +ENDIF + + MOV SP,#?STACK-1 + +; This code is required if you use L51_BANK.A51 with Banking Mode 4 +; Code Banking +; Select Bank 0 for L51_BANK.A51 Mode 4 +#if 0 +; Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4. +EXTRN CODE (?B_SWITCH0) + CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 +#endif +; + LJMP ?C_START + + END diff --git a/c51/gpio_clock/STARTUP.OBJ b/c51/gpio_clock/STARTUP.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..83dd96a1eb0ae54cd97f85b26c7c6a1744e2eb19 GIT binary patch literal 758 zcmZ8fJx|+E6g~b3I0-Zf45dpIVOkX-Dl%k_Y{yNL8uAo75>xXRx*#zDp=#l0ATc7b zXJA1vG9ocn0;wZi+AT`Yd$z&h$$q})ynFAtzW06G#N?e*uT_`B$mvCW@sVJ;8v4

m=kfQ!G~uf^1@>vlAp5B1Jm$}kXD`YRL~-XP(|xGfctECaYNEkT2P zFo${idG%W2s+B6xVaOv5GYzudm$z?92*##9SGbQF(p}U$2y<$5W{+Y-HQe zWp2EXr6jpTZ{1#0wUNoBKeIPvr2Y#q9M7Zmhc&wVekaoupJ^Q`D*$rzwA!vv^-HLs zn8K*bCgu*LL(_?zz~5qC%I9O)RmU=3Ovk4%j#myze5_Xx5~@DNL{12&<;QkW+5VQ} z24wUT$|+_Le(Dhq`G!LNA9a&a)Z$2MJ5vVRnZoBXwx`QbQ04eNYpIMJ-eX=)%#?$* zPBoaC)LOGG)pzV6nysjw@9sbRyBqHe<-ptd3M{fZCX)h8GQf@fKE544)WJ{g29CI! bIOaZs5%)Zvi)VOZbQZ literal 0 HcmV?d00001 diff --git a/c51/gpio_clock/clock b/c51/gpio_clock/clock new file mode 100644 index 0000000000000000000000000000000000000000..04ddbea2812a311a44e47a856136e5309035e75b GIT binary patch literal 2004 zcmah~&u<$=6#jO0?Tq6jxQ0||3)E~9NcrK|B|(TwSg$v68aunPH#CT-OB`3Cq%=NY zQK1SNssgPdnm>Uf7kWVAP*tq}wI_sxs1QBzL*jrqaVVS$;k~ifaS{?n@_62x`M&qw zH*f5E2^+)Kcs6BLe5>rwd1*4tRK@W}DkZB}Jd(;gxw)y7;{iARbWg;?V{Y!4hO4XM zSWoC7Aa2!{vGKUgd~YnCI+I>9Q@OHxyyCQI2<6zmGw(aIc_4G&Jt5UO#WqT2vo=q1%slSDdM6O8TUR*l8vb3B&eWspj@+d~P^Xv;<7 zTr(eo0Fn~Dgk+|s;?N}!ogmAe*=Hu9F|d>CQ}Yn{#Ls|k**3%Jd4 z=UG#ZTE^AVnYD672jXKOrW`?KvJA0Gl~kyiNCw#wAlr;SzZso`3$1qa`7P0vrSM-z zyC@w9nf$@*f=7A zlDAN&JJdUF^{WIi8zpOc_KTr7$B6PeZI7D|vIRuq!L;oJ`MFZ*<-kfA7>whp>67qc z9lG$cbVjBOZfO|n(4v0EF3z|RSD?p^TQg43G%rCn{F0l8Sc9(ng$%@HUKBGh)}ZNr zIdgz=5h|CP(fv%@xFi~v?={x$eYe)QqJ6f0{{9_vl*^ZcygkIz2sMU0LV3$4=@R5q zB&&QH=#y!lM)5h3Mil9FTIp(aH8%i*GJQ&Z@c2v!SM?mD>jj@%d_uipf&Y8OhpXMH=ao*sFZEK`2=uf7G%To{kv?#^JY z+N1m}Nq;1mfI%)@xi8j+`K{4M!=nlWY|voRQL;%VWsiihC*6u&BNC3ugTFtjjjMx9 zl2qPJ5>i!-kdy>&+eWod;pODB&j({Og}0yEgLt3=$l2{h{7*Heh`AxI?^?0I(QTY` z@k$L&b|9>n8}5}BiQba!LR&V01KUWbnc5^{RlXl;ryx*2#X%tm4(=#2yg7mH4z6?6 z2NZVm0ert}78)MuK(aj4zU?fYY0FW_+}@Q#;Nfi?d{^8YEXQcrN2G?6^?%t>M6-`L zbpJM*;SPJEok}tD CALLED SEGMENT +--------------------- +?C_C51STARTUP + +--> ?PR?MAIN?MAIN + + + +SYMBOL TABLE OF MODULE: clock (?C_STARTUP) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE ?C_STARTUP + C:0812H SEGMENT ?C_C51STARTUP + I:0008H SEGMENT ?STACK + C:0000H PUBLIC ?C_STARTUP + D:00E0H SYMBOL ACC + D:00F0H SYMBOL B + D:0083H SYMBOL DPH + D:0082H SYMBOL DPL + N:0000H SYMBOL IBPSTACK + N:0100H SYMBOL IBPSTACKTOP + N:0080H SYMBOL IDATALEN + C:0815H SYMBOL IDATALOOP + BL51 BANKED LINKER/LOCATER V6.22 02/21/2020 23:50:08 PAGE 2 + + + N:0000H SYMBOL PBPSTACK + N:0100H SYMBOL PBPSTACKTOP + N:0000H SYMBOL PDATALEN + N:0000H SYMBOL PDATASTART + N:0000H SYMBOL PPAGE + N:0000H SYMBOL PPAGEENABLE + D:00A0H SYMBOL PPAGE_SFR + D:0081H SYMBOL SP + C:0812H SYMBOL STARTUP1 + N:0000H SYMBOL XBPSTACK + N:0000H SYMBOL XBPSTACKTOP + N:0000H SYMBOL XDATALEN + N:0000H SYMBOL XDATASTART + C:0000H LINE# 126 + C:0812H LINE# 133 + C:0814H LINE# 134 + C:0815H LINE# 135 + C:0816H LINE# 136 + C:0818H LINE# 185 + C:081BH LINE# 196 + ------- ENDMOD ?C_STARTUP + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + D:0090H PUBLIC P1 + C:0800H PUBLIC main + B:0090H.0 PUBLIC T0CLKO + D:008FH PUBLIC WAKE_CLKO + D:0089H PUBLIC TMOD + D:008CH PUBLIC TH0 + D:008AH PUBLIC TL0 + B:0088H.4 PUBLIC TR0 + ------- PROC MAIN + C:0800H LINE# 35 + C:0800H LINE# 36 + C:0800H LINE# 40 + C:0803H LINE# 41 + C:0806H LINE# 42 + C:0809H LINE# 43 + C:080BH LINE# 44 + C:080EH LINE# 46 + C:080EH LINE# 47 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + +****************************************************************************** +* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0021H BYTE ( 1%) * +****************************************************************************** + +Program Size: data=9.0 xdata=0 code=33 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/c51/gpio_clock/clock.hex b/c51/gpio_clock/clock.hex new file mode 100644 index 0000000..62b8459 --- /dev/null +++ b/c51/gpio_clock/clock.hex @@ -0,0 +1,5 @@ +:03000000020812E1 +:0C081200787FE4F6D8FD7581070208002D +:10080000758902758AF4758CF4D28C758F01B2905B +:0208100080FC6A +:00000001FF diff --git a/c51/gpio_clock/clock.lnp b/c51/gpio_clock/clock.lnp new file mode 100644 index 0000000..1507b2a --- /dev/null +++ b/c51/gpio_clock/clock.lnp @@ -0,0 +1,4 @@ +"STARTUP.obj", +"main.obj" +TO "clock" +RAMSIZE(256) diff --git a/c51/gpio_clock/clock.plg b/c51/gpio_clock/clock.plg new file mode 100644 index 0000000..4c50c56 --- /dev/null +++ b/c51/gpio_clock/clock.plg @@ -0,0 +1,68 @@ + + +

+

µVision Build Log

+

Project:

+D:\project\HardwareDriver\c51\gpio_clock\clock.uvproj +Project File Date: 02/21/2020 + +

Output:

+Build target 'Target 1' +assembling STARTUP.A51... +linking... +*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) +*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) + ADDRESS: 080AH +Program Size: data=9.0 xdata=0 code=15 +"clock" - 0 Error(s), 2 Warning(s). +Build target 'Target 1' +linking... +*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) +*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) + ADDRESS: 080AH +Program Size: data=9.0 xdata=0 code=15 +"clock" - 0 Error(s), 2 Warning(s). +Build target 'Target 1' +linking... +*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) +*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) + ADDRESS: 080AH +Program Size: data=9.0 xdata=0 code=15 +creating hex file from "clock"... +"clock" - 0 Error(s), 2 Warning(s). +Build target 'Target 1' +linking... +*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) +*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL + SYMBOL: ?C_START + MODULE: STARTUP.obj (?C_STARTUP) + ADDRESS: 080AH +Program Size: data=9.0 xdata=0 code=15 +creating hex file from "clock"... +"clock" - 0 Error(s), 2 Warning(s). +Build target 'Target 1' +compiling main.c... +linking... +Program Size: data=9.0 xdata=0 code=31 +creating hex file from "clock"... +"clock" - 0 Error(s), 0 Warning(s). +Build target 'Target 1' +compiling main.c... +linking... +Program Size: data=9.0 xdata=0 code=33 +creating hex file from "clock"... +"clock" - 0 Error(s), 0 Warning(s). diff --git a/c51/gpio_clock/clock_uvproj.bak b/c51/gpio_clock/clock_uvproj.bak new file mode 100644 index 0000000..e69de29 diff --git a/c51/gpio_clock/main.OBJ b/c51/gpio_clock/main.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..9ebd3a092fd954c20e742a2c4987d1038740e52a GIT binary patch literal 1428 zcmah}%TE(w5TE^aTl(N3M8YE~4F%<8A4m;)Y07q?P}*&_+kmlg?Sn)@RAOvm3eA~sf1o+a<&P?a`o7cBpUV?**awP2Q zy<1qk7bx}mCNy;}tN7x|L~hEbPRuB>uFUI7It~!pQ*XI=9Qp+aqUkhY48A>OGd=O^ z`HZGcX|Yr`kEHxNotE>OG8G9260eyHq*QD=y)S%i=>!4j18vY0&1g~bbJ5b(3Jm?= ziONP+k7;@?^S+~z$AXD}cc!7HZS{F6)Jf=o9Pyte3y;HVOv{Q9&!ti~jHpinzZc&4 z^F+cnKxCOPr3Rlw^&{5?2u?jD&n8t2SO?KP7fUKe&0Ymj(o-rh^+X7@HPU8L zld2$yx)$odq8M-QV?zh8wzA49YrB=|?)PeCU3k0kWN+K;!Cxd1le=DB^N#~*;OEhO zTn?ZVVGyMghETd;7^N3RP&Pw=%OLDvE(g!GiJHi@4-eePwZ-+9x5uzV0UFWc!f7m) z3l9s9M_ewGl(;C}FE2P2xc3gpUxjAARZMQ~b)|5LZPXs)$3`kx46AYqWm!=IP?`As0$1rr4ac!)HJwuoP{2dvza zYE~{I3FV|i&llwg4p= zJF|Ig#|%d6IET@u_kud^v^u71d9y|$*2ebiaBK{^>PQA`Bx6O|4}jM&_zP+z45Rx< zlh)=Kcx+rN#TJhJ_n!PXwh95x+mJM#5nC0P566)ReLj|h!MQpP+LbkqpmmRM8cJCI zeWVHV9#QJ{I+}i)9X%{%HuUL)Qo3yzYui>Sqt<3(xp_@JLSju*_^+QO$z%Sp5%HJ5 DEK3m( literal 0 HcmV?d00001 diff --git a/c51/gpio_clock/main.__i b/c51/gpio_clock/main.__i new file mode 100644 index 0000000..a083318 --- /dev/null +++ b/c51/gpio_clock/main.__i @@ -0,0 +1 @@ +"main.c" BROWSE DEBUG OBJECTEXTEND \ No newline at end of file diff --git a/c51/gpio_clock/main.c b/c51/gpio_clock/main.c new file mode 100644 index 0000000..a674244 --- /dev/null +++ b/c51/gpio_clock/main.c @@ -0,0 +1,49 @@ +/*------------------------------------------------------------------*/ +/* --- STC MCU Limited ---------------------------------------------*/ +/* --- STC10/11xx Series Programmable Clock Output Demo ------------*/ +/* --- Mobile: (86)13922805190 -------------------------------------*/ +/* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/ +/* --- Tel: 86-0513-55012928,55012929,55012966----------------------*/ +/* --- Web: www.STCMCU.com -----------------------------------------*/ +/* --- Web: www.GXWMCU.com -----------------------------------------*/ +/* If you want to use the program or the program referenced in the */ +/* article, please specify in which data and procedures from STC */ +/*------------------------------------------------------------------*/ + +#include "reg51.h" + +//----------------------------------------------- + +/* define constants */ +#define FOSC 11059200L +//#define MODE1T //Timer clock mode, comment this line is 12T mode, uncomment is 1T mode + +#ifdef MODE1T +#define F38_4KHz (256-FOSC/2/38400) //38.4KHz frequency calculation method of 1T mode +#else +#define F38_4KHz (256-FOSC/2/12/38400) //38.4KHz frequency calculation method of 12T mode +#endif + +/* define SFR */ +sfr AUXR = 0x8e; //Auxiliary register +sfr WAKE_CLKO = 0x8f; //wakeup and clock output control register +sbit T0CLKO = P1^0; //timer0 clock output pin + +//----------------------------------------------- + +/* main program */ +void main() +{ +#ifdef MODE1T + AUXR = 0x80; //timer0 work in 1T mode +#endif + TMOD = 0x02; //set timer0 as mode2 (8-bit auto-reload) + TL0 = F38_4KHz; //initial timer0 + TH0 = F38_4KHz; //initial timer0 + TR0 = 1; //timer0 start running + WAKE_CLKO = 0x01; //enable timer0 clock output + + while (1) + T0CLKO=~T0CLKO; //loop +} + diff --git a/c51/relay_controller/STARTUP.OBJ b/c51/relay_controller/STARTUP.OBJ index 8d270c1a49c6ea5a521ba1c56b9ded0342a184bb..d55b29f7a61271c4d30f01f702f90386ed45817d 100644 GIT binary patch delta 19 acmeyy`i*sh4zo9t`9ysMM#qf-%a{N`(gp

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 Fe*p01S(g9+ literal 0 HcmV?d00001 diff --git a/c51/relay_controller/relay b/c51/relay_controller/relay new file mode 100644 index 0000000000000000000000000000000000000000..c27765cff533c23c9ed3a51f23744bc8245fc820 GIT binary patch literal 13369 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 CALLED SEGMENT START LENGTH START LENGTH +------------------------------------------------------------------ +?C_C51STARTUP ----- ----- ----- ----- + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +?PR?MAIN?MAIN 0020H.6 0000H.2 ----- ----- + +--> ?PR?DELAY3020MS?MAIN + +--> ?PR?UART_INIT?MAIN + +--> ?PR?P1_UART?MAIN + +--> ?PR?DELAY1020US?MAIN + +--> ?CO?MAIN + +--> ?PR?_SENDSTRING?MAIN + +--> ?PR?CALLBACKUART?MAIN + +?PR?_SENDSTRING?MAIN ----- ----- 000BH 0003H + +--> ?PR?DELAY1020US?MAIN + +--> ?PR?_SENDDATA?MAIN + +?PR?CALLBACKUART?MAIN ----- ----- ----- ----- + +--> ?PR?P3_UART?MAIN + +--> ?PR?_SENDBUFFER?MAIN + +--> ?PR?P1_UART?MAIN + +?PR?_SENDBUFFER?MAIN ----- ----- 000BH 0003H + +--> ?PR?DELAY1020US?MAIN + +--> ?PR?_SENDDATA?MAIN + +*** NEW ROOT *************************************************** + +?PR?UART_ISR?MAIN ----- ----- ----- ----- + +--> ?CO?MAIN + + + +SYMBOL TABLE OF MODULE: relay (?C_STARTUP) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE ?C_STARTUP + C:08B0H SEGMENT ?C_C51STARTUP + I:0051H SEGMENT ?STACK + C:0000H PUBLIC ?C_STARTUP + D:00E0H SYMBOL ACC + D:00F0H SYMBOL B + D:0083H SYMBOL DPH + D:0082H SYMBOL DPL + N:0000H SYMBOL IBPSTACK + N:0100H SYMBOL IBPSTACKTOP + N:0080H SYMBOL IDATALEN + C:08B3H SYMBOL IDATALOOP + N:0000H SYMBOL PBPSTACK + N:0100H SYMBOL PBPSTACKTOP + N:0000H SYMBOL PDATALEN + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 3 + + + N:0000H SYMBOL PDATASTART + N:0000H SYMBOL PPAGE + N:0000H SYMBOL PPAGEENABLE + D:00A0H SYMBOL PPAGE_SFR + D:0081H SYMBOL SP + C:08B0H SYMBOL STARTUP1 + N:0000H SYMBOL XBPSTACK + N:0000H SYMBOL XBPSTACKTOP + N:0000H SYMBOL XDATALEN + N:0000H SYMBOL XDATASTART + C:0000H LINE# 126 + C:08B0H LINE# 133 + C:08B2H LINE# 134 + C:08B3H LINE# 135 + C:08B4H LINE# 136 + C:08B6H LINE# 185 + C:08B9H LINE# 196 + ------- ENDMOD ?C_STARTUP + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + C:09E8H PUBLIC AT_SendData + D:0092H PUBLIC P1M0 + C:0B5DH PUBLIC P1_Uart + D:0091H PUBLIC P1M1 + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + C:0B64H PUBLIC P3_Uart + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + B:0020H.2 PUBLIC recv_flag_global + D:00C8H PUBLIC P5 + B:00A8H.7 PUBLIC EA + C:0AA1H PUBLIC _SendString + C:0B29H PUBLIC _SendData + D:00A8H PUBLIC IE + C:0AEBH PUBLIC Uart_Init + B:00A8H.4 PUBLIC ES + D:00B8H PUBLIC IP + C:0B36H PUBLIC Delay3020ms + D:0023H PUBLIC index + B:0098H.0 PUBLIC RI + B:0098H.1 PUBLIC TI + C:0B08H PUBLIC _SendWifi + C:0B54H PUBLIC Delay1020us + D:00D8H PUBLIC CCON + C:093CH PUBLIC main + C:0800H PUBLIC Uart_Isr + D:0099H PUBLIC SBUF + D:0087H PUBLIC PCON + D:0024H PUBLIC gSendbuf + D:0098H PUBLIC SCON + D:0089H PUBLIC TMOD + D:0088H PUBLIC TCON + B:0020H.3 PUBLIC connected_flag + D:008EH PUBLIC AUXR + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 4 + + + C:09BFH PUBLIC AT_Connect + B:0020H.4 PUBLIC busy + D:00E0H PUBLIC ACC + B:00A8H.3 PUBLIC ET1 + D:008DH PUBLIC TH1 + D:0032H PUBLIC index_tmp + C:0A70H PUBLIC callbackUart + D:0033H PUBLIC recv_buf + D:008BH PUBLIC TL1 + B:0088H.6 PUBLIC TR1 + B:0098H.4 PUBLIC REN + C:0B45H PUBLIC Delay500ms + C:09A1H PUBLIC AT_SetUp + C:0AC7H PUBLIC _SendBuffer + D:00A2H PUBLIC AUXR1 + B:0020H.5 PUBLIC overflow_flag + D:00D0H PUBLIC PSW + ------- PROC P1_UART + C:0B5DH LINE# 50 + C:0B5DH LINE# 51 + C:0B60H LINE# 52 + C:0B63H LINE# 53 + ------- ENDPROC P1_UART + ------- PROC P3_UART + C:0B64H LINE# 54 + C:0B64H LINE# 55 + C:0B67H LINE# 56 + ------- ENDPROC P3_UART + ------- PROC DELAY3020MS + ------- DO + D:0007H SYMBOL i + D:0006H SYMBOL j + D:0005H SYMBOL k + ------- ENDDO + C:0B36H LINE# 57 + C:0B36H LINE# 58 + C:0B36H LINE# 61 + C:0B37H LINE# 62 + C:0B38H LINE# 63 + C:0B3AH LINE# 64 + C:0B3CH LINE# 65 + C:0B3EH LINE# 67 + C:0B3EH LINE# 69 + C:0B3EH LINE# 70 + C:0B40H LINE# 71 + C:0B42H LINE# 72 + C:0B44H LINE# 73 + ------- ENDPROC DELAY3020MS + ------- PROC DELAY500MS + ------- DO + D:0007H SYMBOL i + D:0006H SYMBOL j + D:0005H SYMBOL k + ------- ENDDO + C:0B45H LINE# 74 + C:0B45H LINE# 75 + C:0B45H LINE# 78 + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 5 + + + C:0B46H LINE# 79 + C:0B47H LINE# 80 + C:0B49H LINE# 81 + C:0B4BH LINE# 82 + C:0B4DH LINE# 84 + C:0B4DH LINE# 86 + C:0B4DH LINE# 87 + C:0B4FH LINE# 88 + C:0B51H LINE# 89 + C:0B53H LINE# 90 + ------- ENDPROC DELAY500MS + ------- PROC DELAY1020US + ------- DO + D:0007H SYMBOL i + D:0006H SYMBOL j + ------- ENDDO + C:0B54H LINE# 92 + C:0B54H LINE# 93 + C:0B54H LINE# 96 + C:0B56H LINE# 97 + C:0B58H LINE# 99 + C:0B58H LINE# 100 + C:0B5AH LINE# 101 + C:0B5CH LINE# 102 + ------- ENDPROC DELAY1020US + ------- PROC UART_INIT + C:0AEBH LINE# 103 + C:0AEBH LINE# 104 + C:0AEEH LINE# 105 + C:0AF1H LINE# 106 + C:0AF4H LINE# 107 + C:0AF7H LINE# 108 + C:0AFAH LINE# 109 + C:0AFDH LINE# 110 + C:0B00H LINE# 111 + C:0B03H LINE# 112 + C:0B05H LINE# 113 + C:0B07H LINE# 114 + ------- ENDPROC UART_INIT + ------- PROC CALLBACKUART + C:0A70H LINE# 116 + C:0A70H LINE# 117 + C:0A76H LINE# 118 + C:0A79H LINE# 119 + C:0A7CH LINE# 120 + C:0A7FH LINE# 121 + C:0A8AH LINE# 122 + C:0A99H LINE# 123 + C:0A9BH LINE# 124 + C:0A9DH LINE# 125 + C:0AA0H LINE# 126 + C:0AA0H LINE# 127 + ------- ENDPROC CALLBACKUART + ------- PROC MAIN + ------- DO + D:0007H SYMBOL i + B:0020H.6 SYMBOL flag1 + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 6 + + + B:0020H.7 SYMBOL flag2 + ------- ENDDO + C:093CH LINE# 128 + C:093CH LINE# 129 + C:093CH LINE# 130 + C:093EH LINE# 131 + C:0940H LINE# 132 + C:0942H LINE# 133 + C:0945H LINE# 135 + C:0948H LINE# 136 + C:094BH LINE# 137 + C:094EH LINE# 139 + C:0950H LINE# 140 + C:0953H LINE# 143 + C:0955H LINE# 144 + C:0957H LINE# 145 + C:0959H LINE# 146 + C:095CH LINE# 147 + C:095FH LINE# 150 + C:0962H LINE# 152 + C:0963H LINE# 153 + C:096CH LINE# 154 + C:0970H LINE# 155 + C:0970H LINE# 156 + C:0973H LINE# 157 + C:0975H LINE# 158 + C:097EH LINE# 159 + C:0981H LINE# 161 + C:0981H LINE# 162 + C:0984H LINE# 163 + C:098AH LINE# 164 + C:098CH LINE# 165 + C:0995H LINE# 166 + C:0998H LINE# 167 + C:099AH LINE# 169 + C:099AH LINE# 170 + C:099DH LINE# 171 + ------- ENDPROC MAIN + ------- PROC UART_ISR + ------- DO + D:0021H SYMBOL last_byte + B:0020H.0 SYMBOL flag_recv + B:0020H.1 SYMBOL flag_need_read + D:0022H SYMBOL recv_cnt + ------- ENDDO + C:0800H LINE# 181 + C:0809H LINE# 189 + C:080FH LINE# 190 + C:080FH LINE# 191 + C:0811H LINE# 192 + C:0824H LINE# 195 + C:0824H LINE# 196 + C:082BH LINE# 197 + C:082DH LINE# 198 + C:0830H LINE# 199 + C:0833H LINE# 202 + C:0833H LINE# 203 + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 7 + + + C:0862H LINE# 209 + C:0862H LINE# 210 + C:0864H LINE# 211 + C:0867H LINE# 212 + C:0867H LINE# 213 + C:086AH LINE# 214 + C:0873H LINE# 215 + C:0875H LINE# 216 + C:0877H LINE# 217 + C:087EH LINE# 218 + C:0880H LINE# 219 + C:0883H LINE# 220 + C:0886H LINE# 221 + C:0888H LINE# 222 + C:0888H LINE# 223 + C:0888H LINE# 224 + C:088FH LINE# 225 + C:0892H LINE# 226 + C:0894H LINE# 227 + C:089DH LINE# 228 + C:08A0H LINE# 229 + C:08A2H LINE# 230 + C:08A2H LINE# 231 + C:08A2H LINE# 232 + C:08A5H LINE# 233 + C:08A5H LINE# 234 + C:08A7H LINE# 235 + C:08A9H LINE# 236 + C:08A9H LINE# 237 + ------- ENDPROC UART_ISR + ------- PROC L?0063 + ------- ENDPROC L?0063 + ------- PROC _SENDDATA + D:0007H SYMBOL dat + C:0B29H LINE# 244 + C:0B29H LINE# 245 + C:0B29H LINE# 246 + C:0B2DH LINE# 247 + C:0B2EH LINE# 249 + C:0B30H LINE# 250 + C:0B32H LINE# 251 + C:0B35H LINE# 252 + ------- ENDPROC _SENDDATA + ------- PROC _SENDSTRING + D:000BH SYMBOL s + C:0AA1H LINE# 259 + C:0AA7H LINE# 260 + C:0AA7H LINE# 261 + C:0AB2H LINE# 262 + C:0AB2H LINE# 263 + C:0AB5H LINE# 264 + C:0AC4H LINE# 265 + C:0AC6H LINE# 266 + ------- ENDPROC _SENDSTRING + ------- PROC _SENDWIFI + D:0008H SYMBOL dat + C:0B08H LINE# 267 + BL51 BANKED LINKER/LOCATER V6.22 02/03/2020 01:33:59 PAGE 8 + + + C:0B0EH LINE# 268 + C:0B17H LINE# 269 + C:0B1AH LINE# 270 + ------- ENDPROC _SENDWIFI + ------- PROC _SENDBUFFER + D:000BH SYMBOL s + D:0005H SYMBOL len + C:0AC7H LINE# 272 + C:0ACDH LINE# 274 + C:0AD5H LINE# 275 + C:0AD5H LINE# 276 + C:0AD8H LINE# 277 + C:0AE7H LINE# 278 + C:0AE8H LINE# 279 + C:0AEAH LINE# 280 + ------- ENDPROC _SENDBUFFER + ------- ENDMOD MAIN + + ------- MODULE ?C?CLDPTR + C:09F7H PUBLIC ?C?CLDPTR + ------- ENDMOD ?C?CLDPTR + + ------- MODULE ?C?MEMSET + C:0A10H PUBLIC ?C?MEMSET + ------- ENDMOD ?C?MEMSET + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?DELAY500MS?MAIN + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_SENDWIFI?MAIN + +****************************************************************************** +* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 02A8H BYTE (33%) * +****************************************************************************** + +Program Size: data=64.0 xdata=0 code=878 +LINK/LOCATE RUN COMPLETE. 2 WARNING(S), 0 ERROR(S) diff --git a/c51/relay_controller/relay.hex b/c51/relay_controller/relay.hex new file mode 100644 index 0000000..390cc7d --- /dev/null +++ b/c51/relay_controller/relay.hex @@ -0,0 +1,71 @@ +:030000000208B043 +:0C08B000787FE4F6D8FD7581500208F74F +:10099F000000415445300D0A000000000000000027 +:1009AF000000000000000000000000000000000038 +:1009BF0041542B43495053544152543D22544350B8 +:1009CF00222C223139322E3136382E322E31303818 +:1009DF00222C383038300D0A0041542B43495053E4 +:0809EF00454E443D350D0A00A0 +:100A3C00C103C102C1051E3300000000000000000C +:100A4C00000000000000000000000000000000009A +:100A5C00000000000000012300013200C100C101B0 +:030A6C0001220064 +:070B5D0053A27F43A2802296 +:040B640053A27F22F7 +:0E0B360000007F7F7EE97D94DDFEDEFCDFFAAD +:010B4400228E +:0E0B450000007F167E037DE3DDFEDEFCDFFA9E +:010B5300227F +:080B54007F0B7EF6DEFEDFFCE4 +:010B5C002276 +:100AEB0053877F759850438E40538EFE53890F4327 +:0D0AFB008920758BFD758DFDC2ABD28E225A +:100A700020020330052A120B643005037550497BB0 +:100A8000007A0079337D1E120AC77E007F1E7D002A +:100A90007B007A007933120A10C202C205120B5D84 +:010AA0002233 +:10093C00E4FFC206C207120B36120B36120B36122C +:10094C000AEBF59175923FD2ACD2AFD29C120B5DF3 +:10095C00120B54120B54FFEF04FE74242FF8A6064E +:10096C000FBF0DF320060ED2067BFF7A0979A11278 +:10097C000AA1120B36120A70300613200710D20788 +:10098C007BFF7A0979BF120AA1120B36D203120A25 +:03099C007080D197 +:03002300020800D0 +:09080000C0E0C0D075D000C000BA +:100809002098030208A2C298E521B40D1DE599B408 +:100819000A18E5236401601220030F74342523F8B4 +:100829007600D20275230075210074322523F8E67B +:10083900643A702A74312523F8E6643570207430DF +:100849002523F8E6B42C17742F2523F8E6B4440EB3 +:10085900D3E523648094844005D2017522043001D4 +:100869001ED3E522648094804004152280117434DB +:100879002523F8769FD202752300752200C20174E0 +:10088900332523F8A6998599210523D3E523648087 +:10089900949D4005752300D205309904C299C2047C +:0708A900D000D0D0D0E032F6 +:060B230014F91209F7FFAE +:0D0B290030040122EFD204F5992004FD22D2 +:100AA1008B0B8A0C890DAB0BAA0CA90D1209F760EF +:100AB10014120B54AB0B050DE50DAA0C7002050CBD +:060AC100120B2380E1226C +:100B08008B088A09890A7BFF7A0979E8120AA112F7 +:0B0B18000B36AB08AA09A90A020AA1CB +:100AC7008B0B8A0C890DD3ED648094804015120B33 +:100AD70054AB0B050DE50DAA0C7002050C120B2388 +:040AE7001D80E32269 +:1008BC0002093CE493A3F8E493A34003F68001F20D +:1008CC0008DFF48029E493A3F85407240CC8C3333D +:1008DC00C4540F4420C8834004F456800146F6DF0C +:1008EC00E4800B0102040810204080900A3CE47E56 +:1008FC00019360BCA3FF543F30E509541FFEE49301 +:10090C00A360010ECF54C025E060A840B8E493A3C7 +:10091C00FAE493A3F8E493A3C8C582C8CAC583CAF2 +:10092C00F0A3C8C582C8CAC583CADFE9DEE780BEAA +:010A6F000086 +:1009F700BB010689828A83E0225002E722BBFE02FE +:090A0700E32289828A83E4932230 +:100A1000EF4E6012EF60010EEDBB010B89828A83FD +:100A2000F0A3DFFCDEFA2289F05007F709DFFCA90A +:0C0A3000F022BBFEFCF309DFFCA9F02261 +:00000001FF diff --git a/c51/relay_controller/relay.plg b/c51/relay_controller/relay.plg index cbdd96f..7a96ad2 100644 --- a/c51/relay_controller/relay.plg +++ b/c51/relay_controller/relay.plg @@ -4,587 +4,6 @@

µVision Build Log

Project:

D:\project\HardwareDriver\c51\relay_controller\relay.uvproj -Project File Date: +Project File Date: 02/21/2020

Output:

-Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=44.5 xdata=0 code=588 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -linking... -Program Size: data=44.5 xdata=0 code=588 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(43): error C231: '_SendData': redefinition -MAIN.C(44): error C141: syntax error near 'void' -MAIN.C(44): error C141: syntax error near '{' -MAIN.C(45): error C231: 'AUXR1': redefinition -MAIN.C(46): error C231: 'AUXR1': redefinition -MAIN.C(48): error C141: syntax error near '{' -MAIN.C(49): error C231: 'AUXR1': redefinition -MAIN.C(52): error C141: syntax error near '{' -MAIN.C(55): error C231: '__nop_': redefinition -MAIN.C(56): error C231: '__nop_': redefinition -MAIN.C(57): error C231: 'i': redefinition -MAIN.C(57): error C231: 'i': redefinition -MAIN.C(58): error C231: 'j': redefinition -MAIN.C(58): error C231: 'j': redefinition -MAIN.C(59): error C231: 'k': redefinition -MAIN.C(59): error C231: 'k': redefinition -MAIN.C(60): error C141: syntax error near 'do' -MAIN.C(64): error C141: syntax error near '--' -MAIN.C(64): error C129: missing ';' before ')' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(44): error C141: syntax error near 'void' -MAIN.C(44): error C141: syntax error near '{' -MAIN.C(45): error C231: 'AUXR1': redefinition -MAIN.C(46): error C231: 'AUXR1': redefinition -MAIN.C(48): error C141: syntax error near '{' -MAIN.C(49): error C231: 'AUXR1': redefinition -MAIN.C(52): error C141: syntax error near '{' -MAIN.C(55): error C231: '__nop_': redefinition -MAIN.C(56): error C231: '__nop_': redefinition -MAIN.C(57): error C231: 'i': redefinition -MAIN.C(57): error C231: 'i': redefinition -MAIN.C(58): error C231: 'j': redefinition -MAIN.C(58): error C231: 'j': redefinition -MAIN.C(59): error C231: 'k': redefinition -MAIN.C(59): error C231: 'k': redefinition -MAIN.C(60): error C141: syntax error near 'do' -MAIN.C(64): error C141: syntax error near '--' -MAIN.C(64): error C129: missing ';' before ')' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(129): error C202: 'SetUp': undefined identifier -MAIN.C(136): error C202: 'Connect': undefined identifier -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(200): warning C280: 'dat': unreferenced local variable -MAIN.C(200): warning C280: 'len': unreferenced local variable -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=49.5 xdata=0 code=619 -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(200): warning C280: 'dat': unreferenced local variable -MAIN.C(200): warning C280: 'len': unreferenced local variable -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=49.5 xdata=0 code=619 -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=47.5 xdata=0 code=628 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=47.5 xdata=0 code=628 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(46): error C141: syntax error near '}' -MAIN.C(145): error C141: syntax error near 'int' -MAIN.C(145): error C202: 'z': undefined identifier -MAIN.C(145): error C202: 'z': undefined identifier -MAIN.C(145): error C202: 'z': undefined identifier -MAIN.C(145): error C141: syntax error near ')' -MAIN.C(226): error C141: syntax error near 'SendString' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(46): error C141: syntax error near '}' -MAIN.C(146): error C141: syntax error near 'int' -MAIN.C(146): error C141: syntax error near ')' -MAIN.C(227): error C141: syntax error near 'SendString' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(146): error C141: syntax error near 'int' -MAIN.C(146): error C141: syntax error near ')' -MAIN.C(227): error C141: syntax error near 'SendString' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(227): error C141: syntax error near 'SendString' -Target not created -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=683 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=683 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -linking... -Program Size: data=61.5 xdata=0 code=683 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=686 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=686 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -linking... -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 0 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.5 xdata=0 code=685 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=673 -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=673 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=673 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=679 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=679 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=786 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=786 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=786 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=788 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -assembling STARTUP.A51... -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=796 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=796 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=796 -creating hex file from "relay"... -"relay" - 0 Error(s), 1 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(186): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=750 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(187): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=750 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(189): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=61.6 xdata=0 code=759 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(184): error C202: 'false': undefined identifier -MAIN.C(193): error C141: syntax error near '}' -MAIN.C(196): error C202: 'true': undefined identifier -MAIN.C(198): error C202: 'true': undefined identifier -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(189): warning C260: '=': pointer truncation -MAIN.C(193): error C141: syntax error near '}' -MAIN.C(196): error C101: ''b': invalid character constant -MAIN.C(196): error C141: syntax error near ''b' -MAIN.C(196): error C141: syntax error near '1' -main.c(196): error C305: unterminated string/char const -MAIN.C(198): error C101: ''b': invalid character constant -MAIN.C(198): error C141: syntax error near ''b' -MAIN.C(198): error C141: syntax error near '0' -MAIN.C(198): error C141: syntax error near ')' -main.c(198): error C305: unterminated string/char const -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(189): warning C260: '=': pointer truncation -MAIN.C(193): error C141: syntax error near '}' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(189): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=64.7 xdata=0 code=825 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(189): warning C260: '=': pointer truncation -MAIN.C(204): error C141: syntax error near ')' -MAIN.C(205): error C141: syntax error near '}' -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(190): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=66.7 xdata=0 code=874 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(116): error C202: 'recv_flag': undefined identifier -MAIN.C(120): error C202: 'recv_flag': undefined identifier -MAIN.C(191): error C202: 'recv_flag': undefined identifier -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(190): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=66.7 xdata=0 code=874 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(191): warning C260: '=': pointer truncation -MAIN.C(205): error C171: 'break': missing enclosing loop -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(191): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=898 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(191): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=898 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(191): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=913 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(192): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=924 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(192): warning C260: '=': pointer truncation -MAIN.C(225): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=946 -creating hex file from "relay"... -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(195): warning C260: '=': pointer truncation -MAIN.C(228): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=946 -creating hex file from "relay"... -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(195): warning C260: '=': pointer truncation -MAIN.C(229): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -Program Size: data=67.0 xdata=0 code=948 -creating hex file from "relay"... -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(195): warning C260: '=': pointer truncation -MAIN.C(229): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=933 -creating hex file from "relay"... -"relay" - 0 Error(s), 4 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(228): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=929 -creating hex file from "relay"... -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(178): warning C280: 'last_byte': unreferenced local variable -MAIN.C(179): warning C280: 'sec_last_byte': unreferenced local variable -MAIN.C(180): warning C280: 'trd_last_byte': unreferenced local variable -MAIN.C(181): warning C280: 'four_last_byte': unreferenced local variable -MAIN.C(183): warning C280: 'flag_recv': unreferenced local variable -MAIN.C(184): warning C280: 'flag_need_read': unreferenced local variable -MAIN.C(185): warning C280: 'recv_cnt': unreferenced local variable -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=692 -creating hex file from "relay"... -"relay" - 0 Error(s), 9 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(179): warning C280: 'last_byte': unreferenced local variable -MAIN.C(180): warning C280: 'sec_last_byte': unreferenced local variable -MAIN.C(181): warning C280: 'trd_last_byte': unreferenced local variable -MAIN.C(182): warning C280: 'four_last_byte': unreferenced local variable -MAIN.C(184): warning C280: 'flag_recv': unreferenced local variable -MAIN.C(185): warning C280: 'flag_need_read': unreferenced local variable -MAIN.C(186): warning C280: 'recv_cnt': unreferenced local variable -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.1 xdata=0 code=698 -creating hex file from "relay"... -"relay" - 0 Error(s), 9 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=61.7 xdata=0 code=691 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(163): error C202: 'connected_flag': undefined identifier -MAIN.C(182): error C202: 'index': undefined identifier -MAIN.C(183): error C202: 'index': undefined identifier -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(40): error C129: missing ';' before 'connected_flag' -Target not created -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=60.7 xdata=0 code=688 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=60.7 xdata=0 code=688 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(229): warning C260: '=': pointer truncation -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=932 -creating hex file from "relay"... -"relay" - 0 Error(s), 3 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(215): warning C260: '=': pointer truncation -MAIN.C(185): warning C280: 'flag_recv': unreferenced local variable -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=877 -creating hex file from "relay"... -"relay" - 0 Error(s), 4 Warning(s). -Build target 'Target 1' -linking... -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?DELAY500MS?MAIN -*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS - SEGMENT: ?PR?_SENDWIFI?MAIN -Program Size: data=67.0 xdata=0 code=877 -creating hex file from "relay"... -"relay" - 0 Error(s), 2 Warning(s). -Build target 'Target 1' -compiling main.c... -MAIN.C(195): error C202: 'sec_last_byte': undefined identifier -MAIN.C(197): error C202: 'trd_last_byte': undefined identifier -MAIN.C(198): error C202: 'four_last_byte': undefined identifier -MAIN.C(201): error C202: 'sec_last_byte': undefined identifier -MAIN.C(215): error C202: 'sec_last_byte': undefined identifier -MAIN.C(217): error C202: 'trd_last_byte': undefined identifier -MAIN.C(218): error C202: 'four_last_byte': undefined identifier -Target not created -Build target 'Target 1' -compiling main.c... -MAIN.C(195): error C202: 'sec_last_byte': undefined identifier -MAIN.C(197): error C202: 'trd_last_byte': undefined identifier -MAIN.C(198): error C202: 'four_last_byte': undefined identifier -MAIN.C(203): error C202: 'sec_last_byte': undefined identifier -MAIN.C(219): error C202: 'sec_last_byte': undefined identifier -MAIN.C(221): error C202: 'trd_last_byte': undefined identifier -MAIN.C(222): error C202: 'four_last_byte': undefined identifier -Target not created diff --git a/c51/relay_controller/relay_uvopt.bak b/c51/relay_controller/relay_uvopt.bak new file mode 100644 index 0000000..6103cd6 --- /dev/null +++ b/c51/relay_controller/relay_uvopt.bak @@ -0,0 +1,197 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 45000000 + + 1 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + -1 + + + + + + + + + + + + + + + 0 + + + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 1 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + .\STARTUP.A51 + STARTUP.A51 + 0 + 0 + + + 1 + 2 + 1 + 0 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + +
diff --git a/c51/relay_controller/relay_uvproj.bak b/c51/relay_controller/relay_uvproj.bak new file mode 100644 index 0000000..30e97ff --- /dev/null +++ b/c51/relay_controller/relay_uvproj.bak @@ -0,0 +1,395 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + STC11F02E + STC + IRAM(0-0xFF) IROM(0-0x7FF) CLOCK(45000000) + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 57890 + STC12C5A60S2.H + + + + + + + + + + + 0 + 0 + + + + STC\ + STC\ + + 0 + 0 + 0 + 0 + 1 + + .\ + relay + 1 + 0 + 1 + 1 + 1 + .\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -pDR8051 + S8051.DLL + + TP51.DLL + -p51 + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + + 0 + -1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x800 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + STARTUP.A51 + 2 + .\STARTUP.A51 + + + main.c + 1 + .\main.c + + + + + + + +
diff --git a/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map b/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map new file mode 100644 index 0000000..6904d6c --- /dev/null +++ b/nuvoton/m451/roboticarm_controller/Listings/roboticarm_controller.map @@ -0,0 +1,1211 @@ +Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed] + +============================================================================== + +Section Cross References + + main.o(i.GPIO_Direction_Init) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode + main.o(i.NRF24L01Init) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock + main.o(i.NRF24L01Init) refers to sys.o(i.SYS_ResetModule) for SYS_ResetModule + main.o(i.NRF24L01Init) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock + main.o(i.PWMInit) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock + main.o(i.PWMInit) refers to sys.o(i.SYS_ResetModule) for SYS_ResetModule + main.o(i.PWMInit) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock + main.o(i.PWMInit) refers to pwm.o(i.PWM_ConfigOutputChannel) for PWM_ConfigOutputChannel + main.o(i.PWMInit) refers to pwm.o(i.PWM_EnableOutput) for PWM_EnableOutput + main.o(i.PWMInit) refers to pwm.o(i.PWM_EnablePeriodInt) for PWM_EnablePeriodInt + main.o(i.PWMInit) refers to main.o(i.__NVIC_EnableIRQ) for __NVIC_EnableIRQ + main.o(i.PWMInit) refers to pwm.o(i.PWM_Start) for PWM_Start + main.o(i.ParsePackage) refers to main.o(.data) for Axis1 + main.o(i.main) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.main) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode + main.o(i.main) refers to main.o(i.GPIO_Direction_Init) for GPIO_Direction_Init + main.o(i.main) refers to spi_hal.o(i.Spi_init) for Spi_init + main.o(i.main) refers to 24l01.o(i.RX_Mode) for RX_Mode + main.o(i.main) refers to main.o(i.PWMInit) for PWMInit + main.o(i.main) refers to 24l01.o(i.NRF24L01_RxPacket) for NRF24L01_RxPacket + main.o(i.main) refers to main.o(i.ParsePackage) for ParsePackage + 24l01.o(i.EINT0_IRQHandler) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.EINT0_IRQHandler) refers to 24l01.o(i.NRF24L01_RxPacket) for NRF24L01_RxPacket + 24l01.o(i.EINT0_IRQHandler) refers to 24l01.o(i.NRFSetTxMode) for NRFSetTxMode + 24l01.o(i.EINT0_IRQHandler) refers to 24l01.o(.data) for gRecvPkg + 24l01.o(i.EINT0_IRQHandler) refers to 24l01.o(.bss) for Recv_Buf + 24l01.o(i.NRF24L01_CD_Detect) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NRF24L01_Monitor) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NRF24L01_Monitor) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.NRF24L01_Read_Buf) refers to spi_hal.o(i.spi_enable) for spi_enable + 24l01.o(i.NRF24L01_Read_Buf) refers to spi_hal.o(i.spi_send) for spi_send + 24l01.o(i.NRF24L01_Read_Buf) refers to spi_hal.o(i.spi_read) for spi_read + 24l01.o(i.NRF24L01_Read_Buf) refers to spi_hal.o(i.spi_disable) for spi_disable + 24l01.o(i.NRF24L01_RxPacket) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NRF24L01_RxPacket) refers to 24l01.o(i.NRF24L01_Read_Buf) for NRF24L01_Read_Buf + 24l01.o(i.NRF24L01_RxPacket) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.NRF24L01_RxPacket) refers to 24l01.o(.data) for RxCnt + 24l01.o(i.NRF24L01_TxPacket) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.NRF24L01_TxPacket) refers to spi_hal.o(i.nrf_writebuf) for nrf_writebuf + 24l01.o(i.NRF24L01_TxPacket) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NRF24L01_TxPacket) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.NRF24L01_TxPacket) refers to spi_hal.o(i.nrf_wf) for nrf_wf + 24l01.o(i.NRFSetTxMode) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NRFSetTxMode) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.NRFSetTxMode) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.NRFSetTxMode) refers to spi_hal.o(i.nrf_writebuf) for nrf_writebuf + 24l01.o(i.NRFSetTxMode) refers to 24l01.o(.data) for Curr_Mode + 24l01.o(i.NRFSwitchMode) refers to 24l01.o(i.NRFSetTxMode) for NRFSetTxMode + 24l01.o(i.NRFSwitchMode) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.NRFSwitchMode) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.NRFSwitchMode) refers to 24l01.o(.data) for ifinit + 24l01.o(i.NRF_SetUpInterrupt) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode + 24l01.o(i.NRF_SetUpInterrupt) refers to gpio.o(i.GPIO_EnableInt) for GPIO_EnableInt + 24l01.o(i.NrfDump) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.NrfDump) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.RX_Mode) refers to spi_hal.o(i.nrf_read) for nrf_read + 24l01.o(i.RX_Mode) refers to spi_hal.o(i.nrf_write) for nrf_write + 24l01.o(i.RX_Mode) refers to 24l01.o(i.delay_s) for delay_s + 24l01.o(i.RX_Mode) refers to spi_hal.o(i.nrf_writebuf) for nrf_writebuf + 24l01.o(i.RX_Mode) refers to 24l01.o(.data) for Curr_Mode + 24l01.o(i.delay_mss) refers to 24l01.o(i.delay_s) for delay_s + spi_hal.o(i.NRFWriteTxDate) refers to spi_hal.o(i.spi_send) for spi_send + spi_hal.o(i.Spi_init) refers to gpio.o(i.GPIO_SetMode) for GPIO_SetMode + spi_hal.o(i.Spi_init) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock + spi_hal.o(i.Spi_init) refers to sys.o(i.SYS_ResetModule) for SYS_ResetModule + spi_hal.o(i.Spi_init) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock + spi_hal.o(i.Spi_init) refers to spi.o(i.SPI_Open) for SPI_Open + spi_hal.o(i.Spi_init) refers to spi.o(i.SPI_DisableAutoSS) for SPI_DisableAutoSS + spi_hal.o(i.nrf_read) refers to spi_hal.o(i.spi_enable) for spi_enable + spi_hal.o(i.nrf_read) refers to spi_hal.o(i.spi_send) for spi_send + spi_hal.o(i.nrf_read) refers to spi_hal.o(i.spi_read) for spi_read + spi_hal.o(i.nrf_read) refers to spi_hal.o(i.spi_disable) for spi_disable + spi_hal.o(i.nrf_wf) refers to spi_hal.o(i.spi_enable) for spi_enable + spi_hal.o(i.nrf_wf) refers to spi_hal.o(i.spi_send) for spi_send + spi_hal.o(i.nrf_wf) refers to spi_hal.o(i.spi_disable) for spi_disable + spi_hal.o(i.nrf_write) refers to spi_hal.o(i.spi_enable) for spi_enable + spi_hal.o(i.nrf_write) refers to spi_hal.o(i.spi_send) for spi_send + spi_hal.o(i.nrf_write) refers to spi_hal.o(i.spi_disable) for spi_disable + spi_hal.o(i.nrf_writebuf) refers to spi_hal.o(i.spi_enable) for spi_enable + spi_hal.o(i.nrf_writebuf) refers to spi_hal.o(i.spi_send) for spi_send + spi_hal.o(i.nrf_writebuf) refers to spi_hal.o(i.spi_disable) for spi_disable + spi_hal.o(i.spi_disable) refers to spi_hal.o(i.delayAny) for delayAny + spi_hal.o(i.spi_enable) refers to spi_hal.o(i.delayAny) for delayAny + interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_EnableOutput) for PWM_EnableOutput + interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_DisableOutput) for PWM_DisableOutput + interrupt.o(i.PWM0P0_IRQHandler) refers to pwm.o(i.PWM_ClearPeriodIntFlag) for PWM_ClearPeriodIntFlag + interrupt.o(i.PWM0P0_IRQHandler) refers to main.o(.data) for Axis1 + interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_EnableOutput) for PWM_EnableOutput + interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_DisableOutput) for PWM_DisableOutput + interrupt.o(i.PWM1P0_IRQHandler) refers to pwm.o(i.PWM_ClearPeriodIntFlag) for PWM_ClearPeriodIntFlag + interrupt.o(i.PWM1P0_IRQHandler) refers to main.o(.data) for Axis5 + retarget.o(.emb_text) refers to retarget.o(i.Hard_Fault_Handler) for Hard_Fault_Handler + retarget.o(i.Hard_Fault_Handler) refers to noretval__2printf.o(.text) for __2printf + retarget.o(i.Hard_Fault_Handler) refers to retarget.o(i.stackDump) for stackDump + retarget.o(i.SendChar) refers to retarget.o(i.SendChar_ToUART) for SendChar_ToUART + retarget.o(i._ttywrch) refers to retarget.o(i.SendChar) for SendChar + retarget.o(i.fgetc) refers to retarget.o(i.GetChar) for GetChar + retarget.o(i.fputc) refers to retarget.o(i.SendChar) for SendChar + retarget.o(i.stackDump) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + retarget.o(i.stackDump) refers to _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) for _printf_x + retarget.o(i.stackDump) refers to _printf_hex_int.o(.text) for _printf_longlong_hex + retarget.o(i.stackDump) refers to noretval__2printf.o(.text) for __2printf + startup_m451series.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(RESET) refers to startup_m451series.o(STACK) for __initial_sp + startup_m451series.o(RESET) refers to startup_m451series.o(.text) for Reset_Handler + startup_m451series.o(RESET) refers to retarget.o(.emb_text) for HardFault_Handler + startup_m451series.o(RESET) refers to 24l01.o(i.EINT0_IRQHandler) for EINT0_IRQHandler + startup_m451series.o(RESET) refers to interrupt.o(i.PWM0P0_IRQHandler) for PWM0P0_IRQHandler + startup_m451series.o(RESET) refers to interrupt.o(i.PWM1P0_IRQHandler) for PWM1P0_IRQHandler + startup_m451series.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_m451series.o(.text) refers to system_m451series.o(i.SystemInit) for SystemInit + startup_m451series.o(.text) refers to __main.o(!!!main) for __main + startup_m451series.o(.text) refers to startup_m451series.o(HEAP) for Heap_Mem + startup_m451series.o(.text) refers to startup_m451series.o(STACK) for Stack_Mem + system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + system_m451series.o(i.SystemCoreClockUpdate) refers to system_m451series.o(.data) for PllClock + clk.o(i.CLK_DisableCKO) refers to clk.o(i.CLK_DisableModuleClock) for CLK_DisableModuleClock + clk.o(i.CLK_EnableCKO) refers to clk.o(i.CLK_EnableModuleClock) for CLK_EnableModuleClock + clk.o(i.CLK_EnableCKO) refers to clk.o(i.CLK_SetModuleClock) for CLK_SetModuleClock + clk.o(i.CLK_EnablePLL) refers to clk.o(i.CLK_DisablePLL) for CLK_DisablePLL + clk.o(i.CLK_EnablePLL) refers to clk.o(i.CLK_WaitClockReady) for CLK_WaitClockReady + clk.o(i.CLK_EnablePLL) refers to clk.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + clk.o(i.CLK_GetCPUFreq) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + clk.o(i.CLK_GetCPUFreq) refers to system_m451series.o(.data) for SystemCoreClock + clk.o(i.CLK_GetHCLKFreq) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + clk.o(i.CLK_GetHCLKFreq) refers to system_m451series.o(.data) for SystemCoreClock + clk.o(i.CLK_GetPCLK0Freq) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + clk.o(i.CLK_GetPCLK0Freq) refers to system_m451series.o(.data) for SystemCoreClock + clk.o(i.CLK_GetPCLK1Freq) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + clk.o(i.CLK_GetPCLK1Freq) refers to system_m451series.o(.data) for SystemCoreClock + clk.o(i.CLK_SetCoreClock) refers to clk.o(i.CLK_WaitClockReady) for CLK_WaitClockReady + clk.o(i.CLK_SetCoreClock) refers to clk.o(i.CLK_EnablePLL) for CLK_EnablePLL + clk.o(i.CLK_SetCoreClock) refers to clk.o(i.CLK_SetHCLK) for CLK_SetHCLK + clk.o(i.CLK_SetHCLK) refers to clk.o(i.CLK_WaitClockReady) for CLK_WaitClockReady + clk.o(i.CLK_SetHCLK) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + pwm.o(i.PWM_ConfigCaptureChannel) refers to pwm.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + pwm.o(i.PWM_ConfigCaptureChannel) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + pwm.o(i.PWM_ConfigCaptureChannel) refers to system_m451series.o(.data) for SystemCoreClock + pwm.o(i.PWM_ConfigOutputChannel) refers to pwm.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + pwm.o(i.PWM_ConfigOutputChannel) refers to system_m451series.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate + pwm.o(i.PWM_ConfigOutputChannel) refers to system_m451series.o(.data) for SystemCoreClock + spi.o(i.I2S_EnableMCLK) refers to spi.o(i.I2S_GetSourceClockFreq) for I2S_GetSourceClockFreq + spi.o(i.I2S_GetSourceClockFreq) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + spi.o(i.I2S_GetSourceClockFreq) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq + spi.o(i.I2S_Open) refers to spi.o(i.I2S_GetSourceClockFreq) for I2S_GetSourceClockFreq + spi.o(i.I2S_Open) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq + spi.o(i.SPI_GetBusClock) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq + spi.o(i.SPI_GetBusClock) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + spi.o(i.SPI_Open) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq + spi.o(i.SPI_Open) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + spi.o(i.SPI_SetBusClock) refers to clk.o(i.CLK_GetHCLKFreq) for CLK_GetHCLKFreq + spi.o(i.SPI_SetBusClock) refers to spi.o(i.CLK_GetPLLClockFreq) for CLK_GetPLLClockFreq + __2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file + __2printf.o(.text) refers to retarget.o(.data) for __stdout + noretval__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file + noretval__2printf.o(.text) refers to retarget.o(.data) for __stdout + __printf.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + _printf_hex_ll.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_ll.o(.text) refers to _printf_hex_ll.o(.constdata) for .constdata + _printf_hex_int.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_int.o(.text) refers to _printf_hex_int.o(.constdata) for .constdata + _printf_hex_int_ll.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_int_ll.o(.text) refers to _printf_hex_int_ll.o(.constdata) for .constdata + _printf_hex_ptr.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_ptr.o(.text) refers to _printf_hex_ptr.o(.constdata) for .constdata + _printf_hex_int_ptr.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_int_ptr.o(.text) refers to _printf_hex_int_ptr.o(.constdata) for .constdata + _printf_hex_ll_ptr.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_ll_ptr.o(.text) refers to _printf_hex_ll_ptr.o(.constdata) for .constdata + _printf_hex_int_ll_ptr.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common + _printf_hex_int_ll_ptr.o(.text) refers to _printf_hex_int_ll_ptr.o(.constdata) for .constdata + __printf_flags.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags.o(.text) refers to __printf_flags.o(.constdata) for .constdata + __printf_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_ss.o(.text) refers to __printf_flags_ss.o(.constdata) for .constdata + __printf_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit + __printf_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit + __printf_flags_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_wp.o(.text) refers to __printf_flags_wp.o(.constdata) for .constdata + __printf_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit + __printf_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit + __printf_flags_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent + __printf_flags_ss_wp.o(.text) refers to __printf_flags_ss_wp.o(.constdata) for .constdata + _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) refers (Weak) to _printf_hex_int.o(.text) for _printf_int_hex + _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) refers (Special) to _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017) for _printf_percent_end + __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh + _printf_char_file.o(.text) refers to _printf_char_common.o(.text) for _printf_char_common + _printf_char_file.o(.text) refers to retarget.o(i.ferror) for ferror + _printf_char_file.o(.text) refers to retarget.o(i.fputc) for fputc + __rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(i.main) for main + __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001 + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008 + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D + __rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap + __rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004 + _printf_char_common.o(.text) refers to __printf_wp.o(.text) for __printf + sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace + sys_stackheap_outer.o(.text) refers to startup_m451series.o(.text) for __user_initial_stackheap + exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_alloca_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002C) for __rt_lib_init_argv_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_atexit_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_clock_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_cpp_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_exceptions_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000001) for __rt_lib_init_fp_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_fp_trap_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_getenv_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000A) for __rt_lib_init_heap_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000011) for __rt_lib_init_lc_collate_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_ctype_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_monetary_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_numeric_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_time_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_preinit_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_rand_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000033) for __rt_lib_init_return + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_signal_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_stdio_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_user_alloc_1 + libspace.o(.text) refers to libspace.o(.bss) for __libspace_start + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1 + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1 + rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000 + libinit2.o(.ARM.Collect$$libinit$$00000001) refers to fpinit.o(x$fpl$fpinit) for _fp_init + libinit2.o(.ARM.Collect$$libinit$$00000010) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000026) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer + libinit2.o(.ARM.Collect$$libinit$$00000027) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer + rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown + rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to sys_exit.o(.text) for _sys_exit + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001 + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003 + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004 + argv_veneer.o(.emb_text) refers to no_argv.o(.text) for __ARM_get_argv + sys_exit.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting + sys_exit.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function + _get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard + _get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM + _get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) for __rt_lib_shutdown_cpp_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) for __rt_lib_shutdown_fp_trap_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) for __rt_lib_shutdown_heap_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) for __rt_lib_shutdown_return + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) for __rt_lib_shutdown_signal_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) for __rt_lib_shutdown_stdio_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) for __rt_lib_shutdown_user_alloc_1 + sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting + sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function + defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner + defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit + defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise + rt_raise.o(.text) refers to __raise.o(.text) for __raise + rt_raise.o(.text) refers to sys_exit.o(.text) for _sys_exit + defsig_exit.o(.text) refers to sys_exit.o(.text) for _sys_exit + defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + __raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler + defsig_general.o(.text) refers to retarget.o(i._ttywrch) for _ttywrch + defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner + defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display + + +============================================================================== + +Removing Unused input sections from the image. + + Removing main.o(.rev16_text), (4 bytes). + Removing main.o(.revsh_text), (4 bytes). + Removing main.o(.rrx_text), (6 bytes). + Removing main.o(i.NRF24L01Init), (84 bytes). + Removing main.o(i.delay_1s), (44 bytes). + Removing 24l01.o(.rev16_text), (4 bytes). + Removing 24l01.o(.revsh_text), (4 bytes). + Removing 24l01.o(.rrx_text), (6 bytes). + Removing 24l01.o(i.NRF24L01_CD_Detect), (40 bytes). + Removing 24l01.o(i.NRF24L01_Monitor), (42 bytes). + Removing 24l01.o(i.NRF24L01_TxPacket), (96 bytes). + Removing 24l01.o(i.NRFSwitchMode), (120 bytes). + Removing 24l01.o(i.NRF_Init), (2 bytes). + Removing 24l01.o(i.NRF_SetUpInterrupt), (52 bytes). + Removing 24l01.o(i.NrfDump), (104 bytes). + Removing 24l01.o(i.delay_mss), (20 bytes). + Removing spi_hal.o(.rev16_text), (4 bytes). + Removing spi_hal.o(.revsh_text), (4 bytes). + Removing spi_hal.o(.rrx_text), (6 bytes). + Removing spi_hal.o(i.NRFWriteTxDate), (38 bytes). + Removing spi_hal.o(i.nrf_wf), (22 bytes). + Removing interrupt.o(.rev16_text), (4 bytes). + Removing interrupt.o(.revsh_text), (4 bytes). + Removing interrupt.o(.rrx_text), (6 bytes). + Removing interrupt.o(.data), (4 bytes). + Removing retarget.o(.rev16_text), (4 bytes). + Removing retarget.o(.revsh_text), (4 bytes). + Removing retarget.o(.rrx_text), (6 bytes). + Removing retarget.o(i.GetChar), (28 bytes). + Removing retarget.o(i.IsDebugFifoEmpty), (16 bytes). + Removing retarget.o(i._ttywrch), (12 bytes). + Removing retarget.o(i.fgetc), (10 bytes). + Removing retarget.o(i.kbhit), (16 bytes). + Removing system_m451series.o(.rev16_text), (4 bytes). + Removing system_m451series.o(.revsh_text), (4 bytes). + Removing system_m451series.o(.rrx_text), (6 bytes). + Removing clk.o(.rev16_text), (4 bytes). + Removing clk.o(.revsh_text), (4 bytes). + Removing clk.o(.rrx_text), (6 bytes). + Removing clk.o(i.CLK_DisableCKO), (16 bytes). + Removing clk.o(i.CLK_DisableModuleClock), (44 bytes). + Removing clk.o(i.CLK_DisablePLL), (24 bytes). + Removing clk.o(i.CLK_DisableSysTick), (10 bytes). + Removing clk.o(i.CLK_DisableXtalRC), (20 bytes). + Removing clk.o(i.CLK_EnableCKO), (48 bytes). + Removing clk.o(i.CLK_EnablePLL), (376 bytes). + Removing clk.o(i.CLK_EnableSysTick), (72 bytes). + Removing clk.o(i.CLK_EnableXtalRC), (20 bytes). + Removing clk.o(i.CLK_GetCPUFreq), (16 bytes). + Removing clk.o(i.CLK_GetHXTFreq), (28 bytes). + Removing clk.o(i.CLK_GetLXTFreq), (24 bytes). + Removing clk.o(i.CLK_GetPCLK0Freq), (40 bytes). + Removing clk.o(i.CLK_GetPCLK1Freq), (40 bytes). + Removing clk.o(i.CLK_GetPLLClockFreq), (100 bytes). + Removing clk.o(i.CLK_Idle), (40 bytes). + Removing clk.o(i.CLK_PowerDown), (40 bytes). + Removing clk.o(i.CLK_SetCoreClock), (176 bytes). + Removing clk.o(i.CLK_SetHCLK), (124 bytes). + Removing clk.o(i.CLK_SetSysTickClockSrc), (24 bytes). + Removing clk.o(i.CLK_WaitClockReady), (40 bytes). + Removing gpio.o(.rev16_text), (4 bytes). + Removing gpio.o(.revsh_text), (4 bytes). + Removing gpio.o(.rrx_text), (6 bytes). + Removing gpio.o(i.GPIO_DisableInt), (24 bytes). + Removing gpio.o(i.GPIO_EnableInt), (26 bytes). + Removing pwm.o(.rev16_text), (4 bytes). + Removing pwm.o(.revsh_text), (4 bytes). + Removing pwm.o(.rrx_text), (6 bytes). + Removing pwm.o(i.PWM_ClearADCTriggerFlag), (12 bytes). + Removing pwm.o(i.PWM_ClearAccInt), (14 bytes). + Removing pwm.o(i.PWM_ClearCaptureIntFlag), (10 bytes). + Removing pwm.o(i.PWM_ClearDACTriggerFlag), (10 bytes). + Removing pwm.o(i.PWM_ClearDutyIntFlag), (16 bytes). + Removing pwm.o(i.PWM_ClearFTDutyIntFlag), (14 bytes). + Removing pwm.o(i.PWM_ClearFaultBrakeIntFlag), (10 bytes). + Removing pwm.o(i.PWM_ClearWrapAroundFlag), (10 bytes). + Removing pwm.o(i.PWM_ClearZeroIntFlag), (10 bytes). + Removing pwm.o(i.PWM_ConfigCaptureChannel), (204 bytes). + Removing pwm.o(i.PWM_ConfigSyncPhase), (54 bytes). + Removing pwm.o(i.PWM_DisableADCTrigger), (44 bytes). + Removing pwm.o(i.PWM_DisableAcc), (22 bytes). + Removing pwm.o(i.PWM_DisableAccInt), (22 bytes). + Removing pwm.o(i.PWM_DisableBrakeNoiseFilter), (20 bytes). + Removing pwm.o(i.PWM_DisableBrakePinInverse), (20 bytes). + Removing pwm.o(i.PWM_DisableCapture), (22 bytes). + Removing pwm.o(i.PWM_DisableCaptureInt), (18 bytes). + Removing pwm.o(i.PWM_DisableDACTrigger), (18 bytes). + Removing pwm.o(i.PWM_DisableDeadZone), (28 bytes). + Removing pwm.o(i.PWM_DisableDutyInt), (20 bytes). + Removing pwm.o(i.PWM_DisableFaultBrakeInt), (16 bytes). + Removing pwm.o(i.PWM_DisableLoadMode), (14 bytes). + Removing pwm.o(i.PWM_DisablePDMA), (22 bytes). + Removing pwm.o(i.PWM_DisablePeriodInt), (18 bytes). + Removing pwm.o(i.PWM_DisableSyncNoiseFilter), (10 bytes). + Removing pwm.o(i.PWM_DisableSyncPhase), (36 bytes). + Removing pwm.o(i.PWM_DisableSyncPinInverse), (10 bytes). + Removing pwm.o(i.PWM_DisableZeroInt), (16 bytes). + Removing pwm.o(i.PWM_EnableADCTrigger), (74 bytes). + Removing pwm.o(i.PWM_EnableAcc), (38 bytes). + Removing pwm.o(i.PWM_EnableAccInt), (22 bytes). + Removing pwm.o(i.PWM_EnableBrakeNoiseFilter), (34 bytes). + Removing pwm.o(i.PWM_EnableBrakePinInverse), (20 bytes). + Removing pwm.o(i.PWM_EnableCapture), (22 bytes). + Removing pwm.o(i.PWM_EnableCaptureInt), (18 bytes). + Removing pwm.o(i.PWM_EnableDACTrigger), (18 bytes). + Removing pwm.o(i.PWM_EnableDeadZone), (50 bytes). + Removing pwm.o(i.PWM_EnableDutyInt), (18 bytes). + Removing pwm.o(i.PWM_EnableFaultBrake), (338 bytes). + Removing pwm.o(i.PWM_EnableFaultBrakeInt), (16 bytes). + Removing pwm.o(i.PWM_EnableLoadMode), (14 bytes). + Removing pwm.o(i.PWM_EnablePDMA), (46 bytes). + Removing pwm.o(i.PWM_EnableSyncNoiseFilter), (24 bytes). + Removing pwm.o(i.PWM_EnableSyncPhase), (36 bytes). + Removing pwm.o(i.PWM_EnableSyncPinInverse), (10 bytes). + Removing pwm.o(i.PWM_EnableZeroInt), (16 bytes). + Removing pwm.o(i.PWM_ForceStop), (8 bytes). + Removing pwm.o(i.PWM_GetADCTriggerFlag), (24 bytes). + Removing pwm.o(i.PWM_GetAccInt), (28 bytes). + Removing pwm.o(i.PWM_GetCaptureIntFlag), (48 bytes). + Removing pwm.o(i.PWM_GetDACTriggerFlag), (12 bytes). + Removing pwm.o(i.PWM_GetDutyIntFlag), (28 bytes). + Removing pwm.o(i.PWM_GetFTDutyIntFlag), (28 bytes). + Removing pwm.o(i.PWM_GetFaultBrakeIntFlag), (22 bytes). + Removing pwm.o(i.PWM_GetPeriodIntFlag), (24 bytes). + Removing pwm.o(i.PWM_GetWrapAroundFlag), (22 bytes). + Removing pwm.o(i.PWM_GetZeroIntFlag), (22 bytes). + Removing pwm.o(i.PWM_SetBrakePinSource), (34 bytes). + Removing pwm.o(i.PWM_SetClockSource), (28 bytes). + Removing pwm.o(i.PWM_Stop), (34 bytes). + Removing spi.o(.rev16_text), (4 bytes). + Removing spi.o(.revsh_text), (4 bytes). + Removing spi.o(.rrx_text), (6 bytes). + Removing spi.o(i.I2S_Close), (10 bytes). + Removing spi.o(i.I2S_DisableInt), (112 bytes). + Removing spi.o(i.I2S_DisableMCLK), (10 bytes). + Removing spi.o(i.I2S_EnableInt), (112 bytes). + Removing spi.o(i.I2S_EnableMCLK), (70 bytes). + Removing spi.o(i.I2S_GetSourceClockFreq), (184 bytes). + Removing spi.o(i.I2S_Open), (296 bytes). + Removing spi.o(i.I2S_SetFIFO), (18 bytes). + Removing spi.o(i.SPI_ClearIntFlag), (98 bytes). + Removing spi.o(i.SPI_ClearRxFIFO), (10 bytes). + Removing spi.o(i.SPI_ClearTxFIFO), (10 bytes). + Removing spi.o(i.SPI_Close), (100 bytes). + Removing spi.o(i.SPI_DisableInt), (182 bytes). + Removing spi.o(i.SPI_EnableAutoSS), (22 bytes). + Removing spi.o(i.SPI_EnableInt), (182 bytes). + Removing spi.o(i.SPI_GetBusClock), (272 bytes). + Removing spi.o(i.SPI_GetIntFlag), (204 bytes). + Removing spi.o(i.SPI_GetStatus), (150 bytes). + Removing spi.o(i.SPI_SetBusClock), (444 bytes). + Removing spi.o(i.SPI_SetFIFO), (18 bytes). + Removing sys.o(.rev16_text), (4 bytes). + Removing sys.o(.revsh_text), (4 bytes). + Removing sys.o(.rrx_text), (6 bytes). + Removing sys.o(i.SYS_ClearResetSrc), (16 bytes). + Removing sys.o(i.SYS_DisableBOD), (18 bytes). + Removing sys.o(i.SYS_EnableBOD), (42 bytes). + Removing sys.o(i.SYS_GetBODStatus), (12 bytes). + Removing sys.o(i.SYS_GetResetSrc), (8 bytes). + Removing sys.o(i.SYS_IsRegLocked), (20 bytes). + Removing sys.o(i.SYS_ReadPDID), (8 bytes). + Removing sys.o(i.SYS_ResetCPU), (18 bytes). + Removing sys.o(i.SYS_ResetChip), (18 bytes). + +164 unused section(s) (total 6856 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + RESET 0x00000000 Section 320 startup_m451series.o(RESET) + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE + ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE + ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE + ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE + ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE + ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE + ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE + 24l01.c 0x00000000 Number 0 24l01.o ABSOLUTE + 24l01.c 0x00000000 Number 0 24l01.o ABSOLUTE + D:\Arm\Packs\Nuvoton\NuMicro_DFP\1.2.0\Device\M451\Driver\clk.c 0x00000000 Number 0 clk.o ABSOLUTE + D:\Arm\Packs\Nuvoton\NuMicro_DFP\1.2.0\Device\M451\Driver\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE + D:\Arm\Packs\Nuvoton\NuMicro_DFP\1.2.0\Device\M451\Driver\pwm.c 0x00000000 Number 0 pwm.o ABSOLUTE + D:\Arm\Packs\Nuvoton\NuMicro_DFP\1.2.0\Device\M451\Driver\spi.c 0x00000000 Number 0 spi.o ABSOLUTE + D:\Arm\Packs\Nuvoton\NuMicro_DFP\1.2.0\Device\M451\Driver\sys.c 0x00000000 Number 0 sys.o ABSOLUTE + D:\\Arm\\Packs\\Nuvoton\\NuMicro_DFP\\1.2.0\\Device\\M451\\Driver\\clk.c 0x00000000 Number 0 clk.o ABSOLUTE + D:\\Arm\\Packs\\Nuvoton\\NuMicro_DFP\\1.2.0\\Device\\M451\\Driver\\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE + D:\\Arm\\Packs\\Nuvoton\\NuMicro_DFP\\1.2.0\\Device\\M451\\Driver\\pwm.c 0x00000000 Number 0 pwm.o ABSOLUTE + D:\\Arm\\Packs\\Nuvoton\\NuMicro_DFP\\1.2.0\\Device\\M451\\Driver\\spi.c 0x00000000 Number 0 spi.o ABSOLUTE + D:\\Arm\\Packs\\Nuvoton\\NuMicro_DFP\\1.2.0\\Device\\M451\\Driver\\sys.c 0x00000000 Number 0 sys.o ABSOLUTE + RTE\Device\M453VG6AE\retarget.c 0x00000000 Number 0 retarget.o ABSOLUTE + RTE\Device\M453VG6AE\startup_M451Series.s 0x00000000 Number 0 startup_m451series.o ABSOLUTE + RTE\Device\M453VG6AE\system_M451Series.c 0x00000000 Number 0 system_m451series.o ABSOLUTE + RTE\\Device\\M453VG6AE\\retarget.c 0x00000000 Number 0 retarget.o ABSOLUTE + RTE\\Device\\M453VG6AE\\system_M451Series.c 0x00000000 Number 0 system_m451series.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + interrupt.c 0x00000000 Number 0 interrupt.o ABSOLUTE + interrupt.c 0x00000000 Number 0 interrupt.o ABSOLUTE + main.c 0x00000000 Number 0 main.o ABSOLUTE + main.c 0x00000000 Number 0 main.o ABSOLUTE + spi_hal.c 0x00000000 Number 0 spi_hal.o ABSOLUTE + spi_hal.c 0x00000000 Number 0 spi_hal.o ABSOLUTE + !!!main 0x00000140 Section 8 __main.o(!!!main) + !!!scatter 0x00000148 Section 52 __scatter.o(!!!scatter) + !!handler_copy 0x0000017c Section 26 __scatter_copy.o(!!handler_copy) + !!handler_zi 0x00000198 Section 28 __scatter_zi.o(!!handler_zi) + .ARM.Collect$$_printf_percent$$00000000 0x000001b4 Section 0 _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) + .ARM.Collect$$_printf_percent$$0000000C 0x000001b4 Section 6 _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) + .ARM.Collect$$_printf_percent$$00000017 0x000001ba Section 4 _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017) + .ARM.Collect$$libinit$$00000000 0x000001be Section 2 libinit.o(.ARM.Collect$$libinit$$00000000) + .ARM.Collect$$libinit$$00000001 0x000001c0 Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001) + .ARM.Collect$$libinit$$00000004 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + .ARM.Collect$$libinit$$0000000A 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + .ARM.Collect$$libinit$$0000000C 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + .ARM.Collect$$libinit$$0000000E 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + .ARM.Collect$$libinit$$00000011 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + .ARM.Collect$$libinit$$00000013 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + .ARM.Collect$$libinit$$00000015 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + .ARM.Collect$$libinit$$00000017 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + .ARM.Collect$$libinit$$00000019 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + .ARM.Collect$$libinit$$0000001B 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + .ARM.Collect$$libinit$$0000001D 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + .ARM.Collect$$libinit$$0000001F 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + .ARM.Collect$$libinit$$00000021 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + .ARM.Collect$$libinit$$00000023 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + .ARM.Collect$$libinit$$00000025 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + .ARM.Collect$$libinit$$0000002C 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + .ARM.Collect$$libinit$$0000002E 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + .ARM.Collect$$libinit$$00000030 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + .ARM.Collect$$libinit$$00000032 0x000001c4 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + .ARM.Collect$$libinit$$00000033 0x000001c4 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033) + .ARM.Collect$$libshutdown$$00000000 0x000001c6 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + .ARM.Collect$$libshutdown$$00000002 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + .ARM.Collect$$libshutdown$$00000004 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + .ARM.Collect$$libshutdown$$00000007 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) + .ARM.Collect$$libshutdown$$0000000A 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) + .ARM.Collect$$libshutdown$$0000000C 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + .ARM.Collect$$libshutdown$$0000000F 0x000001c8 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) + .ARM.Collect$$libshutdown$$00000010 0x000001c8 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) + .ARM.Collect$$rtentry$$00000000 0x000001ca Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + .ARM.Collect$$rtentry$$00000002 0x000001ca Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + .ARM.Collect$$rtentry$$00000004 0x000001ca Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + .ARM.Collect$$rtentry$$00000009 0x000001d0 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + .ARM.Collect$$rtentry$$0000000A 0x000001d0 Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + .ARM.Collect$$rtentry$$0000000C 0x000001d4 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + .ARM.Collect$$rtentry$$0000000D 0x000001d4 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + .ARM.Collect$$rtexit$$00000000 0x000001dc Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000) + .ARM.Collect$$rtexit$$00000002 0x000001de Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + .ARM.Collect$$rtexit$$00000003 0x000001de Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + .ARM.Collect$$rtexit$$00000004 0x000001e2 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + .emb_text 0x000001e8 Section 28 retarget.o(.emb_text) + $v0 0x000001e8 Number 0 retarget.o(.emb_text) + .text 0x00000204 Section 116 startup_m451series.o(.text) + $v0 0x00000204 Number 0 startup_m451series.o(.text) + Default_Handler 0x00000249 Thumb Code 2 startup_m451series.o(.text) + .text 0x00000278 Section 0 noretval__2printf.o(.text) + .text 0x00000290 Section 0 _printf_hex_int.o(.text) + .text 0x000002e8 Section 0 __printf_wp.o(.text) + .text 0x000003f6 Section 78 rt_memclr_w.o(.text) + .text 0x00000444 Section 0 heapauxi.o(.text) + .text 0x0000044a Section 0 _printf_intcommon.o(.text) + .text 0x000004fc Section 0 _printf_char_file.o(.text) + .text 0x00000520 Section 0 _printf_char_common.o(.text) + _printf_input_char 0x00000521 Thumb Code 10 _printf_char_common.o(.text) + .text 0x00000550 Section 74 sys_stackheap_outer.o(.text) + .text 0x0000059a Section 0 exit.o(.text) + .text 0x000005ac Section 8 libspace.o(.text) + .text 0x000005b4 Section 0 sys_exit.o(.text) + .text 0x000005c0 Section 2 use_no_semi.o(.text) + .text 0x000005c2 Section 0 indicate_semi.o(.text) + i.CLK_EnableModuleClock 0x000005c2 Section 0 clk.o(i.CLK_EnableModuleClock) + i.CLK_GetHCLKFreq 0x000005f0 Section 0 clk.o(i.CLK_GetHCLKFreq) + i.CLK_GetPLLClockFreq 0x00000600 Section 0 system_m451series.o(i.CLK_GetPLLClockFreq) + CLK_GetPLLClockFreq 0x00000601 Thumb Code 84 system_m451series.o(i.CLK_GetPLLClockFreq) + i.CLK_GetPLLClockFreq 0x00000664 Section 0 pwm.o(i.CLK_GetPLLClockFreq) + CLK_GetPLLClockFreq 0x00000665 Thumb Code 84 pwm.o(i.CLK_GetPLLClockFreq) + i.CLK_GetPLLClockFreq 0x000006c8 Section 0 spi.o(i.CLK_GetPLLClockFreq) + CLK_GetPLLClockFreq 0x000006c9 Thumb Code 84 spi.o(i.CLK_GetPLLClockFreq) + i.CLK_SetModuleClock 0x0000072c Section 0 clk.o(i.CLK_SetModuleClock) + i.EINT0_IRQHandler 0x00000780 Section 0 24l01.o(i.EINT0_IRQHandler) + i.GPIO_Direction_Init 0x000007e0 Section 0 main.o(i.GPIO_Direction_Init) + i.GPIO_SetMode 0x00000850 Section 0 gpio.o(i.GPIO_SetMode) + i.Hard_Fault_Handler 0x0000087c Section 0 retarget.o(i.Hard_Fault_Handler) + __tagsym$$used 0x0000087d Number 0 retarget.o(i.Hard_Fault_Handler) + i.NRF24L01_Read_Buf 0x000008a8 Section 0 24l01.o(i.NRF24L01_Read_Buf) + i.NRF24L01_RxPacket 0x000008dc Section 0 24l01.o(i.NRF24L01_RxPacket) + i.NRFSetTxMode 0x00000924 Section 0 24l01.o(i.NRFSetTxMode) + i.PWM0P0_IRQHandler 0x000009bc Section 0 interrupt.o(i.PWM0P0_IRQHandler) + i.PWM1P0_IRQHandler 0x00000aac Section 0 interrupt.o(i.PWM1P0_IRQHandler) + i.PWMInit 0x00000b2c Section 0 main.o(i.PWMInit) + i.PWM_ClearPeriodIntFlag 0x00000c78 Section 0 pwm.o(i.PWM_ClearPeriodIntFlag) + i.PWM_ConfigOutputChannel 0x00000c84 Section 0 pwm.o(i.PWM_ConfigOutputChannel) + i.PWM_DisableOutput 0x00000df4 Section 0 pwm.o(i.PWM_DisableOutput) + i.PWM_EnableOutput 0x00000e00 Section 0 pwm.o(i.PWM_EnableOutput) + i.PWM_EnablePeriodInt 0x00000e0c Section 0 pwm.o(i.PWM_EnablePeriodInt) + i.PWM_Start 0x00000e20 Section 0 pwm.o(i.PWM_Start) + i.ParsePackage 0x00000e28 Section 0 main.o(i.ParsePackage) + i.RX_Mode 0x00000eb0 Section 0 24l01.o(i.RX_Mode) + i.SPI_DisableAutoSS 0x00000f50 Section 0 spi.o(i.SPI_DisableAutoSS) + i.SPI_Open 0x00000f5c Section 0 spi.o(i.SPI_Open) + i.SYS_ResetModule 0x000011fc Section 0 sys.o(i.SYS_ResetModule) + i.SendChar 0x0000122c Section 0 retarget.o(i.SendChar) + i.SendChar_ToUART 0x00001238 Section 0 retarget.o(i.SendChar_ToUART) + i.Spi_init 0x00001268 Section 0 spi_hal.o(i.Spi_init) + i.SystemCoreClockUpdate 0x0000130c Section 0 system_m451series.o(i.SystemCoreClockUpdate) + i.SystemInit 0x00001370 Section 0 system_m451series.o(i.SystemInit) + i.__NVIC_EnableIRQ 0x000013e4 Section 0 main.o(i.__NVIC_EnableIRQ) + __NVIC_EnableIRQ 0x000013e5 Thumb Code 34 main.o(i.__NVIC_EnableIRQ) + i._is_digit 0x00001406 Section 0 __printf_wp.o(i._is_digit) + i.delayAny 0x00001414 Section 0 spi_hal.o(i.delayAny) + i.delay_s 0x00001422 Section 0 24l01.o(i.delay_s) + i.ferror 0x00001430 Section 0 retarget.o(i.ferror) + i.fputc 0x00001438 Section 0 retarget.o(i.fputc) + i.main 0x00001448 Section 0 main.o(i.main) + i.nrf_read 0x00001484 Section 0 spi_hal.o(i.nrf_read) + i.nrf_write 0x000014a0 Section 0 spi_hal.o(i.nrf_write) + i.nrf_writebuf 0x000014be Section 0 spi_hal.o(i.nrf_writebuf) + i.spi_disable 0x000014ec Section 0 spi_hal.o(i.spi_disable) + i.spi_enable 0x00001500 Section 0 spi_hal.o(i.spi_enable) + i.spi_read 0x00001514 Section 0 spi_hal.o(i.spi_read) + i.spi_send 0x00001534 Section 0 spi_hal.o(i.spi_send) + i.stackDump 0x00001554 Section 0 retarget.o(i.stackDump) + stackDump 0x00001555 Thumb Code 70 retarget.o(i.stackDump) + x$fpl$fpinit 0x000015fc Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x000015fc Number 0 fpinit.o(x$fpl$fpinit) + .constdata 0x00001606 Section 40 _printf_hex_int.o(.constdata) + uc_hextab 0x00001606 Data 20 _printf_hex_int.o(.constdata) + lc_hextab 0x0000161a Data 20 _printf_hex_int.o(.constdata) + .data 0x20000000 Section 12 main.o(.data) + .data 0x2000000c Section 21 24l01.o(.data) + ifinit 0x20000020 Data 1 24l01.o(.data) + .data 0x20000024 Section 8 retarget.o(.data) + .data 0x2000002c Section 44 system_m451series.o(.data) + .bss 0x20000058 Section 64 24l01.o(.bss) + .bss 0x20000098 Section 96 libspace.o(.bss) + HEAP 0x200000f8 Section 0 startup_m451series.o(HEAP) + STACK 0x200000f8 Section 1024 startup_m451series.o(STACK) + Heap_Mem 0x200000f8 Data 0 startup_m451series.o(HEAP) + Stack_Mem 0x200000f8 Data 1024 startup_m451series.o(STACK) + __initial_sp 0x200004f8 Data 0 startup_m451series.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPi3$EXTD16$VFPS$VFMA$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE + __Vectors 0x00000000 Data 4 startup_m451series.o(RESET) + _printf_flags 0x00000000 Number 0 printf_stubs.o ABSOLUTE + _printf_return_value 0x00000000 Number 0 printf_stubs.o ABSOLUTE + _printf_sizespec 0x00000000 Number 0 printf_stubs.o ABSOLUTE + _printf_widthprec 0x00000000 Number 0 printf_stubs.o ABSOLUTE + __ARM_exceptions_init - Undefined Weak Reference + __alloca_initialize - Undefined Weak Reference + __arm_preinit_ - Undefined Weak Reference + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __rt_locale - Undefined Weak Reference + __sigvec_lookup - Undefined Weak Reference + _atexit_init - Undefined Weak Reference + _call_atexit_fns - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _fp_trap_init - Undefined Weak Reference + _fp_trap_shutdown - Undefined Weak Reference + _get_lc_collate - Undefined Weak Reference + _get_lc_ctype - Undefined Weak Reference + _get_lc_monetary - Undefined Weak Reference + _get_lc_numeric - Undefined Weak Reference + _get_lc_time - Undefined Weak Reference + _getenv_init - Undefined Weak Reference + _handle_redirection - Undefined Weak Reference + _init_alloc - Undefined Weak Reference + _init_user_alloc - Undefined Weak Reference + _initio - Undefined Weak Reference + _printf_post_padding - Undefined Weak Reference + _printf_pre_padding - Undefined Weak Reference + _printf_truncate_unsigned - Undefined Weak Reference + _rand_init - Undefined Weak Reference + _signal_finish - Undefined Weak Reference + _signal_init - Undefined Weak Reference + _terminate_alloc - Undefined Weak Reference + _terminate_user_alloc - Undefined Weak Reference + _terminateio - Undefined Weak Reference + __Vectors_End 0x00000140 Data 0 startup_m451series.o(RESET) + __Vectors_Size 0x00000140 Number 0 startup_m451series.o ABSOLUTE + __main 0x00000141 Thumb Code 8 __main.o(!!!main) + __scatterload 0x00000149 Thumb Code 0 __scatter.o(!!!scatter) + __scatterload_rt2 0x00000149 Thumb Code 44 __scatter.o(!!!scatter) + __scatterload_rt2_thumb_only 0x00000149 Thumb Code 0 __scatter.o(!!!scatter) + __scatterload_null 0x00000157 Thumb Code 0 __scatter.o(!!!scatter) + __scatterload_copy 0x0000017d Thumb Code 26 __scatter_copy.o(!!handler_copy) + __scatterload_zeroinit 0x00000199 Thumb Code 28 __scatter_zi.o(!!handler_zi) + _printf_percent 0x000001b5 Thumb Code 0 _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) + _printf_x 0x000001b5 Thumb Code 0 _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C) + _printf_percent_end 0x000001bb Thumb Code 0 _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017) + __rt_lib_init 0x000001bf Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000) + __rt_lib_init_fp_1 0x000001c1 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001) + __rt_lib_init_alloca_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + __rt_lib_init_argv_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + __rt_lib_init_atexit_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + __rt_lib_init_clock_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + __rt_lib_init_cpp_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + __rt_lib_init_exceptions_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + __rt_lib_init_fp_trap_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + __rt_lib_init_getenv_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + __rt_lib_init_heap_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + __rt_lib_init_lc_collate_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + __rt_lib_init_lc_ctype_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + __rt_lib_init_lc_monetary_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + __rt_lib_init_lc_numeric_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + __rt_lib_init_lc_time_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + __rt_lib_init_preinit_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + __rt_lib_init_rand_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + __rt_lib_init_return 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033) + __rt_lib_init_signal_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + __rt_lib_init_stdio_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + __rt_lib_init_user_alloc_1 0x000001c5 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + __rt_lib_shutdown 0x000001c7 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + __rt_lib_shutdown_cpp_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + __rt_lib_shutdown_fp_trap_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) + __rt_lib_shutdown_heap_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) + __rt_lib_shutdown_return 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) + __rt_lib_shutdown_signal_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) + __rt_lib_shutdown_stdio_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + __rt_lib_shutdown_user_alloc_1 0x000001c9 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + __rt_entry 0x000001cb Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + __rt_entry_presh_1 0x000001cb Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + __rt_entry_sh 0x000001cb Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + __rt_entry_li 0x000001d1 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + __rt_entry_postsh_1 0x000001d1 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + __rt_entry_main 0x000001d5 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + __rt_entry_postli_1 0x000001d5 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + __rt_exit 0x000001dd Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000) + __rt_exit_ls 0x000001df Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + __rt_exit_prels_1 0x000001df Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + __rt_exit_exit 0x000001e3 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + HardFault_Handler 0x000001e9 Thumb Code 24 retarget.o(.emb_text) + Reset_Handler 0x00000205 Thumb Code 50 startup_m451series.o(.text) + NMI_Handler 0x00000237 Thumb Code 2 startup_m451series.o(.text) + MemManage_Handler 0x0000023b Thumb Code 2 startup_m451series.o(.text) + BusFault_Handler 0x0000023d Thumb Code 2 startup_m451series.o(.text) + UsageFault_Handler 0x0000023f Thumb Code 2 startup_m451series.o(.text) + SVC_Handler 0x00000241 Thumb Code 2 startup_m451series.o(.text) + DebugMon_Handler 0x00000243 Thumb Code 2 startup_m451series.o(.text) + PendSV_Handler 0x00000245 Thumb Code 2 startup_m451series.o(.text) + SysTick_Handler 0x00000247 Thumb Code 2 startup_m451series.o(.text) + ACMP01_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + ADC00_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + ADC01_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + ADC02_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + ADC03_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + BOD_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + BRAKE0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + BRAKE1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + CAN0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + CLKFAIL_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + DAC_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + EINT1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + EINT2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + EINT3_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + EINT4_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + EINT5_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPA_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPB_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPC_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPD_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPE_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + GPF_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + I2C0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + I2C1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + IRC_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PDMA_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PWM0P1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PWM0P2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PWM1P1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PWM1P2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + PWRWU_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + RAMPE_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + RTC_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + SC0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + SPI0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + SPI1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + SPI2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TAMPER_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TK_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TMR0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TMR1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TMR2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + TMR3_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + UART0_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + UART1_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + UART2_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + UART3_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + USBD_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + USBH_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + USBOTG_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + WDT_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + WWDT_IRQHandler 0x00000249 Thumb Code 0 startup_m451series.o(.text) + __user_initial_stackheap 0x0000024d Thumb Code 10 startup_m451series.o(.text) + __2printf 0x00000279 Thumb Code 20 noretval__2printf.o(.text) + _printf_int_hex 0x00000291 Thumb Code 84 _printf_hex_int.o(.text) + _printf_longlong_hex 0x00000291 Thumb Code 0 _printf_hex_int.o(.text) + __printf 0x000002e9 Thumb Code 270 __printf_wp.o(.text) + __aeabi_memclr4 0x000003f7 Thumb Code 0 rt_memclr_w.o(.text) + __aeabi_memclr8 0x000003f7 Thumb Code 0 rt_memclr_w.o(.text) + __rt_memclr_w 0x000003f7 Thumb Code 78 rt_memclr_w.o(.text) + _memset_w 0x000003fb Thumb Code 0 rt_memclr_w.o(.text) + __use_two_region_memory 0x00000445 Thumb Code 2 heapauxi.o(.text) + __rt_heap_escrow$2region 0x00000447 Thumb Code 2 heapauxi.o(.text) + __rt_heap_expand$2region 0x00000449 Thumb Code 2 heapauxi.o(.text) + _printf_int_common 0x0000044b Thumb Code 178 _printf_intcommon.o(.text) + _printf_char_file 0x000004fd Thumb Code 32 _printf_char_file.o(.text) + _printf_char_common 0x0000052b Thumb Code 32 _printf_char_common.o(.text) + __user_setup_stackheap 0x00000551 Thumb Code 74 sys_stackheap_outer.o(.text) + exit 0x0000059b Thumb Code 18 exit.o(.text) + __user_libspace 0x000005ad Thumb Code 8 libspace.o(.text) + __user_perproc_libspace 0x000005ad Thumb Code 0 libspace.o(.text) + __user_perthread_libspace 0x000005ad Thumb Code 0 libspace.o(.text) + _sys_exit 0x000005b5 Thumb Code 8 sys_exit.o(.text) + __I$use$semihosting 0x000005c1 Thumb Code 0 use_no_semi.o(.text) + __use_no_semihosting_swi 0x000005c1 Thumb Code 2 use_no_semi.o(.text) + CLK_EnableModuleClock 0x000005c3 Thumb Code 44 clk.o(i.CLK_EnableModuleClock) + __semihosting_library_function 0x000005c3 Thumb Code 0 indicate_semi.o(.text) + CLK_GetHCLKFreq 0x000005f1 Thumb Code 12 clk.o(i.CLK_GetHCLKFreq) + CLK_SetModuleClock 0x0000072d Thumb Code 78 clk.o(i.CLK_SetModuleClock) + EINT0_IRQHandler 0x00000781 Thumb Code 82 24l01.o(i.EINT0_IRQHandler) + GPIO_Direction_Init 0x000007e1 Thumb Code 102 main.o(i.GPIO_Direction_Init) + GPIO_SetMode 0x00000851 Thumb Code 44 gpio.o(i.GPIO_SetMode) + Hard_Fault_Handler 0x0000087d Thumb Code 18 retarget.o(i.Hard_Fault_Handler) + NRF24L01_Read_Buf 0x000008a9 Thumb Code 50 24l01.o(i.NRF24L01_Read_Buf) + NRF24L01_RxPacket 0x000008dd Thumb Code 68 24l01.o(i.NRF24L01_RxPacket) + NRFSetTxMode 0x00000925 Thumb Code 132 24l01.o(i.NRFSetTxMode) + PWM0P0_IRQHandler 0x000009bd Thumb Code 216 interrupt.o(i.PWM0P0_IRQHandler) + PWM1P0_IRQHandler 0x00000aad Thumb Code 112 interrupt.o(i.PWM1P0_IRQHandler) + PWMInit 0x00000b2d Thumb Code 312 main.o(i.PWMInit) + PWM_ClearPeriodIntFlag 0x00000c79 Thumb Code 12 pwm.o(i.PWM_ClearPeriodIntFlag) + PWM_ConfigOutputChannel 0x00000c85 Thumb Code 354 pwm.o(i.PWM_ConfigOutputChannel) + PWM_DisableOutput 0x00000df5 Thumb Code 12 pwm.o(i.PWM_DisableOutput) + PWM_EnableOutput 0x00000e01 Thumb Code 12 pwm.o(i.PWM_EnableOutput) + PWM_EnablePeriodInt 0x00000e0d Thumb Code 20 pwm.o(i.PWM_EnablePeriodInt) + PWM_Start 0x00000e21 Thumb Code 8 pwm.o(i.PWM_Start) + ParsePackage 0x00000e29 Thumb Code 112 main.o(i.ParsePackage) + RX_Mode 0x00000eb1 Thumb Code 140 24l01.o(i.RX_Mode) + SPI_DisableAutoSS 0x00000f51 Thumb Code 10 spi.o(i.SPI_DisableAutoSS) + SPI_Open 0x00000f5d Thumb Code 646 spi.o(i.SPI_Open) + SYS_ResetModule 0x000011fd Thumb Code 48 sys.o(i.SYS_ResetModule) + SendChar 0x0000122d Thumb Code 12 retarget.o(i.SendChar) + SendChar_ToUART 0x00001239 Thumb Code 44 retarget.o(i.SendChar_ToUART) + Spi_init 0x00001269 Thumb Code 138 spi_hal.o(i.Spi_init) + SystemCoreClockUpdate 0x0000130d Thumb Code 74 system_m451series.o(i.SystemCoreClockUpdate) + SystemInit 0x00001371 Thumb Code 104 system_m451series.o(i.SystemInit) + _is_digit 0x00001407 Thumb Code 14 __printf_wp.o(i._is_digit) + delayAny 0x00001415 Thumb Code 14 spi_hal.o(i.delayAny) + delay_s 0x00001423 Thumb Code 14 24l01.o(i.delay_s) + ferror 0x00001431 Thumb Code 8 retarget.o(i.ferror) + fputc 0x00001439 Thumb Code 16 retarget.o(i.fputc) + main 0x00001449 Thumb Code 56 main.o(i.main) + nrf_read 0x00001485 Thumb Code 28 spi_hal.o(i.nrf_read) + nrf_write 0x000014a1 Thumb Code 30 spi_hal.o(i.nrf_write) + nrf_writebuf 0x000014bf Thumb Code 46 spi_hal.o(i.nrf_writebuf) + spi_disable 0x000014ed Thumb Code 14 spi_hal.o(i.spi_disable) + spi_enable 0x00001501 Thumb Code 14 spi_hal.o(i.spi_enable) + spi_read 0x00001515 Thumb Code 28 spi_hal.o(i.spi_read) + spi_send 0x00001535 Thumb Code 28 spi_hal.o(i.spi_send) + _fp_init 0x000015fd Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x00001605 Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x00001605 Thumb Code 0 fpinit.o(x$fpl$fpinit) + Region$$Table$$Base 0x00001630 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x00001650 Number 0 anon$$obj.o(Region$$Table) + Axis1 0x20000000 Data 2 main.o(.data) + Axis2 0x20000002 Data 2 main.o(.data) + Axis3 0x20000004 Data 2 main.o(.data) + Axis4 0x20000006 Data 2 main.o(.data) + Axis5 0x20000008 Data 2 main.o(.data) + Axis6 0x2000000a Data 2 main.o(.data) + rfch 0x2000000c Data 1 24l01.o(.data) + RxCnt 0x2000000e Data 2 24l01.o(.data) + TxAddr 0x20000010 Data 5 24l01.o(.data) + RxAddr 0x20000015 Data 5 24l01.o(.data) + Curr_Mode 0x2000001a Data 1 24l01.o(.data) + gRecvPkg 0x2000001c Data 4 24l01.o(.data) + __stdout 0x20000024 Data 4 retarget.o(.data) + __stdin 0x20000028 Data 4 retarget.o(.data) + SystemCoreClock 0x2000002c Data 4 system_m451series.o(.data) + CyclesPerUs 0x20000030 Data 4 system_m451series.o(.data) + PllClock 0x20000034 Data 4 system_m451series.o(.data) + gau32ClkSrcTbl 0x20000038 Data 32 system_m451series.o(.data) + Recv_Buf 0x20000058 Data 32 24l01.o(.bss) + Send_Buf 0x20000078 Data 32 24l01.o(.bss) + __libspace_start 0x20000098 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x200000f8 Data 0 libspace.o(.bss) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x00000141 + + Load Region LR_IROM1 (Base: 0x00000000, Size: 0x000016a8, Max: 0x00040000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00001650, Max: 0x00040000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x00000000 0x00000000 0x00000140 Data RO 526 RESET startup_m451series.o + 0x00000140 0x00000140 0x00000008 Code RO 1490 * !!!main c_w.l(__main.o) + 0x00000148 0x00000148 0x00000034 Code RO 1654 !!!scatter c_w.l(__scatter.o) + 0x0000017c 0x0000017c 0x0000001a Code RO 1656 !!handler_copy c_w.l(__scatter_copy.o) + 0x00000196 0x00000196 0x00000002 PAD + 0x00000198 0x00000198 0x0000001c Code RO 1658 !!handler_zi c_w.l(__scatter_zi.o) + 0x000001b4 0x000001b4 0x00000000 Code RO 1485 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x000001b4 0x000001b4 0x00000006 Code RO 1484 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) + 0x000001ba 0x000001ba 0x00000004 Code RO 1497 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x000001be 0x000001be 0x00000002 Code RO 1526 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x000001c0 0x000001c0 0x00000004 Code RO 1532 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1535 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1538 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1540 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1542 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1545 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1547 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1549 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1551 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1553 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1555 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1557 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1559 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1561 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1563 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1565 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1569 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1571 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1573 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000000 Code RO 1575 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x000001c4 0x000001c4 0x00000002 Code RO 1576 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x000001c6 0x000001c6 0x00000002 Code RO 1596 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1609 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1611 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1614 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1617 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1619 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000000 Code RO 1622 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x000001c8 0x000001c8 0x00000002 Code RO 1623 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1492 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x000001ca 0x000001ca 0x00000000 Code RO 1499 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x000001ca 0x000001ca 0x00000006 Code RO 1511 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x000001d0 0x000001d0 0x00000000 Code RO 1501 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x000001d0 0x000001d0 0x00000004 Code RO 1502 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000000 Code RO 1504 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x000001d4 0x000001d4 0x00000008 Code RO 1505 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x000001dc 0x000001dc 0x00000002 Code RO 1530 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x000001de 0x000001de 0x00000000 Code RO 1578 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x000001de 0x000001de 0x00000004 Code RO 1579 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x000001e2 0x000001e2 0x00000006 Code RO 1580 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x000001e8 0x000001e8 0x0000001c Code RO 411 .emb_text retarget.o + 0x00000204 0x00000204 0x00000074 Code RO 527 .text startup_m451series.o + 0x00000278 0x00000278 0x00000018 Code RO 1439 .text c_w.l(noretval__2printf.o) + 0x00000290 0x00000290 0x00000058 Code RO 1446 .text c_w.l(_printf_hex_int.o) + 0x000002e8 0x000002e8 0x0000010e Code RO 1472 .text c_w.l(__printf_wp.o) + 0x000003f6 0x000003f6 0x0000004e Code RO 1486 .text c_w.l(rt_memclr_w.o) + 0x00000444 0x00000444 0x00000006 Code RO 1488 .text c_w.l(heapauxi.o) + 0x0000044a 0x0000044a 0x000000b2 Code RO 1493 .text c_w.l(_printf_intcommon.o) + 0x000004fc 0x000004fc 0x00000024 Code RO 1495 .text c_w.l(_printf_char_file.o) + 0x00000520 0x00000520 0x00000030 Code RO 1513 .text c_w.l(_printf_char_common.o) + 0x00000550 0x00000550 0x0000004a Code RO 1515 .text c_w.l(sys_stackheap_outer.o) + 0x0000059a 0x0000059a 0x00000012 Code RO 1519 .text c_w.l(exit.o) + 0x000005ac 0x000005ac 0x00000008 Code RO 1527 .text c_w.l(libspace.o) + 0x000005b4 0x000005b4 0x0000000c Code RO 1588 .text c_w.l(sys_exit.o) + 0x000005c0 0x000005c0 0x00000002 Code RO 1599 .text c_w.l(use_no_semi.o) + 0x000005c2 0x000005c2 0x00000000 Code RO 1601 .text c_w.l(indicate_semi.o) + 0x000005c2 0x000005c2 0x0000002c Code RO 587 i.CLK_EnableModuleClock clk.o + 0x000005ee 0x000005ee 0x00000002 PAD + 0x000005f0 0x000005f0 0x00000010 Code RO 592 i.CLK_GetHCLKFreq clk.o + 0x00000600 0x00000600 0x00000064 Code RO 534 i.CLK_GetPLLClockFreq system_m451series.o + 0x00000664 0x00000664 0x00000064 Code RO 778 i.CLK_GetPLLClockFreq pwm.o + 0x000006c8 0x000006c8 0x00000064 Code RO 1206 i.CLK_GetPLLClockFreq spi.o + 0x0000072c 0x0000072c 0x00000054 Code RO 602 i.CLK_SetModuleClock clk.o + 0x00000780 0x00000780 0x00000060 Code RO 175 i.EINT0_IRQHandler 24l01.o + 0x000007e0 0x000007e0 0x00000070 Code RO 4 i.GPIO_Direction_Init main.o + 0x00000850 0x00000850 0x0000002c Code RO 744 i.GPIO_SetMode gpio.o + 0x0000087c 0x0000087c 0x0000002c Code RO 413 i.Hard_Fault_Handler retarget.o + 0x000008a8 0x000008a8 0x00000032 Code RO 178 i.NRF24L01_Read_Buf 24l01.o + 0x000008da 0x000008da 0x00000002 PAD + 0x000008dc 0x000008dc 0x00000048 Code RO 179 i.NRF24L01_RxPacket 24l01.o + 0x00000924 0x00000924 0x00000098 Code RO 181 i.NRFSetTxMode 24l01.o + 0x000009bc 0x000009bc 0x000000f0 Code RO 372 i.PWM0P0_IRQHandler interrupt.o + 0x00000aac 0x00000aac 0x00000080 Code RO 373 i.PWM1P0_IRQHandler interrupt.o + 0x00000b2c 0x00000b2c 0x0000014c Code RO 6 i.PWMInit main.o + 0x00000c78 0x00000c78 0x0000000c Code RO 786 i.PWM_ClearPeriodIntFlag pwm.o + 0x00000c84 0x00000c84 0x00000170 Code RO 790 i.PWM_ConfigOutputChannel pwm.o + 0x00000df4 0x00000df4 0x0000000c Code RO 804 i.PWM_DisableOutput pwm.o + 0x00000e00 0x00000e00 0x0000000c Code RO 824 i.PWM_EnableOutput pwm.o + 0x00000e0c 0x00000e0c 0x00000014 Code RO 826 i.PWM_EnablePeriodInt pwm.o + 0x00000e20 0x00000e20 0x00000008 Code RO 844 i.PWM_Start pwm.o + 0x00000e28 0x00000e28 0x00000088 Code RO 7 i.ParsePackage main.o + 0x00000eb0 0x00000eb0 0x000000a0 Code RO 186 i.RX_Mode 24l01.o + 0x00000f50 0x00000f50 0x0000000a Code RO 1219 i.SPI_DisableAutoSS spi.o + 0x00000f5a 0x00000f5a 0x00000002 PAD + 0x00000f5c 0x00000f5c 0x000002a0 Code RO 1226 i.SPI_Open spi.o + 0x000011fc 0x000011fc 0x00000030 Code RO 1369 i.SYS_ResetModule sys.o + 0x0000122c 0x0000122c 0x0000000c Code RO 415 i.SendChar retarget.o + 0x00001238 0x00001238 0x00000030 Code RO 416 i.SendChar_ToUART retarget.o + 0x00001268 0x00001268 0x000000a4 Code RO 289 i.Spi_init spi_hal.o + 0x0000130c 0x0000130c 0x00000064 Code RO 535 i.SystemCoreClockUpdate system_m451series.o + 0x00001370 0x00001370 0x00000074 Code RO 536 i.SystemInit system_m451series.o + 0x000013e4 0x000013e4 0x00000022 Code RO 8 i.__NVIC_EnableIRQ main.o + 0x00001406 0x00001406 0x0000000e Code RO 1474 i._is_digit c_w.l(__printf_wp.o) + 0x00001414 0x00001414 0x0000000e Code RO 290 i.delayAny spi_hal.o + 0x00001422 0x00001422 0x0000000e Code RO 188 i.delay_s 24l01.o + 0x00001430 0x00001430 0x00000008 Code RO 418 i.ferror retarget.o + 0x00001438 0x00001438 0x00000010 Code RO 420 i.fputc retarget.o + 0x00001448 0x00001448 0x0000003c Code RO 10 i.main main.o + 0x00001484 0x00001484 0x0000001c Code RO 291 i.nrf_read spi_hal.o + 0x000014a0 0x000014a0 0x0000001e Code RO 293 i.nrf_write spi_hal.o + 0x000014be 0x000014be 0x0000002e Code RO 294 i.nrf_writebuf spi_hal.o + 0x000014ec 0x000014ec 0x00000014 Code RO 295 i.spi_disable spi_hal.o + 0x00001500 0x00001500 0x00000014 Code RO 296 i.spi_enable spi_hal.o + 0x00001514 0x00001514 0x00000020 Code RO 297 i.spi_read spi_hal.o + 0x00001534 0x00001534 0x00000020 Code RO 298 i.spi_send spi_hal.o + 0x00001554 0x00001554 0x000000a8 Code RO 422 i.stackDump retarget.o + 0x000015fc 0x000015fc 0x0000000a Code RO 1586 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x00001606 0x00001606 0x00000028 Data RO 1447 .constdata c_w.l(_printf_hex_int.o) + 0x0000162e 0x0000162e 0x00000002 PAD + 0x00001630 0x00001630 0x00000020 Data RO 1652 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00001650, Size: 0x000004f8, Max: 0x00008000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x00001650 0x0000000c Data RW 11 .data main.o + 0x2000000c 0x0000165c 0x00000015 Data RW 190 .data 24l01.o + 0x20000021 0x00001671 0x00000003 PAD + 0x20000024 0x00001674 0x00000008 Data RW 423 .data retarget.o + 0x2000002c 0x0000167c 0x0000002c Data RW 537 .data system_m451series.o + 0x20000058 - 0x00000040 Zero RW 189 .bss 24l01.o + 0x20000098 - 0x00000060 Zero RW 1528 .bss c_w.l(libspace.o) + 0x200000f8 - 0x00000000 Zero RW 525 HEAP startup_m451series.o + 0x200000f8 - 0x00000400 Zero RW 524 STACK startup_m451series.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 544 58 0 21 64 5878 24l01.o + 144 10 0 0 0 1867 clk.o + 44 0 0 0 0 1163 gpio.o + 368 40 0 0 0 1168 interrupt.o + 674 58 0 12 0 209300 main.o + 532 30 0 0 0 5360 pwm.o + 324 132 0 8 0 5893 retarget.o + 782 42 0 0 0 3207 spi.o + 386 46 0 0 0 4865 spi_hal.o + 116 36 320 0 1024 948 startup_m451series.o + 48 0 0 0 0 550 sys.o + 316 54 0 44 0 47591 system_m451series.o + + ---------------------------------------------------------------------- + 4284 506 352 88 1088 287790 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 6 0 0 3 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 8 0 0 0 0 68 __main.o + 284 0 0 0 0 156 __printf_wp.o + 0 0 0 0 0 0 __rtentry.o + 12 0 0 0 0 0 __rtentry2.o + 6 0 0 0 0 0 __rtentry4.o + 52 8 0 0 0 0 __scatter.o + 26 0 0 0 0 0 __scatter_copy.o + 28 0 0 0 0 0 __scatter_zi.o + 48 6 0 0 0 96 _printf_char_common.o + 36 4 0 0 0 80 _printf_char_file.o + 88 4 40 0 0 88 _printf_hex_int.o + 178 0 0 0 0 88 _printf_intcommon.o + 0 0 0 0 0 0 _printf_percent.o + 4 0 0 0 0 0 _printf_percent_end.o + 6 0 0 0 0 0 _printf_x.o + 18 0 0 0 0 80 exit.o + 6 0 0 0 0 152 heapauxi.o + 0 0 0 0 0 0 indicate_semi.o + 2 0 0 0 0 0 libinit.o + 6 0 0 0 0 0 libinit2.o + 2 0 0 0 0 0 libshutdown.o + 2 0 0 0 0 0 libshutdown2.o + 8 4 0 0 96 68 libspace.o + 24 4 0 0 0 84 noretval__2printf.o + 78 0 0 0 0 80 rt_memclr_w.o + 2 0 0 0 0 0 rtexit.o + 10 0 0 0 0 0 rtexit2.o + 12 4 0 0 0 68 sys_exit.o + 74 0 0 0 0 80 sys_stackheap_outer.o + 2 0 0 0 0 68 use_no_semi.o + 10 0 0 0 0 116 fpinit.o + + ---------------------------------------------------------------------- + 1034 34 42 0 96 1372 Library Totals + 2 0 2 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 1022 34 40 0 96 1256 c_w.l + 10 0 0 0 0 116 fz_wm.l + + ---------------------------------------------------------------------- + 1034 34 42 0 96 1372 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 5318 540 394 88 1184 284290 Grand Totals + 5318 540 394 88 1184 284290 ELF Image Totals + 5318 540 394 88 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 5712 ( 5.58kB) + Total RW Size (RW Data + ZI Data) 1272 ( 1.24kB) + Total ROM Size (Code + RO Data + RW Data) 5800 ( 5.66kB) + +============================================================================== + diff --git a/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.axf b/nuvoton/m451/roboticarm_controller/Objects/roboticarm_controller.axf new file mode 100644 index 0000000000000000000000000000000000000000..033346e010952a33c0fada850ea5b8d50ed21590 GIT binary patch literal 319532 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

(YtX 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 M453VG6AE Nuvoton - Nuvoton.NuMicro_DFP.1.2.0 + Nuvoton.NuMicro_DFP.1.3.5 http://www.nuvoton.com/hq/enu/Documents/KEILSoftwarePack IRAM(0x20000000,0x8000) IROM(0x00000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) @@ -430,10 +430,25 @@ + + + + + + + + + + + + + + + - - + +