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
This commit is contained in:
Frank Voorburg 2017-08-16 16:48:49 +00:00
parent 2048d05961
commit 299b6d2daf
8 changed files with 308 additions and 265 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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 */