From 299b6d2dafd980454ce1d5d2b2df014527dd17fa Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Wed, 16 Aug 2017 16:48:49 +0000 Subject: [PATCH] Refs #225. Added 29-bit CAN identifier support to the LPC2000 port. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@343 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- .../bin/openblt_olimex_lpc_l2294_20mhz.elf | Bin 210364 -> 210552 bytes .../bin/openblt_olimex_lpc_l2294_20mhz.map | 106 +++++------ .../bin/openblt_olimex_lpc_l2294_20mhz.srec | 73 ++++---- .../bin/demoprog_olimex_lpc_l2294_20mhz.elf | Bin 55032 -> 55316 bytes .../bin/demoprog_olimex_lpc_l2294_20mhz.map | 122 ++++++------- .../bin/demoprog_olimex_lpc_l2294_20mhz.srec | 170 +++++++++--------- .../Prog/boot.c | 39 ++-- Target/Source/ARM7_LPC2000/can.c | 63 ++++--- 8 files changed, 308 insertions(+), 265 deletions(-) diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.elf b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.elf index 64931d822915c4add728087d562c39c249ff5df2..343474bfc27359c85c65bfc8f3f7f17cd167d735 100644 GIT binary patch delta 2350 zcmY*ac}$d75TAK(FJM`YMHX4MEMNr`?5-{XMhR333X7#`jjc8Y51`Rfi^gK)mZqku ziT7(04A>(zb{nfTewyNyXk%)OZDXrJ`^O5{YE9G<(x%bUneSswI-56d=J%VKcg)+} zfj{hjKd|re3R~{(%uLUK2Y`neSdcy>LePNHf!%fKcxHDOt3#|VunLpfi^w`d*JZk{ z({-1w59#^>>+NCG!iY{g_NcK~tfXn40~>HyeeS@QF{q6>P!oiHm4LrtNbOI=E10L% zIq|3!FRKJMuEIg}jvK%AANKW)r1|!aAUKDf2Z;WN{3+hOBVNJ)mJErE?r(MwCSh?H zpx>FIYSM6NIe>dCKe`8Xq6OZ}RpJ*(uWG-9Dnur{Q(l$9@m47(OY)tpu!B zwPum4O5;VQ%1#oW;0g78lJJ+`Kx_nILQB1+zfne4*)naJ!8fP-E7uDLAc9%sr2)t% zh_3g7HGbJ#B^@*T4J6eK4UIK&O}ETY1(U?%l3|X!2$8uq7A4=TbnFAh#{@pC2prB2B}*n7>OZ`kPTp;uQmomYsb7c>LRW>P7Sr( zBOB`$a&s*Y*+ZYGn_=ypc;F&eX` zX*1w{y{O%^nUL76twf$EN(JzupUmF(={-fiyOqq7T-Y&_m(w`5H5MT53>l3Sy^m)6 zPW2XuiW!%w&PEQqvD^)CotfSrsLUj16N7B}9RSH2)-{o<;%5tY#~_{B#2axn@(!Nx zTHK3MdbWoy$jE-e+3l3=_=ykuFK^@&yZRQ#IqeF$kP@Jjd>WHkC4e+po%sN%e3$MS zyu`*TBFwT}66%>oHjL3Q!E1D^i8fs70NCjSSk5fTkwgHWI$9_yJ5~~f<@^d35P`ks zW(Ho*^U%fVfTf;+4cz@A9XLkXI-kL&B@Da*wmIyzvDZUkIeOSHq@(tcYnGe~)-O3I zn}f{qfdxvfS33bzYoT~pM+)4IJAzC$_`QE1-@Q}eu4v6Mr%$jJ%g+rucBCehLPi@~o>T3#_VkZNu z94!pSk%G7qUP)ibsBU|xJ}wfa!WXCADiS{?6mY8}5+Fl>Dcx8MAac=pRNG5jkY>Kt z9u=+JBbN2v!310y2!*8X`Y~AflXlR%;;nLl(tOB1G0?wz#?I`KIaj~BB4;9`IszHKdkY348K^% zLt4H?j@$6ImLDgtnK~l%fa;A>MA}3?`{&4y)Ca21{DNnEq0UFv*hizB?k|v8ct^cTh$xq;y+BS)nc|jk)*87Iehr5F2b;Lp%m4rY delta 2164 zcmY*a4NTN!7=NDky)WT7z=J!yJLEVWNTPBC$HC5mG8I9^k2a0WkyA*CtgfYr9)4`; zmL@~@+IG`Zv{BQg*81nPgr-^PR!-9FW5tM^X@!x?+{~Wme;lj#_Ws`A^ZCB-^StoC zbJKe2hIOY`)J|yk`LYjZ1MoBg52POrA!tJ7;r50cJkq|AVLw9;Lmxp0B4e(ORXR54 zxKYRbI`%Mb?nA8)(Qd`Cx}AbEXqjrmM(kCGY&aJ~+HD(Zg0x4{@ft?e?$LN2Jz9eu z-!bDEmF~u+cv(H~#*?{wiuMh7iaG`m?EN_aNn1%C@9h}aLaT)NeIB*MgA1Lc@fF7U z%--$+gE!W1@NTAvSih=E!A$kN2hY)_hqAH$r;ap{_P!9`rsI>U&L|30Wt#A*{0wmb zkE+izgumhvViO1hnpT)%O|=%E#aH{xME{Ic!Ul+76onoDIf$6?YG)&jn#RVaTKVj( zxiVEfoGEV6CH)SOIl)8qmEQnnG!+#IQ#>@px|@KGny*DtTou+@93mSrs=ekE-+4w) zrY;y@Aej&$AHZr?uat<^NXmNZ4%Q#1Mww0!$0gO=G}CG3PccUjo7T~?bUO*=6&r}| zC}90v0?VCNmg|X*dOG|9QPw8S;pm;LO!iv$>bmEK9x z%WH`q=ft*R-tJxXdZ}>W$Lh^eF@5qGid)U0C^2D5z)OBqHV7nb)Q3`qTh>Zpq?@?7_gj4-qCZ)u668Mri(vE8nt!74yLI8%yh13X|Ie-Hk2`qqdM}lpG7@ zrJN_9os9CP2`bGS+W^$TGBMWi2{Arq+wdu`5Wo7LQ{r1HCn%heljMgFa0-kOSl(l~ zkYyOPoB3l=+A57ijNT)(bh2^=J0xu(V5@;vtnMdFPKefBBvDVB31Z}8r4?t{*3fd1 zI{~SGw2@{3>xZ*jI#o|lREj@snk*L=(;w$PCPoPn0Y8t8Z$>X0IKIf=NaR!}3BiE@rl4Cb7NC+FeGd3Z)?CI<7v+S%FSv^%nf+GCu!sg-cj z+4Y1|dKvwL^oWcP-eY~m4)zHJ7$53qYvne^M=Wfewut%kdCX^i$Ud{qF|V!U40HA{ zuN%ug^LMglVK!UFkB#E8-=dkhwBk<*Z?QSZyB? z6X}1@i6L>q7Wu$KErmK>PSG^L5Z3Ku)*UzSa%RN9?9;e`7v4J_LCN*O@8%#)6TAqP zw%mQpyJ#Zl&okl1tC?JqwMkO0lU0eQTp-@~J}VDpUQfD=a1&B`y7l6wA#5Q`M0YQoZdI5Kvzc6+Z^m z-4dCH-72?K=3|zsrp0)4wt$uDrBXT0eH9 WwhC1dka<~6E(sr*6L;sf#>c<^0IRkD diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.map b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.map index 904fbcfb..3dd6bcb7 100644 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.map +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.map @@ -7,32 +7,32 @@ start address 0x00000000 Program Header: LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16 - filesz 0x00001dac memsz 0x00001dac flags r-x - LOAD off 0x00020200 vaddr 0x40000200 paddr 0x00001dac align 2**16 + filesz 0x00001dbc memsz 0x00001dbc flags r-x + LOAD off 0x00020200 vaddr 0x40000200 paddr 0x00001dbc align 2**16 filesz 0x00000001 memsz 0x00000001 flags rw- - LOAD off 0x00020204 vaddr 0x40000204 paddr 0x00001dad align 2**16 + LOAD off 0x00020204 vaddr 0x40000204 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x0000004c flags rw- - LOAD off 0x00020250 vaddr 0x40000250 paddr 0x00001dad align 2**16 + LOAD off 0x00020250 vaddr 0x40000250 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000040 flags rw- - LOAD off 0x00020290 vaddr 0x40000290 paddr 0x00001dad align 2**16 + LOAD off 0x00020290 vaddr 0x40000290 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x00020294 vaddr 0x40000294 paddr 0x00001dad align 2**16 + LOAD off 0x00020294 vaddr 0x40000294 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- - LOAD off 0x00020298 vaddr 0x40000298 paddr 0x00001dad align 2**16 + LOAD off 0x00020298 vaddr 0x40000298 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000041 flags rw- - LOAD off 0x000202d9 vaddr 0x400002d9 paddr 0x00001dad align 2**16 + LOAD off 0x000202d9 vaddr 0x400002d9 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x000202da vaddr 0x400002da paddr 0x00001dad align 2**16 + LOAD off 0x000202da vaddr 0x400002da paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x000202dc vaddr 0x400002dc paddr 0x00001dad align 2**16 + LOAD off 0x000202dc vaddr 0x400002dc paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- - LOAD off 0x000202e0 vaddr 0x400002e0 paddr 0x00001dad align 2**16 + LOAD off 0x000202e0 vaddr 0x400002e0 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000204 flags rw- - LOAD off 0x000204e4 vaddr 0x400004e4 paddr 0x00001dad align 2**16 + LOAD off 0x000204e4 vaddr 0x400004e4 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000204 flags rw- - LOAD off 0x000206e8 vaddr 0x400006e8 paddr 0x00001dad align 2**16 + LOAD off 0x000206e8 vaddr 0x400006e8 paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- - LOAD off 0x000206ec vaddr 0x400006ec paddr 0x00001dad align 2**16 + LOAD off 0x000206ec vaddr 0x400006ec paddr 0x00001dbd align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- private flags = 5000200: [Version5 EABI] [soft-float ABI] @@ -142,65 +142,65 @@ Idx Name Size VMA LMA File off Algn CONTENTS, ALLOC, LOAD, READONLY, CODE 51 .text.CanTransmitPacket 000000d4 00001b58 00001b58 00011b58 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 52 .text.CanReceivePacket 000000a8 00001c2c 00001c2c 00011c2c 2**2 + 52 .text.CanReceivePacket 000000b8 00001c2c 00001c2c 00011c2c 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 53 .text.TimerInit 00000048 00001cd4 00001cd4 00011cd4 2**2 + 53 .text.TimerInit 00000048 00001ce4 00001ce4 00011ce4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 54 .text.TimerReset 00000020 00001d1c 00001d1c 00011d1c 2**2 + 54 .text.TimerReset 00000020 00001d2c 00001d2c 00011d2c 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 55 .text.TimerUpdate 00000038 00001d3c 00001d3c 00011d3c 2**2 + 55 .text.TimerUpdate 00000038 00001d4c 00001d4c 00011d4c 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 56 .text.TimerGet 00000028 00001d74 00001d74 00011d74 2**2 + 56 .text.TimerGet 00000028 00001d84 00001d84 00011d84 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 57 .text.CpuIrqDisable 00000010 00001d9c 00001d9c 00011d9c 2**2 + 57 .text.CpuIrqDisable 00000010 00001dac 00001dac 00011dac 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 58 .data.comActiveInterface 00000001 40000200 00001dac 00020200 2**0 + 58 .data.comActiveInterface 00000001 40000200 00001dbc 00020200 2**0 CONTENTS, ALLOC, LOAD, DATA - 59 .bss.xcpInfo 0000004c 40000204 00001dad 00020204 2**2 + 59 .bss.xcpInfo 0000004c 40000204 00001dbd 00020204 2**2 ALLOC - 60 .bss.xcpCtoReqPacket.4275 00000040 40000250 00001dad 00020250 2**2 + 60 .bss.xcpCtoReqPacket.4275 00000040 40000250 00001dbd 00020250 2**2 ALLOC - 61 .bss.backdoorOpen 00000001 40000290 00001dad 00020290 2**0 + 61 .bss.backdoorOpen 00000001 40000290 00001dbd 00020290 2**0 ALLOC - 62 .bss.backdoorOpenTime 00000004 40000294 00001dad 00020294 2**2 + 62 .bss.backdoorOpenTime 00000004 40000294 00001dbd 00020294 2**2 ALLOC - 63 .bss.xcpCtoReqPacket.4280 00000041 40000298 00001dad 00020298 2**2 + 63 .bss.xcpCtoReqPacket.4280 00000041 40000298 00001dbd 00020298 2**2 ALLOC - 64 .bss.xcpCtoRxLength.4281 00000001 400002d9 00001dad 000202d9 2**0 + 64 .bss.xcpCtoRxLength.4281 00000001 400002d9 00001dbd 000202d9 2**0 ALLOC - 65 .bss.xcpCtoRxInProgress.4282 00000001 400002da 00001dad 000202da 2**0 + 65 .bss.xcpCtoRxInProgress.4282 00000001 400002da 00001dbd 000202da 2**0 ALLOC - 66 .bss.xcpCtoRxStartTime.4283 00000004 400002dc 00001dad 000202dc 2**2 + 66 .bss.xcpCtoRxStartTime.4283 00000004 400002dc 00001dbd 000202dc 2**2 ALLOC - 67 .bss.bootBlockInfo 00000204 400002e0 00001dad 000202e0 2**2 + 67 .bss.bootBlockInfo 00000204 400002e0 00001dbd 000202e0 2**2 ALLOC - 68 .bss.blockInfo 00000204 400004e4 00001dad 000204e4 2**2 + 68 .bss.blockInfo 00000204 400004e4 00001dbd 000204e4 2**2 ALLOC - 69 .bss.millisecond_counter 00000004 400006e8 00001dad 000206e8 2**2 + 69 .bss.millisecond_counter 00000004 400006e8 00001dbd 000206e8 2**2 ALLOC - 70 .bss.free_running_counter_last 00000004 400006ec 00001dad 000206ec 2**2 + 70 .bss.free_running_counter_last 00000004 400006ec 00001dbd 000206ec 2**2 ALLOC 71 .ARM.attributes 0000002c 00000000 00000000 00020201 2**0 CONTENTS, READONLY 72 .comment 0000006e 00000000 00000000 0002022d 2**0 CONTENTS, READONLY - 73 .debug_line 0000150f 00000000 00000000 0002029b 2**0 + 73 .debug_line 00001519 00000000 00000000 0002029b 2**0 CONTENTS, READONLY, DEBUGGING - 74 .debug_info 00002136 00000000 00000000 000217aa 2**0 + 74 .debug_info 00002154 00000000 00000000 000217b4 2**0 CONTENTS, READONLY, DEBUGGING - 75 .debug_abbrev 00000edf 00000000 00000000 000238e0 2**0 + 75 .debug_abbrev 00000edf 00000000 00000000 00023908 2**0 CONTENTS, READONLY, DEBUGGING - 76 .debug_aranges 00000358 00000000 00000000 000247c0 2**3 + 76 .debug_aranges 00000358 00000000 00000000 000247e8 2**3 CONTENTS, READONLY, DEBUGGING - 77 .debug_ranges 00000298 00000000 00000000 00024b18 2**0 + 77 .debug_ranges 00000298 00000000 00000000 00024b40 2**0 CONTENTS, READONLY, DEBUGGING - 78 .debug_macro 00001d6a 00000000 00000000 00024db0 2**0 + 78 .debug_macro 00001d76 00000000 00000000 00024dd8 2**0 CONTENTS, READONLY, DEBUGGING - 79 .debug_str 000080ff 00000000 00000000 00026b1a 2**0 + 79 .debug_str 0000814b 00000000 00000000 00026b4e 2**0 CONTENTS, READONLY, DEBUGGING - 80 .debug_frame 00000754 00000000 00000000 0002ec1c 2**2 + 80 .debug_frame 00000754 00000000 00000000 0002ec9c 2**2 CONTENTS, READONLY, DEBUGGING - 81 .debug_loc 00000f18 00000000 00000000 0002f370 2**0 + 81 .debug_loc 00000f54 00000000 00000000 0002f3f0 2**0 CONTENTS, READONLY, DEBUGGING SYMBOL TABLE: 00000000 l d .text 00000000 .text @@ -256,11 +256,11 @@ SYMBOL TABLE: 00001a38 l d .text.CanInit 00000000 .text.CanInit 00001b58 l d .text.CanTransmitPacket 00000000 .text.CanTransmitPacket 00001c2c l d .text.CanReceivePacket 00000000 .text.CanReceivePacket -00001cd4 l d .text.TimerInit 00000000 .text.TimerInit -00001d1c l d .text.TimerReset 00000000 .text.TimerReset -00001d3c l d .text.TimerUpdate 00000000 .text.TimerUpdate -00001d74 l d .text.TimerGet 00000000 .text.TimerGet -00001d9c l d .text.CpuIrqDisable 00000000 .text.CpuIrqDisable +00001ce4 l d .text.TimerInit 00000000 .text.TimerInit +00001d2c l d .text.TimerReset 00000000 .text.TimerReset +00001d4c l d .text.TimerUpdate 00000000 .text.TimerUpdate +00001d84 l d .text.TimerGet 00000000 .text.TimerGet +00001dac l d .text.CpuIrqDisable 00000000 .text.CpuIrqDisable 40000200 l d .data.comActiveInterface 00000000 .data.comActiveInterface 40000204 l d .bss.xcpInfo 00000000 .bss.xcpInfo 40000250 l d .bss.xcpCtoReqPacket.4275 00000000 .bss.xcpCtoReqPacket.4275 @@ -372,18 +372,18 @@ e01fc040 l *ABS* 00000000 MEMMAP 00000ba4 g F .text.ComInit 00000054 ComInit 000016f0 g F .text.FlashWrite 0000008c FlashWrite 00000f08 g F .text.AssertFailure 00000018 AssertFailure -00001c2c g F .text.CanReceivePacket 000000a8 CanReceivePacket +00001c2c g F .text.CanReceivePacket 000000b8 CanReceivePacket 000003a8 g F .text.IRQ_ISR 00000028 IRQ_ISR -00001d3c g F .text.TimerUpdate 00000038 TimerUpdate +00001d4c g F .text.TimerUpdate 00000038 TimerUpdate 00000518 g F .text.XcpPacketTransmitted 00000014 XcpPacketTransmitted 00000bf8 g F .text.ComTask 00000088 ComTask 00000e48 g F .text.BootInit 0000006c BootInit 00000e00 g F .text.BackDoorInit 00000048 BackDoorInit 00000f04 g F .text.CopService 00000004 CopService 00000368 g .text 00000000 _etext -00001d9c g F .text.CpuIrqDisable 00000010 CpuIrqDisable +00001dac g F .text.CpuIrqDisable 00000010 CpuIrqDisable 00001a30 g F .text.FlashGetUserProgBaseAddress 00000008 FlashGetUserProgBaseAddress -00001d1c g F .text.TimerReset 00000020 TimerReset +00001d2c g F .text.TimerReset 00000020 TimerReset 00000eb4 g F .text.BootTask 0000004c BootTask 000018e8 g F .text.FlashWriteChecksum 00000090 FlashWriteChecksum 40000201 g .data.comActiveInterface 00000000 _bss_start @@ -432,8 +432,8 @@ e01fc040 l *ABS* 00000000 MEMMAP 00000224 w F .text 00000004 .hidden __aeabi_idiv0 00000cf0 g F .text.ComGetActiveInterfaceMaxRxLen 0000003c ComGetActiveInterfaceMaxRxLen 00000d84 g F .text.BackDoorCheck 0000007c BackDoorCheck -00001d74 g F .text.TimerGet 00000028 TimerGet +00001d84 g F .text.TimerGet 00000028 TimerGet 00000204 g F .text 00000020 .hidden __aeabi_idivmod -00001cd4 g F .text.TimerInit 00000048 TimerInit +00001ce4 g F .text.TimerInit 00000048 TimerInit diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.srec b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.srec index 02a86dad..7f4a7a19 100755 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.srec +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Boot/bin/openblt_olimex_lpc_l2294_20mhz.srec @@ -231,24 +231,24 @@ S1130DB413FF2FE138309FE5003093E57D3F83E254 S1130DC4030050E10500003A0020A0E318309FE539 S1130DD40020C3E51C309FE50FE0A0E113FF2FE1E1 S1130DE41040BDE81EFF2FE1680D00009002004092 -S10F0DF4741D000094020040E412000092 +S10F0DF4841D000094020040E412000082 S1130E0010402DE90120A0E328309FE50020C3E530 S1130E1024309FE50FE0A0E113FF2FE11C309FE594 S1130E20000083E518309FE50FE0A0E113FF2FE1F8 -S1130E301040BDE81EFF2FE190020040741D000029 +S1130E301040BDE81EFF2FE190020040841D000019 S10B0E4094020040840D00003F S1130E4810402DE948309FE50FE0A0E113FF2FE1A2 S1130E5840309FE50FE0A0E113FF2FE138309FE514 S1130E680FE0A0E113FF2FE130309FE50FE0A0E190 S1130E7813FF2FE128309FE50FE0A0E113FF2FE1D6 S1130E8820309FE50FE0A0E113FF2FE11040BDE8FB -S1130E981EFF2FE17C120000000F0000D41C00008C +S1130E981EFF2FE17C120000000F0000E41C00007C S10F0EA8C0110000A40B0000000E0000AC S1130EB410402DE930309FE50FE0A0E113FF2FE14E S1130EC428309FE50FE0A0E113FF2FE120309FE5D8 S1130ED40FE0A0E113FF2FE118309FE50FE0A0E13C S1130EE413FF2FE11040BDE81EFF2FE1040F0000A3 -S10F0EF43C1D0000F80B0000840D000001 +S10F0EF44C1D0000F80B0000840D0000F1 S1070F001EFF2FE1BC S1070F041EFF2FE1B8 S1130F0810402DE908409FE50FE0A0E114FF2FE110 @@ -294,7 +294,7 @@ S113116C0020C3E5070000EA30309FE50FE0A0E162 S113117C13FF2FE128309FE5003093E5643083E2C0 S113118C030050E1F3FFFF8A0400A0E17040BDE8C6 S113119C1EFF2FE1DA02004000C000E0980200407C -S11311AC741D0000DC020040D9020040990200408A +S11311AC841D0000DC020040D9020040990200407A S10711BC9812000081 S11311C010402DE90C309FE50FE0A0E113FF2FE163 S10F11D01040BDE81EFF2FE1D016000007 @@ -310,7 +310,7 @@ S113124C10402DE91C309FE50FE0A0E113FF2FE1C6 S113125C000050E310309F150FE0A01113FF2F1165 S113126C1040BDE81EFF2FE1E8180000C019000073 S113127C10402DE90C309FE50FE0A0E113FF2FE1A6 -S10F128C1040BDE81EFF2FE19C1D000077 +S10F128C1040BDE81EFF2FE1AC1D000067 S1131298000052E31EFF2F01F0412DE90150A0E1A7 S11312A8013042E20338A0E12338A0E1014040E2E2 S11312B8006083E01C709FE50130D5E40130E4E56B @@ -323,7 +323,7 @@ S113131448309FE50FE0A0E113FF2FE14020A0E354 S11313240010A0E10101A0E334309FE50FE0A0E147 S113133413FF2FE10220A0E328309FE5402083E53A S11313440131A0E30FE0A0E113FF2FE11040BDE859 -S11313541EFF2FE114120000800C00001C1D00006D +S11313541EFF2FE114120000800C00002C1D00005D S10F1364301200009812000000C01FE0CE S1131370F0412DE90060A0E158509FE50040A0E352 S113138054709FE50FE0A0E117FF2FE1003095E5D1 @@ -449,13 +449,13 @@ S1131AC80038A0E12338A0E1013043E2017047E285 S1131AD8016046E20668A0E1077A86E1037087E1BF S1131AE8030000EA025085E2090055E1DEFFFF1A0F S1131AF8040000EA48309FE5147083E50020A0E361 -S1131B08002083E5060000EAC410A0E334009FE542 +S1131B08002083E5060000EAC810A0E334009FE53E S1131B1834309FE50FE0A0E113FF2FE10070A0E34C S1131B28F3FFFFEAF84FBDE81EFF2FE100C003E012 S1131B384403000004020000DC000000FF0300006E S1131B4860EA0000004004E020030000080F0000E1 S1131B5870402DE90040A0E10150A0E1AC309FE5C0 -S1131B681C3093E5040013E3D610A003A0009F05DE +S1131B681C3093E5040013E3DA10A003A0009F05DA S1131B78A0309F050FE0A00113FF2F010558A0E135 S1131B8888209FE5305082E58C309FE5343082E52B S1131B980310D4E50230D4E50338A0E1013C83E026 @@ -468,31 +468,32 @@ S1131BF80240A0E10FE0A0E115FF2FE11C3094E5BD S1131C08080013E3FAFFFF0A7040BDE81EFF2FE146 S1131C18004004E020030000080F0000E107000072 S1071C28040F0000A1 -S1131C2C98309FE51C3093E5010013E31F00000A74 -S1131C3C88309FE5242093E584309FE5030052E12E -S1131C4C1C00001A74309FE5282093E50020C0E5A1 -S1131C5C282093E52224A0E10120C0E5282093E567 -S1131C6C2228A0E10220C0E5282093E5222CA0E143 -S1131C7C0320C0E52C2093E50420C0E52C2093E53B -S1131C8C2224A0E10520C0E52C2093E52228A0E124 -S1131C9C0620C0E52C2093E5222CA0E10720C0E50A -S1131CAC0420A0E3042083E50100A0E31EFF2FE140 -S1131CBC0000A0E31EFF2FE10000A0E31EFF2FE1B4 -S10B1CCC004004E0670600007B -S1131CD430309FE50020A0E3142083E5282083E529 -S1131CE424109FE50C1083E50110A0E3041083E5A0 -S1131CF4081093E514309FE5001083E510309FE548 -S1131D04002083E51EFF2FE1004000E05FEA0000AD -S10B1D14EC060040E806004063 -S1131D1C14309FE50020A0E3042083E50C2083E528 -S1131D2C082083E5102083E51EFF2FE1004000E02E -S1131D3C24309FE5081093E520009FE5003090E5E2 -S1131D4C033081E018209FE500C092E503306CE07D -S1131D5C003080E5001082E51EFF2FE1004000E01A -S10B1D6CE8060040EC0600400B -S1131D7410402DE914309FE50FE0A0E113FF2FE19B -S1131D840C309FE5000093E51040BDE81EFF2FE1F1 -S10B1D943C1D0000E8060040BC -S1131D9C00300FE1803083E303F029E11EFF2FE1D3 -S1041DAC042E +S1131C2CA8309FE51C3093E5010013E32500000A5E +S1131C3C98309FE5242093E5203093E5000053E38E +S1131C4C022182B388309FE5030052E10000A01307 +S1131C5C1800001A74309FE5282093E50020C0E595 +S1131C6C282093E52224A0E10120C0E5282093E557 +S1131C7C2228A0E10220C0E5282093E5222CA0E133 +S1131C8C0320C0E52C2093E50420C0E52C2093E52B +S1131C9C2224A0E10520C0E52C2093E52228A0E114 +S1131CAC0620C0E52C3093E5233CA0E10730C0E5C9 +S1131CBC0100A0E3FFFFFFEA0420A0E30C309FE542 +S1131CCC042083E51EFF2FE10000A0E31EFF2FE19B +S10B1CDC004004E0670600006B +S1131CE430309FE50020A0E3142083E5282083E519 +S1131CF424109FE50C1083E50110A0E3041083E590 +S1131D04081093E514309FE5001083E510309FE537 +S1131D14002083E51EFF2FE1004000E05FEA00009D +S10B1D24EC060040E806004053 +S1131D2C14309FE50020A0E3042083E50C2083E518 +S1131D3C082083E5102083E51EFF2FE1004000E01E +S1131D4C24309FE5081093E520009FE5003090E5D2 +S1131D5C033081E018209FE500C092E503306CE06D +S1131D6C003080E5001082E51EFF2FE1004000E00A +S10B1D7CE8060040EC060040FB +S1131D8410402DE914309FE50FE0A0E113FF2FE18B +S1131D940C309FE5000093E51040BDE81EFF2FE1E1 +S10B1DA44C1D0000E80600409C +S1131DAC00300FE1803083E303F029E11EFF2FE1C3 +S1041DBC041E S9030000FC diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.elf b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.elf index 9979307e88c0dbcbe6072ce447c9853c3f296202..706d9eb5a1e05ab43967001fca46cc878b03c375 100644 GIT binary patch delta 3743 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 C delta 3482 zcmYjUeNa@_6+idAU08G#76_sUyL>4r%I+F5YNae`((yB_AFZ*K5v?LloeI%3rhcqM zZMKaXn5$Eo*%Z>+W+qLHcFoizidYjPL_1apI#yeW&~Y+4F>yMRKho0Q?=4Tc%(?e> ze&^hC?>+atw~vEI&9C1!n|;QKODzQjxyMUHC{AHh_(L<$8xlI+vf8VTw=}VPo!uFB z{phq(=;Qgy^o}1W7P$`LNU_^ZUEzzUdGS*|zZuyVY#Wq7&!EWCTUjC#c0tdCt|a4D zxyY!7Vf#?P{H#8ozJIlR%V1jxTk6gB{){1i|1$c??m^{izcrKCcNWrqD>RG?L_RM9 zwqwu6{31`=SOon0pqqg^FAuu(3q_M7R|ARZ92K@QgsqLj*3LsWpc}HZKWSLEmp2fe z%f*K09>q8@psi#0uv9zrBA*_l-IOK$IhemMt!=O*&@x!!YZ-J%`z?nw4Hgu&>(b)< znQqKk2wywC3-JRZ^b%k}{I!AIpP3TwzdAJZt7}6;pX=u0Ocm9CC|;l%;$IeTR=KUX z!}eX+U#ItG!(@?c=xdRUEs$p2G`S7#`6a8=;doO?j$vde-87{@cYf>Hyi00+eSN_E zQC%=-{=Cek_wHS9`hIIJd(rgIH{aLc()r`wQgtu=enDWNtI~XPN1drvnR$1o%coD2 zMjty|EMf-L!uoo{ElP>gU@@3yL>Wdxze)Y#Lw!JRp0dxlU98pAzoc`ore9_5F*b0$)eJ_wTVWL_L zli5^P#P^P4oC9t3K7?GT@xJl?XT&! z$cm!=1=rE9V=WNG?loJUCH^-vw|N)OKAuttv8u#(he?gU2a3 zNacWqWjwcf8tepiii>{%v+FEZIiiL@rsUKAs0BYEJjOXGo4DmaTks9SI1iGDmx{}` z;)NuqkuxG+(NC3vpJ=WA6`_oEkj@>&=}+A*6gkN~#FCKSymNqeK+WXDx&MIsI707b z@J^HO1n&(CRuSH|;1h)RE%+p08u#%HViZLfRA|5Gx25ix< znb)amDhy7uq(G#Qr~e9$fe+La?R7w2}+g)-#w| z1J3+{VX7@SL>S&c_CJJ+E!IuvCA+{PE-Kkmo;90wHC)@t>9qSjSo}8j62+)u)LeWt z?tu!Bnl>7J%DrN}x_o?U2C(}FFwX-R{g`Mr(OcIViA4B4ymUEySvI-Y8obSV!!97_u31cHn?hNedErzO5Rp876 z7ACYa=zJB_H1#-Nt}HASdmeof(-#KiBlW#x{GQ1%g-%>AFhsaP_suBI+Dp8F;iB+O z!>D5JcjKPNI}OKl31-A^%-Uw?<#V1Z=L2cC=>UeTaq<9cb`9DE$CoQD16ox)@{?;1 z{OlXHCZQ{W7;-Fad4qGAguovO1>5#F~vhkpD4NY)&_A1G1BNwvxMj6SIt4;8ck$kNKkG9%2F-H4et3iC$cQ%PaI>_*J|*o~NZqA(wJBW7MG zyi;Bqg}4=h7QYiZ;VJ%89jbT5to7&{OW1F|M&`L65b_%_&Dx3c}I<5 zK|L|nwZ}N1jPv@xr@ZR0&h7B#+eL)W5IF&{i^kEyy!Dh;6 zYqW316t3~`W=t7l>AV#-6XnEa-;gP(R12)@Au_FpE^$2x-NQjz<2yR5O^>|}-UM<7 z^jv-8Y((vf*L>(#RVhfEc-t`@IQ=jVct7d(-%U{fk;j1Pc7xOa!yL!@bkvpMV z-x9j2I|tWa)9qE+@g3c}UFxJ(J>C>1kTO%RzMP@w^thdzeqAr>DNG)I7Ioy)EWN*H zw37=B=+}A*Q+Owos6K{S*D;GJY|wXMW3nhwE8>)1x08v=))l>lDfUyDZP~WN#w0}b ze%M-pC=+RmU+67SPW}TlMF&64(C)r8oH@5|vh!)Y)o1H@eTB{_{s{@|Mxd)RMEv?U zeTB-UPr)aIFUF6w=SqhDrZ3IutVD946*`?Ek=1$@P~B3IF1;Eka1w>3Jvc_}N}4h2 WZ~DlUNyeNG-G^agm;T?Ctp5Y6>EDw8 diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.map b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.map index 02b30cd6..ef8fc3e3 100644 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.map +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.map @@ -7,20 +7,20 @@ start address 0x00002000 Program Header: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16 - filesz 0x000028b4 memsz 0x000028b4 flags r-x - LOAD off 0x00010200 vaddr 0x40000200 paddr 0x000028b4 align 2**16 + filesz 0x000028cc memsz 0x000028cc flags r-x + LOAD off 0x00010200 vaddr 0x40000200 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000041 flags rw- - LOAD off 0x00010241 vaddr 0x40000241 paddr 0x000028b4 align 2**16 + LOAD off 0x00010241 vaddr 0x40000241 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x00010242 vaddr 0x40000242 paddr 0x000028b4 align 2**16 + LOAD off 0x00010242 vaddr 0x40000242 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x00010244 vaddr 0x40000244 paddr 0x000028b4 align 2**16 + LOAD off 0x00010244 vaddr 0x40000244 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- - LOAD off 0x00010248 vaddr 0x40000248 paddr 0x000028b4 align 2**16 + LOAD off 0x00010248 vaddr 0x40000248 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- - LOAD off 0x0001024c vaddr 0x4000024c paddr 0x000028b4 align 2**16 + LOAD off 0x0001024c vaddr 0x4000024c paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000001 flags rw- - LOAD off 0x00010250 vaddr 0x40000250 paddr 0x000028b4 align 2**16 + LOAD off 0x00010250 vaddr 0x40000250 paddr 0x000028cc align 2**16 filesz 0x00000000 memsz 0x00000004 flags rw- private flags = 5000200: [Version5 EABI] [soft-float ABI] @@ -38,65 +38,65 @@ Idx Name Size VMA LMA File off Algn CONTENTS, ALLOC, LOAD, READONLY, CODE 5 .text.BootActivate 00000034 000023b4 000023b4 000023b4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 6 .text.BootComCheckActivationRequest 000001bc 000023e8 000023e8 000023e8 2**2 + 6 .text.BootComCheckActivationRequest 000001d4 000023e8 000023e8 000023e8 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 7 .text.TIMER0_ISR 00000038 000025a4 000025a4 000025a4 2**2 + 7 .text.TIMER0_ISR 00000038 000025bc 000025bc 000025bc 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 8 .text.SWI_ISR 00000004 000025dc 000025dc 000025dc 2**2 + 8 .text.SWI_ISR 00000004 000025f4 000025f4 000025f4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 9 .text.FIQ_ISR 00000004 000025e0 000025e0 000025e0 2**2 + 9 .text.FIQ_ISR 00000004 000025f8 000025f8 000025f8 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 10 .text.UNDEF_ISR 00000004 000025e4 000025e4 000025e4 2**2 + 10 .text.UNDEF_ISR 00000004 000025fc 000025fc 000025fc 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 11 .text.main 00000188 000025e8 000025e8 000025e8 2**2 + 11 .text.main 00000188 00002600 00002600 00002600 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 12 .text.LedInit 00000020 00002770 00002770 00002770 2**2 + 12 .text.LedInit 00000020 00002788 00002788 00002788 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 13 .text.LedToggle 00000088 00002790 00002790 00002790 2**2 + 13 .text.LedToggle 00000088 000027a8 000027a8 000027a8 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 14 .text.TimerInit 00000058 00002818 00002818 00002818 2**2 + 14 .text.TimerInit 00000058 00002830 00002830 00002830 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 15 .text.TimerUpdate 00000018 00002870 00002870 00002870 2**2 + 15 .text.TimerUpdate 00000018 00002888 00002888 00002888 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 16 .text.TimerGet 00000010 00002888 00002888 00002888 2**2 + 16 .text.TimerGet 00000010 000028a0 000028a0 000028a0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 17 .text.memcpy 0000001c 00002898 00002898 00002898 2**2 + 17 .text.memcpy 0000001c 000028b0 000028b0 000028b0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 18 .bss.xcpCtoReqPacket.4213 00000041 40000200 000028b4 00010200 2**2 + 18 .bss.xcpCtoReqPacket.4213 00000041 40000200 000028cc 00010200 2**2 ALLOC - 19 .bss.xcpCtoRxLength.4214 00000001 40000241 000028b4 00010241 2**0 + 19 .bss.xcpCtoRxLength.4214 00000001 40000241 000028cc 00010241 2**0 ALLOC - 20 .bss.xcpCtoRxInProgress.4215 00000001 40000242 000028b4 00010242 2**0 + 20 .bss.xcpCtoRxInProgress.4215 00000001 40000242 000028cc 00010242 2**0 ALLOC - 21 .bss.xcpCtoRxStartTime.4216 00000004 40000244 000028b4 00010244 2**2 + 21 .bss.xcpCtoRxStartTime.4216 00000004 40000244 000028cc 00010244 2**2 ALLOC - 22 .bss.timer_counter_last.4194 00000004 40000248 000028b4 00010248 2**2 + 22 .bss.timer_counter_last.4194 00000004 40000248 000028cc 00010248 2**2 ALLOC - 23 .bss.led_toggle_state.4193 00000001 4000024c 000028b4 0001024c 2**0 + 23 .bss.led_toggle_state.4193 00000001 4000024c 000028cc 0001024c 2**0 ALLOC - 24 .bss.millisecond_counter 00000004 40000250 000028b4 00010250 2**2 + 24 .bss.millisecond_counter 00000004 40000250 000028cc 00010250 2**2 ALLOC - 25 .ARM.attributes 0000002c 00000000 00000000 000028b4 2**0 + 25 .ARM.attributes 0000002c 00000000 00000000 000028cc 2**0 CONTENTS, READONLY - 26 .comment 0000006e 00000000 00000000 000028e0 2**0 + 26 .comment 0000006e 00000000 00000000 000028f8 2**0 CONTENTS, READONLY - 27 .debug_line 0000053a 00000000 00000000 0000294e 2**0 + 27 .debug_line 00000541 00000000 00000000 00002966 2**0 CONTENTS, READONLY, DEBUGGING - 28 .debug_info 00000850 00000000 00000000 00002e88 2**0 + 28 .debug_info 0000087a 00000000 00000000 00002ea7 2**0 CONTENTS, READONLY, DEBUGGING - 29 .debug_abbrev 0000052f 00000000 00000000 000036d8 2**0 + 29 .debug_abbrev 00000537 00000000 00000000 00003721 2**0 CONTENTS, READONLY, DEBUGGING - 30 .debug_aranges 00000138 00000000 00000000 00003c08 2**3 + 30 .debug_aranges 00000138 00000000 00000000 00003c58 2**3 CONTENTS, READONLY, DEBUGGING - 31 .debug_loc 000001c5 00000000 00000000 00003d40 2**0 + 31 .debug_loc 00000249 00000000 00000000 00003d90 2**0 CONTENTS, READONLY, DEBUGGING - 32 .debug_ranges 00000100 00000000 00000000 00003f05 2**0 + 32 .debug_ranges 00000118 00000000 00000000 00003fd9 2**0 CONTENTS, READONLY, DEBUGGING - 33 .debug_macro 00001361 00000000 00000000 00004005 2**0 + 33 .debug_macro 00001368 00000000 00000000 000040f1 2**0 CONTENTS, READONLY, DEBUGGING - 34 .debug_str 000068c9 00000000 00000000 00005366 2**0 + 34 .debug_str 000068f2 00000000 00000000 00005459 2**0 CONTENTS, READONLY, DEBUGGING - 35 .debug_frame 0000020c 00000000 00000000 0000bc30 2**2 + 35 .debug_frame 0000020c 00000000 00000000 0000bd4c 2**2 CONTENTS, READONLY, DEBUGGING SYMBOL TABLE: 00002000 l d .text 00000000 .text @@ -106,17 +106,17 @@ SYMBOL TABLE: 00002274 l d .text.BootComInit 00000000 .text.BootComInit 000023b4 l d .text.BootActivate 00000000 .text.BootActivate 000023e8 l d .text.BootComCheckActivationRequest 00000000 .text.BootComCheckActivationRequest -000025a4 l d .text.TIMER0_ISR 00000000 .text.TIMER0_ISR -000025dc l d .text.SWI_ISR 00000000 .text.SWI_ISR -000025e0 l d .text.FIQ_ISR 00000000 .text.FIQ_ISR -000025e4 l d .text.UNDEF_ISR 00000000 .text.UNDEF_ISR -000025e8 l d .text.main 00000000 .text.main -00002770 l d .text.LedInit 00000000 .text.LedInit -00002790 l d .text.LedToggle 00000000 .text.LedToggle -00002818 l d .text.TimerInit 00000000 .text.TimerInit -00002870 l d .text.TimerUpdate 00000000 .text.TimerUpdate -00002888 l d .text.TimerGet 00000000 .text.TimerGet -00002898 l d .text.memcpy 00000000 .text.memcpy +000025bc l d .text.TIMER0_ISR 00000000 .text.TIMER0_ISR +000025f4 l d .text.SWI_ISR 00000000 .text.SWI_ISR +000025f8 l d .text.FIQ_ISR 00000000 .text.FIQ_ISR +000025fc l d .text.UNDEF_ISR 00000000 .text.UNDEF_ISR +00002600 l d .text.main 00000000 .text.main +00002788 l d .text.LedInit 00000000 .text.LedInit +000027a8 l d .text.LedToggle 00000000 .text.LedToggle +00002830 l d .text.TimerInit 00000000 .text.TimerInit +00002888 l d .text.TimerUpdate 00000000 .text.TimerUpdate +000028a0 l d .text.TimerGet 00000000 .text.TimerGet +000028b0 l d .text.memcpy 00000000 .text.memcpy 40000200 l d .bss.xcpCtoReqPacket.4213 00000000 .bss.xcpCtoReqPacket.4213 40000241 l d .bss.xcpCtoRxLength.4214 00000000 .bss.xcpCtoRxLength.4214 40000242 l d .bss.xcpCtoRxInProgress.4215 00000000 .bss.xcpCtoRxInProgress.4215 @@ -197,36 +197,36 @@ SYMBOL TABLE: 00000000 l *UND* 00000000 _Jv_RegisterClasses 00000000 l *UND* 00000000 __preinit_array_start 00000000 l *UND* 00000000 __register_frame_info -00002870 g F .text.TimerUpdate 00000018 TimerUpdate +00002888 g F .text.TimerUpdate 00000018 TimerUpdate 00002264 g F .text.IrqInterruptEnable 00000010 IrqInterruptEnable -000025a4 g F .text.TIMER0_ISR 00000038 TIMER0_ISR +000025bc g F .text.TIMER0_ISR 00000038 TIMER0_ISR 0000224c g .text 00000000 _etext -00002898 g F .text.memcpy 0000001c memcpy +000028b0 g F .text.memcpy 0000001c memcpy 40000200 g .text.memcpy 00000000 _bss_start 00002000 g .text 00000000 _startup 0000224c g F .init 00000000 _init 000023b4 g F .text.BootActivate 00000034 BootActivate 40000200 g .text.memcpy 00000000 _bss_end 00002040 g .text 00000000 Reset_Handler -00002770 g F .text.LedInit 00000020 LedInit +00002788 g F .text.LedInit 00000020 LedInit 000020d8 g F .text 00000000 .hidden __aeabi_idiv 00002220 w F .text 00000004 .hidden __aeabi_ldiv0 -000025e8 g F .text.main 00000188 main +00002600 g F .text.main 00000188 main 40003edc g *ABS* 00000000 _stack_end 000020d8 g F .text 00000128 .hidden __divsi3 00002274 g F .text.BootComInit 00000140 BootComInit -000025e0 g F .text.FIQ_ISR 00000004 FIQ_ISR +000025f8 g F .text.FIQ_ISR 00000004 FIQ_ISR 00002258 g F .fini 00000000 _fini 40000200 g .text.memcpy 00000000 _data -00002790 g F .text.LedToggle 00000088 LedToggle +000027a8 g F .text.LedToggle 00000088 LedToggle 40000200 g .text.memcpy 00000000 _edata 40000200 g .text.memcpy 00000000 _end -000025e4 g F .text.UNDEF_ISR 00000004 UNDEF_ISR -000025dc g F .text.SWI_ISR 00000004 SWI_ISR -000023e8 g F .text.BootComCheckActivationRequest 000001bc BootComCheckActivationRequest +000025fc g F .text.UNDEF_ISR 00000004 UNDEF_ISR +000025f4 g F .text.SWI_ISR 00000004 SWI_ISR +000023e8 g F .text.BootComCheckActivationRequest 000001d4 BootComCheckActivationRequest 00002220 w F .text 00000004 .hidden __aeabi_idiv0 -00002888 g F .text.TimerGet 00000010 TimerGet +000028a0 g F .text.TimerGet 00000010 TimerGet 00002200 g F .text 00000020 .hidden __aeabi_idivmod -00002818 g F .text.TimerInit 00000058 TimerInit +00002830 g F .text.TimerInit 00000058 TimerInit diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.srec b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.srec index 736d7721..8779d462 100755 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.srec +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/bin/demoprog_olimex_lpc_l2294_20mhz.srec @@ -1,8 +1,8 @@ S02B000062696E2F64656D6F70726F675F6F6C696D65785F6C70635F6C323239345F32306D687A2E73726563FD S113200018F09FE518F09FE518F09FE518F09FE59C S113201018F09FE50000A0E1F0FF1FE518F09FE530 -S113202040200000E4250000DC250000E425000039 -S1132030E42500000000000000000000E02500008E +S113202040200000FC250000F4250000FC250000F1 +S1132030FC2500000000000000000000F82500005E S113204078009FE5DBF021E300D0A0E1010C40E241 S1132050D7F021E300D0A0E1010C40E2D1F021E36C S113206000D0A0E1010C40E2D2F021E300D0A0E1D5 @@ -10,7 +10,7 @@ S1132070010C40E2D3F021E300D0A0E1010C40E2E6 S1132080DFF021E300D0A0E134109FE534209FE588 S113209034309FE5030052E104009134040082349B S11320A0FBFFFF3A0000A0E320109FE520209FE5FE -S11320B0020051E104008134FCFFFF3A490100EAC7 +S11320B0020051E104008134FCFFFF3A4F0100EAC1 S11320C0DC3E00404C2200000002004000020040C0 S11320D00002004000020040000051E34300000AF7 S11320E001C020E000106142012051E22700000AF3 @@ -63,86 +63,88 @@ S11323B40E32A0E3012BA0E3042083E50320A0E371 S11323C40020C3E55520E0E30820C3E55510A0E34D S11323D40810C3E50820C3E50020A0E30820C3E5F2 S10723E41EFF2FE1C4 -S11323E810402DE98C319FE50030D3E5000053E31C -S11323F81600001A80319FE51430D3E5010013E379 -S11324083500000A70319FE50030D3E5FF3003E260 -S113241868219FE50030C2E5000053E32E00000A5E -S11324285C319FE50FE0A0E113FF2FE154319FE5F4 -S1132438000083E50120A0E338319FE50020C3E5CF -S11324480020A0E340319FE50020C3E5220000EA14 -S113245824319FE51430D3E5010013E33A00000A60 -S113246824119FE50030D1E50C219FE500C0D2E599 -S113247808219FE5030082E001C0C0E5013083E242 +S11323E810402DE9A4319FE50030D3E5000053E304 +S11323F81600001A98319FE51430D3E5010013E361 +S11324083500000A88319FE50030D3E5FF3003E248 +S113241880219FE50030C2E5000053E32E00000A46 +S113242874319FE50FE0A0E113FF2FE16C319FE5C4 +S1132438000083E50120A0E350319FE50020C3E5B7 +S11324480020A0E358319FE50020C3E5220000EAFC +S11324583C319FE51430D3E5010013E33D00000A45 +S11324683C119FE50030D1E524219FE500C0D2E569 +S113247820219FE5030082E001C0C0E5013083E22A S1132488FF3003E20030C1E50020D2E5030052E149 -S11324981100001A0020A0E3D8309FE50020C3E50E -S11324A8D8309FE50130D3E5FF0053E30A00001A52 -S11324B8C8309FE50230D3E5020053E10600001A54 -S11324C8C8309FE50FE0A0E113FF2FE1020000EA06 -S11324D80020A0E39C309FE50020C3E5B0309FE5D1 -S11324E81C3093E5010013E32000000AA0309FE5A7 -S11324F8242093E59C309FE5030052E11B00001A59 -S11325088C109FE5283091E5282091E50400A0E38C -S1132518040081E52224A0E1FF0012E30120A003C6 -S11325280020A013FF3003E2FF0053E30030A013A0 -S113253801300202000053E30C00000A4C309FE50E -S11325480FE0A0E113FF2FE1080000EA30309FE517 -S11325580FE0A0E113FF2FE128309FE5003093E559 -S1132568643083E2030050E1D8FFFF8ADAFFFFEA10 -S11325781040BDE81EFF2FE14202004000C000E009 -S11325880002004088280000440200404102004044 -S10F2598B4230000004004E067060000CB -S11325A404E04EE20F502DE90120A0E31C309FE526 -S11325B4002083E50020A0E30030E0E3CF2F03E50F -S11325C40C309FE50FE0A0E113FF2FE10F90FDE82D -S10B25D4004000E07028000043 -S10725DCFEFFFFEA11 -S10725E0FEFFFFEA0D -S10725E4FEFFFFEA09 -S11325E804E02DE50CD04DE20420A0E34C119FE556 -S11325F802008DE048319FE50FE0A0E113FF2FE1D1 -S11326080430DDE5832263E0023183E0033263E0D2 -S11326180333A0E1263A43E2163E43E224219FE530 -S1132628020053E11000009A04108DE20120A0E397 -S113263810019FE50130F1E583C263E00C3183E0CA -S1132648033263E00333A0E1263A43E2163E43E251 -S1132658000053E10500009A012082E2FF2002E213 -S1132668040052E3F2FFFF1A000000EA0020A0E38E -S11326788232A0E1023083E3FF3003E2C8209FE501 -S11326888430C2E55510E0E38C10C2E55530A0E370 -S11326988C30C2E50100A0E38000C2E58C10C2E5DD -S11326A88C30C2E50230A0E1B828D3E1010B12E373 -S11326B8FCFFFF0A90309FE50320A0E38020C3E5D8 -S11326C85520E0E38C20C3E55520A0E38C20C3E526 -S11326D80020A0E30020C3E50420A0E30420C3E510 -S11326E80220A0E30020C3E50120A0E3013C83E22B -S11326F80020C3E554309FE50FE0A0E113FF2FE16C -S11327084C309FE50FE0A0E113FF2FE144309FE533 -S11327180FE0A0E113FF2FE13C309FE50FE0A0E1BB -S113272813FF2FE134509FE534409FE50FE0A0E10B -S113273815FF2FE10FE0A0E114FF2FE1FAFFFFEAF4 -S11327482422000098280000A080020000C01FE096 -S1132758702700001828000064220000742200007A -S10B276890270000E8230000A3 -S113277014309FE5182093E5022582E3182083E5B1 -S11327800225A0E3142083E51EFF2FE1008002E070 -S113279010402DE96C309FE50FE0A0E113FF2FE11D -S11327A064309FE5003093E5003063E07D0F53E330 -S11327B01200003A54309FE50030D3E5000053E3A3 -S11327C00600001A0120A0E340309FE50020C3E585 -S11327D00225A0E338309FE51C2083E5050000EACC -S11327E00020A0E324309FE50020C3E50225A0E3F8 -S11327F01C309FE5142083E50C309FE5000083E541 -S11328001040BDE81EFF2FE1882800004802004068 -S10B28104C020040008002E0CC -S113281840309FE540209FE5182083E50320A0E38E -S1132828142083E50120A0E3042083E50030E0E3DD -S113283828209FE5FF2E03E52420A0E3FF2D03E5D0 -S11328481020A0E3EF2F03E50020A0E310309FE55C -S1132858002083E51EFF2FE1004000E05FEA00004E -S10B2868A42500005002004009 -S11328700C209FE5003092E5013083E2003082E5D0 -S10B28801EFF2FE1500200408D -S113288804309FE5000093E51EFF2FE1500200404D -S1132898013040E2022081E0020051E101C0D1147C -S10F28A801C0E315FBFFFF1A1EFF2FE127 +S11324981100001A0020A0E3F0309FE50020C3E5F6 +S11324A8F0309FE50130D3E5FF0053E30A00001A3A +S11324B8E0309FE50230D3E5020053E10600001A3C +S11324C8E0309FE50FE0A0E113FF2FE1020000EAEE +S11324D80020A0E3B4309FE50020C3E5C8309FE5A1 +S11324E81C3093E5010013E32600000AB8309FE589 +S11324F8242093E5203093E5000053E3022182B3BE +S1132508A8309FE5030052E11B00001A98109FE5CC +S1132518283091E5282091E50400A0E3040081E532 +S11325282224A0E1FF0012E30120A0030020A0134D +S1132538FF3003E2FF0053E30030A013013002022E +S1132548000053E30F00000A58309FE50FE0A0E1B4 +S113255813FF2FE10B0000EA3C309FE50FE0A0E1F8 +S113256813FF2FE134309FE5003093E5643083E2B4 +S1132578030050E1D5FFFF8AD7FFFFEA0420A0E358 +S113258824309FE5042083E51040BDE81EFF2FE1B9 +S11325984202004000C000E000020040A028000001 +S11325A84402004041020040B4230000004004E01B +S10725B867060000AE +S11325BC04E04EE20F502DE90120A0E31C309FE50E +S11325CC002083E50020A0E30030E0E3CF2F03E5F7 +S11325DC0C309FE50FE0A0E113FF2FE10F90FDE815 +S10B25EC004000E08828000013 +S10725F4FEFFFFEAF9 +S10725F8FEFFFFEAF5 +S10725FCFEFFFFEAF1 +S113260004E02DE50CD04DE20420A0E34C119FE53D +S113261002008DE048319FE50FE0A0E113FF2FE1B8 +S11326200430DDE5832263E0023183E0033263E0BA +S11326300333A0E1263A43E2163E43E224219FE518 +S1132640020053E11000009A04108DE20120A0E37F +S113265010019FE50130F1E583C263E00C3183E0B2 +S1132660033263E00333A0E1263A43E2163E43E239 +S1132670000053E10500009A012082E2FF2002E2FB +S1132680040052E3F2FFFF1A000000EA0020A0E376 +S11326908232A0E1023083E3FF3003E2C8209FE5E9 +S11326A08430C2E55510E0E38C10C2E55530A0E358 +S11326B08C30C2E50100A0E38000C2E58C10C2E5C5 +S11326C08C30C2E50230A0E1B828D3E1010B12E35B +S11326D0FCFFFF0A90309FE50320A0E38020C3E5C0 +S11326E05520E0E38C20C3E55520A0E38C20C3E50E +S11326F00020A0E30020C3E50420A0E30420C3E5F8 +S11327000220A0E30020C3E50120A0E3013C83E212 +S11327100020C3E554309FE50FE0A0E113FF2FE153 +S11327204C309FE50FE0A0E113FF2FE144309FE51B +S11327300FE0A0E113FF2FE13C309FE50FE0A0E1A3 +S113274013FF2FE134509FE534409FE50FE0A0E1F3 +S113275015FF2FE10FE0A0E114FF2FE1FAFFFFEADC +S113276024220000B0280000A080020000C01FE066 +S11327708827000030280000642200007422000032 +S10B2780A8270000E823000073 +S113278814309FE5182093E5022582E3182083E599 +S11327980225A0E3142083E51EFF2FE1008002E058 +S11327A810402DE96C309FE50FE0A0E113FF2FE105 +S11327B864309FE5003093E5003063E07D0F53E318 +S11327C81200003A54309FE50030D3E5000053E38B +S11327D80600001A0120A0E340309FE50020C3E56D +S11327E80225A0E338309FE51C2083E5050000EAB4 +S11327F80020A0E324309FE50020C3E50225A0E3E0 +S11328081C309FE5142083E50C309FE5000083E528 +S11328181040BDE81EFF2FE1A02800004802004038 +S10B28284C020040008002E0B4 +S113283040309FE540209FE5182083E50320A0E376 +S1132840142083E50120A0E3042083E50030E0E3C5 +S113285028209FE5FF2E03E52420A0E3FF2D03E5B8 +S11328601020A0E3EF2F03E50020A0E310309FE544 +S1132870002083E51EFF2FE1004000E05FEA000036 +S10B2880BC25000050020040D9 +S11328880C209FE5003092E5013083E2003082E5B8 +S10B28981EFF2FE15002004075 +S11328A004309FE5000093E51EFF2FE15002004035 +S11328B0013040E2022081E0020051E101C0D11464 +S10F28C001C0E315FBFFFF1A1EFF2FE10F S9032000DC diff --git a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c index 769d8507..a7b48568 100644 --- a/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c +++ b/Target/Demo/ARM7_LPC2000_Olimex_LPC_L2294_GCC/Prog/boot.c @@ -275,6 +275,8 @@ static unsigned char UartReceiveByte(unsigned char *data) #define CAN_TR (0x01) /** \brief Select tx buffer 1 for transmit. */ #define CAN_STB1 (0x20) +/** \brief Frame format bit. 0 for 11-bit and 1 for 29-bit CAN identifiers. */ +#define CAN_FF (0x80000000) /**************************************************************************************** @@ -395,29 +397,44 @@ static void BootComCanInit(void) ****************************************************************************************/ static void BootComCanCheckActivationRequest(void) { + unsigned long rxMsgId; unsigned char data[2]; + unsigned char idMatchFound = 0; /* check if a new message was received */ if ((CAN1SR & CAN_RBS) == 0) { return; } - /* see if this is the message identifier that we are interested in */ - if (CAN1RID != BOOT_COM_CAN_RX_MSG_ID) + /* read out the CAN message identifier */ + rxMsgId = CAN1RID; + /* was is a 29-bit extended CAN identifier? */ + if ((CAN1RFS & CAN_FF) != 0) { - return; + /* set mask bit. */ + rxMsgId |= 0x80000000; + } + /* see if this is the message identifier that we are interested in */ + if (rxMsgId == BOOT_COM_CAN_RX_MSG_ID) + { + /* store the message data */ + data[0] = (unsigned char)CAN1RDA; + data[1] = (unsigned char)(CAN1RDA >> 8); + /* set matched flag. */ + idMatchFound = 1; } - /* store the message data */ - data[0] = (unsigned char)CAN1RDA; - data[1] = (unsigned char)(CAN1RDA >> 8); /* release the receive buffer */ CAN1CMR = CAN_RRB; - /* check if this was an XCP CONNECT command */ - if ((data[0] == 0xff) && (data[1] == 0x00)) + /* check if a match was found. */ + if (idMatchFound == 1) { - /* connection request received so start the bootloader */ - BootActivate(); - } + /* check if this was an XCP CONNECT command */ + if ((data[0] == 0xff) && (data[1] == 0x00)) + { + /* connection request received so start the bootloader */ + BootActivate(); + } + } } /*** end of BootComCanCheckActivationRequest ***/ #endif /* BOOT_COM_CAN_ENABLE > 0 */ diff --git a/Target/Source/ARM7_LPC2000/can.c b/Target/Source/ARM7_LPC2000/can.c index ec7baba5..726758cc 100644 --- a/Target/Source/ARM7_LPC2000/can.c +++ b/Target/Source/ARM7_LPC2000/can.c @@ -49,6 +49,8 @@ #define CAN_TR (0x01) /** \brief Select tx buffer 1 for transmit bit. */ #define CAN_STB1 (0x20) +/** \brief Frame format bit. 0 for 11-bit and 1 for 29-bit CAN identifiers. */ +#define CAN_FF (0x80000000) /**************************************************************************************** @@ -76,6 +78,8 @@ #define CAN1CMR (*((volatile blt_int32u *) 0xE0044004)) /** \brief CAN1SR CAN controller register. */ #define CAN1SR (*((volatile blt_int32u *) 0xE004401C)) +/** \brief CAN1RFS CAN controller register. */ +#define CAN1RFS (*((volatile blt_int32u *) 0xE0044020)) /** \brief CAN1RID CAN controller register. */ #define CAN1RID (*((volatile blt_int32u *) 0xE0044024)) /** \brief CAN1RDA CAN controller register. */ @@ -216,6 +220,14 @@ void CanTransmitPacket(blt_int8u *data, blt_int8u len) CAN1TFI1 = (len << 16); /* write the message identifier */ CAN1TID1 = BOOT_COM_CAN_TX_MSG_ID; + /* is it a 29-bit CAN identifier? */ + if ( (BOOT_COM_CAN_TX_MSG_ID & 0x80000000) != 0) + { + /* configure identifier as 29-bit extended. */ + CAN1TFI1 |= CAN_FF; + /* Reset the mask bit. */ + CAN1TID1 &= ~0x80000000; + } /* write the first set of 4 data bytes */ CAN1TDA1 = (data[3] << 24) + (data[2] << 16) + (data[1] << 8) + data[0]; /* write the second set of 4 data bytes */ @@ -239,29 +251,40 @@ void CanTransmitPacket(blt_int8u *data, blt_int8u len) ****************************************************************************************/ blt_bool CanReceivePacket(blt_int8u *data) { + blt_int32u rxMsgId; + blt_bool result = BLT_FALSE; + /* check if a new message was received */ - if ((CAN1SR & CAN_RBS) == 0) + if ((CAN1SR & CAN_RBS) != 0) { - return BLT_FALSE; + /* read out the CAN message identifier */ + rxMsgId = CAN1RID; + /* was is a 29-bit extended CAN identifier? */ + if ((CAN1RFS & CAN_FF) != 0) + { + /* set mask bit. */ + rxMsgId |= 0x80000000; + } + /* see if this is the message identifier that we are interested in */ + if (rxMsgId == BOOT_COM_CAN_RX_MSG_ID) + { + /* store the message data */ + data[0] = (blt_int8u)CAN1RDA; + data[1] = (blt_int8u)(CAN1RDA >> 8); + data[2] = (blt_int8u)(CAN1RDA >> 16); + data[3] = (blt_int8u)(CAN1RDA >> 24); + data[4] = (blt_int8u)CAN1RDB; + data[5] = (blt_int8u)(CAN1RDB >> 8); + data[6] = (blt_int8u)(CAN1RDB >> 16); + data[7] = (blt_int8u)(CAN1RDB >> 24); + /* update the result. */ + result = BLT_TRUE; + } + /* release the receive buffer */ + CAN1CMR = CAN_RRB; } - /* see if this is the message identifier that we are interested in */ - if (CAN1RID != BOOT_COM_CAN_RX_MSG_ID) - { - return BLT_FALSE; - } - /* store the message data */ - data[0] = (blt_int8u)CAN1RDA; - data[1] = (blt_int8u)(CAN1RDA >> 8); - data[2] = (blt_int8u)(CAN1RDA >> 16); - data[3] = (blt_int8u)(CAN1RDA >> 24); - data[4] = (blt_int8u)CAN1RDB; - data[5] = (blt_int8u)(CAN1RDB >> 8); - data[6] = (blt_int8u)(CAN1RDB >> 16); - data[7] = (blt_int8u)(CAN1RDB >> 24); - /* release the receive buffer */ - CAN1CMR = CAN_RRB; - /* inform called that a new data was received */ - return BLT_TRUE; + /* give the result back to the caller. */ + return result; } /*** end of CanReceivePacket ***/ #endif /* BOOT_COM_CAN_ENABLE > 0 */