William Reynolds
/
LPC_Bootloader
ID.cpp@0:15536fa79743, 2011-09-27 (annotated)
- Committer:
- daugihao
- Date:
- Tue Sep 27 15:44:55 2011 +0000
- Revision:
- 0:15536fa79743
- Child:
- 1:0872c208795f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
daugihao | 0:15536fa79743 | 1 | #include "mbed.h" |
daugihao | 0:15536fa79743 | 2 | #include "LPC.h" |
daugihao | 0:15536fa79743 | 3 | //Function to document the relevant information on LPC chips to load onto |
daugihao | 0:15536fa79743 | 4 | int SerialBuffered::IDCheck(int idcode) { |
daugihao | 0:15536fa79743 | 5 | switch (idcode) { |
daugihao | 0:15536fa79743 | 6 | //Cortex M3 - LPC17xx |
daugihao | 0:15536fa79743 | 7 | case 638664503: |
daugihao | 0:15536fa79743 | 8 | strcpy(strChipType, "LPC1769 - Cortex M3"); |
daugihao | 0:15536fa79743 | 9 | lastSector = 29; |
daugihao | 0:15536fa79743 | 10 | break; |
daugihao | 0:15536fa79743 | 11 | case 637615927: |
daugihao | 0:15536fa79743 | 12 | strcpy(strChipType, "LPC1768 - Cortex M3"); |
daugihao | 0:15536fa79743 | 13 | lastSector = 29; |
daugihao | 0:15536fa79743 | 14 | break; |
daugihao | 0:15536fa79743 | 15 | case 637610039: |
daugihao | 0:15536fa79743 | 16 | strcpy(strChipType, "LPC1767 - Cortex M3"); |
daugihao | 0:15536fa79743 | 17 | lastSector = 29; |
daugihao | 0:15536fa79743 | 18 | break; |
daugihao | 0:15536fa79743 | 19 | case 637615923: |
daugihao | 0:15536fa79743 | 20 | strcpy(strChipType, "LPC1766 - Cortex M3"); |
daugihao | 0:15536fa79743 | 21 | lastSector = 21; |
daugihao | 0:15536fa79743 | 22 | break; |
daugihao | 0:15536fa79743 | 23 | case 637613875: |
daugihao | 0:15536fa79743 | 24 | strcpy(strChipType, "LPC1765 - Cortex M3"); |
daugihao | 0:15536fa79743 | 25 | lastSector = 21; |
daugihao | 0:15536fa79743 | 26 | break; |
daugihao | 0:15536fa79743 | 27 | case 637606178: |
daugihao | 0:15536fa79743 | 28 | strcpy(strChipType, "LPC1764 - Cortex M3"); |
daugihao | 0:15536fa79743 | 29 | lastSector = 17; |
daugihao | 0:15536fa79743 | 30 | break; |
daugihao | 0:15536fa79743 | 31 | case 621885239: |
daugihao | 0:15536fa79743 | 32 | strcpy(strChipType, "LPC1759 - Cortex M3"); |
daugihao | 0:15536fa79743 | 33 | lastSector = 29; |
daugihao | 0:15536fa79743 | 34 | break; |
daugihao | 0:15536fa79743 | 35 | case 620838711: |
daugihao | 0:15536fa79743 | 36 | strcpy(strChipType, "LPC1758 - Cortex M3"); |
daugihao | 0:15536fa79743 | 37 | lastSector = 29; |
daugihao | 0:15536fa79743 | 38 | break; |
daugihao | 0:15536fa79743 | 39 | case 620828451: |
daugihao | 0:15536fa79743 | 40 | strcpy(strChipType, "LPC1756 - Cortex M3"); |
daugihao | 0:15536fa79743 | 41 | lastSector = 21; |
daugihao | 0:15536fa79743 | 42 | break; |
daugihao | 0:15536fa79743 | 43 | case 620828450: |
daugihao | 0:15536fa79743 | 44 | strcpy(strChipType, "LPC1754 - Cortex M3"); |
daugihao | 0:15536fa79743 | 45 | lastSector = 17; |
daugihao | 0:15536fa79743 | 46 | break; |
daugihao | 0:15536fa79743 | 47 | case 620761377: |
daugihao | 0:15536fa79743 | 48 | strcpy(strChipType, "LPC1752 - Cortex M3"); |
daugihao | 0:15536fa79743 | 49 | lastSector = 15; |
daugihao | 0:15536fa79743 | 50 | break; |
daugihao | 0:15536fa79743 | 51 | case 620761368: |
daugihao | 0:15536fa79743 | 52 | strcpy(strChipType, "LPC1751 - Cortex M3"); |
daugihao | 0:15536fa79743 | 53 | lastSector = 7; |
daugihao | 0:15536fa79743 | 54 | break; |
daugihao | 0:15536fa79743 | 55 | case 620761131: |
daugihao | 0:15536fa79743 | 56 | strcpy(strChipType, "LPC1102 - Cortex M0"); |
daugihao | 0:15536fa79743 | 57 | lastSector = 7; |
daugihao | 0:15536fa79743 | 58 | break; |
daugihao | 0:15536fa79743 | 59 | //Cortex M0 - LPC111x |
daugihao | 0:15536fa79743 | 60 | case 0x041E502B: |
daugihao | 0:15536fa79743 | 61 | strcpy(strChipType, "LPC1111FHN33/101 - Cortex M0"); |
daugihao | 0:15536fa79743 | 62 | lastSector = 1; |
daugihao | 0:15536fa79743 | 63 | break; |
daugihao | 0:15536fa79743 | 64 | case 0x2516D02B: |
daugihao | 0:15536fa79743 | 65 | strcpy(strChipType, "LPC1111FHN33/102 - Cortex M0"); |
daugihao | 0:15536fa79743 | 66 | lastSector = 1; |
daugihao | 0:15536fa79743 | 67 | break; |
daugihao | 0:15536fa79743 | 68 | case 0x0416502B: |
daugihao | 0:15536fa79743 | 69 | strcpy(strChipType, "LPC1111FHN33/201 - Cortex M0"); |
daugihao | 0:15536fa79743 | 70 | lastSector = 1; |
daugihao | 0:15536fa79743 | 71 | break; |
daugihao | 0:15536fa79743 | 72 | case 0x2516902B: |
daugihao | 0:15536fa79743 | 73 | strcpy(strChipType, "LPC1111FHN33/202 - Cortex M0"); |
daugihao | 0:15536fa79743 | 74 | lastSector = 1; |
daugihao | 0:15536fa79743 | 75 | break; |
daugihao | 0:15536fa79743 | 76 | case 0x042D502B: |
daugihao | 0:15536fa79743 | 77 | strcpy(strChipType, "LPC1112FHN33/101 - Cortex M0"); |
daugihao | 0:15536fa79743 | 78 | lastSector = 3; |
daugihao | 0:15536fa79743 | 79 | break; |
daugihao | 0:15536fa79743 | 80 | case 0x2524D02B: |
daugihao | 0:15536fa79743 | 81 | strcpy(strChipType, "LPC1112FHN33/102 - Cortex M0"); |
daugihao | 0:15536fa79743 | 82 | lastSector = 3; |
daugihao | 0:15536fa79743 | 83 | break; |
daugihao | 0:15536fa79743 | 84 | case 0x0425502B: |
daugihao | 0:15536fa79743 | 85 | strcpy(strChipType, "LPC1112FHN33/201 - Cortex M0"); |
daugihao | 0:15536fa79743 | 86 | lastSector = 3; |
daugihao | 0:15536fa79743 | 87 | break; |
daugihao | 0:15536fa79743 | 88 | case 0x2524902B: |
daugihao | 0:15536fa79743 | 89 | strcpy(strChipType, "LPC1112FHN33/202 - Cortex M0"); |
daugihao | 0:15536fa79743 | 90 | lastSector = 3; |
daugihao | 0:15536fa79743 | 91 | break; |
daugihao | 0:15536fa79743 | 92 | case 0x0434502B: |
daugihao | 0:15536fa79743 | 93 | strcpy(strChipType, "LPC1113FHN33/201 - Cortex M0"); |
daugihao | 0:15536fa79743 | 94 | lastSector = 5; |
daugihao | 0:15536fa79743 | 95 | break; |
daugihao | 0:15536fa79743 | 96 | case 0x2532902B: |
daugihao | 0:15536fa79743 | 97 | strcpy(strChipType, "LPC1113FHN33/202 - Cortex M0"); |
daugihao | 0:15536fa79743 | 98 | lastSector = 5; |
daugihao | 0:15536fa79743 | 99 | break; |
daugihao | 0:15536fa79743 | 100 | case 0x0434102B: |
daugihao | 0:15536fa79743 | 101 | strcpy(strChipType, "LPC1113FHN33/301 OR LPC1113FBD48/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 102 | lastSector = 5; |
daugihao | 0:15536fa79743 | 103 | break; |
daugihao | 0:15536fa79743 | 104 | case 0x2532102B: |
daugihao | 0:15536fa79743 | 105 | strcpy(strChipType, "LPC1113FHN33/302 OR LPC1113FBD48/302 - Cortex M0"); |
daugihao | 0:15536fa79743 | 106 | lastSector = 5; |
daugihao | 0:15536fa79743 | 107 | break; |
daugihao | 0:15536fa79743 | 108 | case 0x0444502B: |
daugihao | 0:15536fa79743 | 109 | strcpy(strChipType, "LPC1114FHN33/201 - Cortex M0"); |
daugihao | 0:15536fa79743 | 110 | lastSector = 7; |
daugihao | 0:15536fa79743 | 111 | break; |
daugihao | 0:15536fa79743 | 112 | case 0x2540902B: |
daugihao | 0:15536fa79743 | 113 | strcpy(strChipType, "LPC1114FHN33/202 - Cortex M0"); |
daugihao | 0:15536fa79743 | 114 | lastSector = 7; |
daugihao | 0:15536fa79743 | 115 | break; |
daugihao | 0:15536fa79743 | 116 | case 0x0444102B: |
daugihao | 0:15536fa79743 | 117 | strcpy(strChipType, "LPC1114FHN33/301 OR LPC1114FBD48/301 OR LPC1114FA44/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 118 | lastSector = 7; |
daugihao | 0:15536fa79743 | 119 | break; |
daugihao | 0:15536fa79743 | 120 | case 0x2540102B: |
daugihao | 0:15536fa79743 | 121 | strcpy(strChipType, "LPC1114FHN33/302 OR LPC1114FBD48/302 OR LPC1114FA44/302 - Cortex M0"); |
daugihao | 0:15536fa79743 | 122 | lastSector = 7; |
daugihao | 0:15536fa79743 | 123 | break; |
daugihao | 0:15536fa79743 | 124 | //Cortex M0 - LPC11Cxx |
daugihao | 0:15536fa79743 | 125 | case 0x1421102B: |
daugihao | 0:15536fa79743 | 126 | strcpy(strChipType, "LPC11C12FBD48/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 127 | lastSector = 3; |
daugihao | 0:15536fa79743 | 128 | break; |
daugihao | 0:15536fa79743 | 129 | case 0x1440102B: |
daugihao | 0:15536fa79743 | 130 | strcpy(strChipType, "LPC11C14FBD48/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 131 | lastSector = 7; |
daugihao | 0:15536fa79743 | 132 | break; |
daugihao | 0:15536fa79743 | 133 | case 0x1431102B: |
daugihao | 0:15536fa79743 | 134 | strcpy(strChipType, "LPC11C22FBD48/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 135 | lastSector = 3; |
daugihao | 0:15536fa79743 | 136 | break; |
daugihao | 0:15536fa79743 | 137 | case 0x1430102B: |
daugihao | 0:15536fa79743 | 138 | strcpy(strChipType, "LPC11C24FBD48/301 - Cortex M0"); |
daugihao | 0:15536fa79743 | 139 | lastSector = 7; |
daugihao | 0:15536fa79743 | 140 | break; |
daugihao | 0:15536fa79743 | 141 | |
daugihao | 0:15536fa79743 | 142 | default: |
daugihao | 0:15536fa79743 | 143 | strcpy(strChipType, "\n\rUnrecognised chip! Please add into the \"CheckTargetPresent\" function the chip's relevant information.\r\n\n"); |
daugihao | 0:15536fa79743 | 144 | exit(0); |
daugihao | 0:15536fa79743 | 145 | } |
daugihao | 0:15536fa79743 | 146 | return 0; |
daugihao | 0:15536fa79743 | 147 | } |