Bổ sung post trước.
Mình đã chỉnh linker script để giới hạn vùng program memory lại. Nhưng cũng chẳng mấy khác (sau khi so sánh file hex) vì chương trình mình dùng để test rất ngắn như sau:
Code:
#include <xc.h>
#include <libpic30.h>
// Configuration settings
_FOSC(CSW_FSCM_OFF & XT_PLL16); // Fosc=16x7.5MHz, i.e. 30 MIPS
_FWDT(WDT_OFF); // Watchdog timer off
_FBORPOR(PWRT_OFF & MCLR_DIS); // Disable reset pin
_FGS(GWRP_OFF & CODE_PROT_OFF);
_FICD(PGD);
int main(void)
{
// Make RD0 a digital output
_TRISE0 = 0;
_TRISE1=0;
// Blink LED on RD0
while(1)
{
_LATE0 = 1;
_LATE1=0;
__delay32(15000000);
_LATE0 = 0;
_LATE1 = 1;
__delay32(15000000);
}
}
File Hex sau khi biên dịch bằng XC16 có cấu trúc sau:
Code:
Line Address PSV Address Data Opcode Label Disassembly
1 0000 ---- ---- 040100 goto 0x000100
2 0002 ---- ---- 000000 nop
3 .................................................
.......................................................
129 0100 ---- ---- 20800F mov.w #0x800,w15
130 0102 ---- ---- 20FF0E mov.w #0xff0,w14
131 0104 ---- ---- 88010E mov.w w14,0x0020
132 0106 ---- ---- 000000 nop
133 0108 ---- ---- 200000 mov.w #0x0,w0
134 010A ---- ---- E00000 cp0.w w0
135 010C ---- ---- 320002 bra z, 0x000112
136 010E ---- ---- 200100 mov.w #0x10,w0
137 0110 ---- ---- 880220 mov.w w0,0x0044
138 0112 ---- ---- 07000C rcall 0x00012c
139 0114 ---- ---- 201D60 mov.w #0x1d6,w0
140 0116 ---- ---- 200001 mov.w #0x0,w1
141 0118 ---- ---- 070011 rcall 0x00013c
142 011A ---- ---- 200000 mov.w #0x0,w0
143 011C ---- ---- E00000 cp0.w w0
144 011E ---- ---- 320002 bra z, 0x000124
145 0120 ---- ---- 020000 call 0x000000
146 0122 ---- ---- 000000 nop
147 0124 ---- ---- 02019E call 0x00019e
148 0126 ---- ---- 000000 nop
149 0128 ---- ---- DA4000 ReservedBR
150 012A ---- ---- FE0000 reset
151 012C ---- ---- A94044 bclr.b 0x0044,#2
152 012E ---- ---- 200000 mov.w #0x0,w0
153 0130 ---- ---- E00000 cp0.w w0
154 0132 ---- ---- 320003 bra z, 0x00013a
155 0134 ---- ---- 200000 mov.w #0x0,w0
156 0136 ---- ---- 8801A0 mov.w w0,0x0034
157 0138 ---- ---- A84044 bset.b 0x0044,#2
158 013A ---- ---- 060000 return
159 013C ---- ---- 880191 mov.w w1,0x0032
160 013E ---- ---- 780080 mov.w w0,w1
161 0140 ---- ---- EB0000 clr.w w0
162 0142 ---- ---- 370015 bra 0x00016e
163 0144 ---- ---- 4080E2 add.w w1,#2,w1
164 0146 ---- ---- B4A032 addc.w 0x0032
165 0148 ---- ---- BA0191 tblrdl.w [w1],w3
166 014A ---- ---- 4080E2 add.w w1,#2,w1
167 014C ---- ---- B4A032 addc.w 0x0032
168 014E ---- ---- BA0291 tblrdl.w [w1],w5
169 0150 ---- ---- 4080E2 add.w w1,#2,w1
170 0152 ---- ---- B4A032 addc.w 0x0032
171 0154 ---- ---- EB0200 clr.w w4
172 0156 ---- ---- DE2B47 lsr w5,#7,w6
173 0158 ---- ---- B207F5 and.w #0x7f,w5
174 015A ---- ---- E12C60 cp.b w5,#0
175 015C ---- ---- 3A0004 bra nz, 0x000166
176 015E ---- ---- EB5900 clr.b [w2++]
177 0160 ---- ---- E90183 dec.w w3,w3
178 0162 ---- ---- 3EFFFD bra gtu, 0x00015e
179 0164 ---- ---- 370004 bra 0x00016e
180 0166 ---- ---- E12861 cp.w w5,#1
181 0168 ---- ---- 320001 bra z, 0x00016c
182 016A ---- ---- EB8200 setm.w w4
183 016C ---- ---- 070004 rcall 0x000176
184 016E ---- ---- BA0111 tblrdl.w [w1],w2
185 0170 ---- ---- E00002 cp0.w w2
186 0172 ---- ---- 3AFFE8 bra nz, 0x000144
187 0174 ---- ---- 060000 return
188 0176 ---- ---- BA5931 tblrdl.b [w1++],[w2++]
189 0178 ---- ---- E90183 dec.w w3,w3
190 017A ---- ---- 32000C bra z, 0x000194
191 017C ---- ---- BA5921 tblrdl.b [w1--],[w2++]
192 017E ---- ---- E90183 dec.w w3,w3
193 0180 ---- ---- 320008 bra z, 0x000192
194 0182 ---- ---- E00004 cp0.w w4
195 0184 ---- ---- 3A0003 bra nz, 0x00018c
196 0186 ---- ---- 4080E2 add.w w1,#2,w1
197 0188 ---- ---- B4A032 addc.w 0x0032
198 018A ---- ---- 37FFF5 bra 0x000176
199 018C ---- ---- BAD911 tblrdh.b [w1],[w2++]
200 018E ---- ---- E90183 dec.w w3,w3
201 0190 ---- ---- 3AFFFA bra nz, 0x000186
202 0192 ---- ---- E80081 inc.w w1,w1
203 0194 ---- ---- 4080E1 add.w w1,#1,w1
204 0196 ---- ---- B4A032 addc.w 0x0032
205 0198 ---- ---- 060000 return
206 019A ---- ---- DA4000 ReservedBR
207 019C ---- ---- FE0000 reset
208 019E ---- ---- FA0000 lnk #0x0
209 01A0 ---- ---- A902D8 bclr.b 0x02d8,#0
210 01A2 ---- ---- A922D8 bclr.b 0x02d8,#1
211 01A4 ---- ---- A802DC bset.b 0x02dc,#0
212 01A6 ---- ---- A922DC bclr.b 0x02dc,#1
213 01A8 ---- ---- 2E1C00 mov.w #0xe1c0,w0
214 01AA ---- ---- 200E41 mov.w #0xe4,w1
215 01AC ---- ---- 070006 rcall 0x0001ba
216 01AE ---- ---- A902DC bclr.b 0x02dc,#0
217 01B0 ---- ---- A822DC bset.b 0x02dc,#1
218 01B2 ---- ---- 2E1C00 mov.w #0xe1c0,w0
219 01B4 ---- ---- 200E41 mov.w #0xe4,w1
220 01B6 ---- ---- 070001 rcall 0x0001ba
221 01B8 ---- ---- 37FFF5 bra 0x0001a4
222 01BA ---- ---- B13FF0 sub.w w0,#0x3ff
223 01BC ---- ---- B18001 subb.w w1,#0x0
224 01BE ---- ---- 350006 bra lts, 0x0001cc
225 01C0 ---- ---- 0903EE repeat #1006
226 01C2 ---- ---- 000000 nop
227 01C4 ---- ---- B13F40 sub.w w0,#0x3f4
228 01C6 ---- ---- B18001 subb.w w1,#0x0
229 01C8 ---- ---- 3DFFFB bra ges, 0x0001c0
230 01CA ---- ---- B00010 add.w #0x1,w0
231 01CC ---- ---- B03F20 add.w #0x3f2,w0
232 01CE ---- ---- 350002 bra lts, 0x0001d4
233 01D0 ---- ---- 098000 repeat w0
234 01D2 ---- ---- 000000 nop
235 01D4 ---- ---- 060000 return
236 01D6 ---- ---- 000000 nop
Phần sau rỗng (nopr)
Sau khi nạp thành công file hex này dùng tiny bootloader, không thể check PIC được nữa. Mình đọc lại file hex trên chip, và nó như sau:
Code:
Line Address PSV Address Data Opcode Label Disassembly
1 0000 ---- ---- 047F40 goto 0x007f40
2 0002 ---- ---- 000000 nop
.......................................................
..........................................................
129 0100 ---- ---- 20800F mov.w #0x800,w15
130 0102 ---- ---- 20FF0E mov.w #0xff0,w14
131 0104 ---- ---- 88010E mov.w w14,0x0020
132 0106 ---- ---- 000000 nop
133 0108 ---- ---- 200000 mov.w #0x0,w0
134 010A ---- ---- E00000 cp0.w w0
135 010C ---- ---- 320002 bra z, 0x000112
136 010E ---- ---- 200100 mov.w #0x10,w0
137 0110 ---- ---- 880220 mov.w w0,0x0044
138 0112 ---- ---- 07000C rcall 0x00012c
139 0114 ---- ---- 201D60 mov.w #0x1d6,w0
140 0116 ---- ---- 200001 mov.w #0x0,w1
141 0118 ---- ---- 070011 rcall 0x00013c
142 011A ---- ---- 200000 mov.w #0x0,w0
143 011C ---- ---- E00000 cp0.w w0
144 011E ---- ---- 320002 bra z, 0x000124
145 0120 ---- ---- 020000 call 0x000000
146 0122 ---- ---- 000000 nop
147 0124 ---- ---- 02019E call 0x00019e
148 0126 ---- ---- 000000 nop
149 0128 ---- ---- DA4000 ReservedBR
150 012A ---- ---- FE0000 reset
151 012C ---- ---- A94044 bclr.b 0x0044,#2
152 012E ---- ---- 200000 mov.w #0x0,w0
153 0130 ---- ---- E00000 cp0.w w0
154 0132 ---- ---- 320003 bra z, 0x00013a
155 0134 ---- ---- 200000 mov.w #0x0,w0
156 0136 ---- ---- 8801A0 mov.w w0,0x0034
157 0138 ---- ---- A84044 bset.b 0x0044,#2
158 013A ---- ---- 060000 return
159 013C ---- ---- 880191 mov.w w1,0x0032
160 013E ---- ---- 780080 mov.w w0,w1
161 0140 ---- ---- EB0000 clr.w w0
162 0142 ---- ---- 370015 bra 0x00016e
163 0144 ---- ---- 4080E2 add.w w1,#2,w1
164 0146 ---- ---- B4A032 addc.w 0x0032
165 0148 ---- ---- BA0191 tblrdl.w [w1],w3
166 014A ---- ---- 4080E2 add.w w1,#2,w1
167 014C ---- ---- B4A032 addc.w 0x0032
168 014E ---- ---- BA0291 tblrdl.w [w1],w5
169 0150 ---- ---- 4080E2 add.w w1,#2,w1
170 0152 ---- ---- B4A032 addc.w 0x0032
171 0154 ---- ---- EB0200 clr.w w4
172 0156 ---- ---- DE2B47 lsr w5,#7,w6
173 0158 ---- ---- B207F5 and.w #0x7f,w5
174 015A ---- ---- E12C60 cp.b w5,#0
175 015C ---- ---- 3A0004 bra nz, 0x000166
176 015E ---- ---- EB5900 clr.b [w2++]
177 0160 ---- ---- E90183 dec.w w3,w3
178 0162 ---- ---- 3EFFFD bra gtu, 0x00015e
179 0164 ---- ---- 370004 bra 0x00016e
180 0166 ---- ---- E12861 cp.w w5,#1
181 0168 ---- ---- 320001 bra z, 0x00016c
182 016A ---- ---- EB8200 setm.w w4
183 016C ---- ---- 070004 rcall 0x000176
184 016E ---- ---- BA0111 tblrdl.w [w1],w2
185 0170 ---- ---- E00002 cp0.w w2
186 0172 ---- ---- 3AFFE8 bra nz, 0x000144
187 0174 ---- ---- 060000 return
188 0176 ---- ---- BA5931 tblrdl.b [w1++],[w2++]
189 0178 ---- ---- E90183 dec.w w3,w3
190 017A ---- ---- 32000C bra z, 0x000194
191 017C ---- ---- BA5921 tblrdl.b [w1--],[w2++]
192 017E ---- ---- E90183 dec.w w3,w3
193 0180 ---- ---- 320008 bra z, 0x000192
194 0182 ---- ---- E00004 cp0.w w4
195 0184 ---- ---- 3A0003 bra nz, 0x00018c
196 0186 ---- ---- 4080E2 add.w w1,#2,w1
197 0188 ---- ---- B4A032 addc.w 0x0032
198 018A ---- ---- 37FFF5 bra 0x000176
199 018C ---- ---- BAD911 tblrdh.b [w1],[w2++]
200 018E ---- ---- E90183 dec.w w3,w3
201 0190 ---- ---- 3AFFFA bra nz, 0x000186
202 0192 ---- ---- E80081 inc.w w1,w1
203 0194 ---- ---- 4080E1 add.w w1,#1,w1
204 0196 ---- ---- B4A032 addc.w 0x0032
205 0198 ---- ---- 060000 return
206 019A ---- ---- DA4000 ReservedBR
207 019C ---- ---- FE0000 reset
208 019E ---- ---- FA0000 lnk #0x0
209 01A0 ---- ---- A902D8 bclr.b 0x02d8,#0
210 01A2 ---- ---- A922D8 bclr.b 0x02d8,#1
211 01A4 ---- ---- A802DC bset.b 0x02dc,#0
212 01A6 ---- ---- A922DC bclr.b 0x02dc,#1
213 01A8 ---- ---- 2E1C00 mov.w #0xe1c0,w0
214 01AA ---- ---- 200E41 mov.w #0xe4,w1
215 01AC ---- ---- 070006 rcall 0x0001ba
216 01AE ---- ---- A902DC bclr.b 0x02dc,#0
217 01B0 ---- ---- A822DC bset.b 0x02dc,#1
218 01B2 ---- ---- 2E1C00 mov.w #0xe1c0,w0
219 01B4 ---- ---- 200E41 mov.w #0xe4,w1
220 01B6 ---- ---- 070001 rcall 0x0001ba
221 01B8 ---- ---- 37FFF5 bra 0x0001a4
222 01BA ---- ---- B13FF0 sub.w w0,#0x3ff
223 01BC ---- ---- B18001 subb.w w1,#0x0
224 01BE ---- ---- 350006 bra lts, 0x0001cc
225 01C0 ---- ---- 0903EE repeat #1006
226 01C2 ---- ---- 000000 nop
227 01C4 ---- ---- B13F40 sub.w w0,#0x3f4
228 01C6 ---- ---- B18001 subb.w w1,#0x0
229 01C8 ---- ---- 3DFFFB bra ges, 0x0001c0
230 01CA ---- ---- B00010 add.w #0x1,w0
231 01CC ---- ---- B03F20 add.w #0x3f2,w0
232 01CE ---- ---- 350002 bra lts, 0x0001d4
233 01D0 ---- ---- 098000 repeat w0
234 01D2 ---- ---- 000000 nop
235 01D4 ---- ---- 060000 return
236 01D6 ---- ---- 000000 nop
237 01D8 ---- ---- FFFFFF nopr
238 01DA ---- ---- FFFFFF nopr
239 01DC ---- ---- FFFFFF nopr
240 01DE ---- ---- FFFFFF nopr
241 01E0 ---- ---- FFFFFF nopr
242 01E2 ---- ---- FFFFFF nopr
243 01E4 ---- ---- FFFFFF nopr
244 01E6 ---- ---- FFFFFF nopr
245 01E8 ---- ---- FFFFFF nopr
246 01EA ---- ---- FFFFFF nopr
247 01EC ---- ---- FFFFFF nopr
248 01EE ---- ---- FFFFFF nopr
249 01F0 ---- ---- FFFFFF nopr
250 01F2 ---- ---- FFFFFF nopr
251 01F4 ---- ---- FFFFFF nopr
252 01F6 ---- ---- FFFFFF nopr
253 01F8 ---- ---- FFFFFF nopr
254 01FA ---- ---- FFFFFF nopr
255 01FC ---- ---- FFFFFF nopr
256 01FE ---- ---- FFFFFF nopr
...................................................................................
...............Trong đoạn này chỉ là "nop", opcode 000000........................
16257 7F00 ---- ---- FFFFFF nopr
16258 7F02 ---- ---- FFFFFF nopr
16259 7F04 ---- ---- FFFFFF nopr
16260 7F06 ---- ---- FFFFFF nopr
16261 7F08 ---- ---- FFFFFF nopr
16262 7F0A ---- ---- FFFFFF nopr
16263 7F0C ---- ---- FFFFFF nopr
16264 7F0E ---- ---- FFFFFF nopr
16265 7F10 ---- ---- FFFFFF nopr
16266 7F12 ---- ---- FFFFFF nopr
16267 7F14 ---- ---- FFFFFF nopr
16268 7F16 ---- ---- FFFFFF nopr
16269 7F18 ---- ---- FFFFFF nopr
16270 7F1A ---- ---- FFFFFF nopr
16271 7F1C ---- ---- FFFFFF nopr
16272 7F1E ---- ---- FFFFFF nopr
16273 7F20 ---- ---- FFFFFF nopr
16274 7F22 ---- ---- FFFFFF nopr
16275 7F24 ---- ---- FFFFFF nopr
16276 7F26 ---- ---- FFFFFF nopr
16277 7F28 ---- ---- FFFFFF nopr
16278 7F2A ---- ---- FFFFFF nopr
16279 7F2C ---- ---- FFFFFF nopr
16280 7F2E ---- ---- FFFFFF nopr
16281 7F30 ---- ---- FFFFFF nopr
16282 7F32 ---- ---- FFFFFF nopr
16283 7F34 ---- ---- FFFFFF nopr
16284 7F36 ---- ---- FFFFFF nopr
16285 7F38 ---- ---- 040100 goto 0x000100
16286 7F3A ---- ---- 000000 nop
16287 7F3C ---- ---- FFFFFF nopr
16288 7F3E ---- ---- FFFFFF nopr
16289 7F40 ---- ---- 2088CF mov.w #0x88c,w15
16290 7F42 ---- ---- 20FF00 mov.w #0xff0,w0
16291 7F44 ---- ---- 880100 mov.w w0,0x0020
16292 7F46 ---- ---- 000000 nop
16293 7F48 ---- ---- 280000 mov.w #0x8000,w0
16294 7F4A ---- ---- 8810B0 mov.w w0,0x0216
16295 7F4C ---- ---- 204000 mov.w #0x400,w0
16296 7F4E ---- ---- 8810C0 mov.w w0,0x0218
16297 7F50 ---- ---- 2000F0 mov.w #0xf,w0
16298 7F52 ---- ---- 8810F0 mov.w w0,0x021e
16299 7F54 ---- ---- 208004 mov.w #0x800,w4
16300 7F56 ---- ---- 07002F rcall 0x007fb6
16301 7F58 ---- ---- B14C11 sub.b w1,#0xc1
16302 7F5A ---- ---- 3A003A bra nz, 0x007fd0
16303 7F5C ---- ---- B3C752 mov.b #0x75,w2
16304 7F5E ---- ---- 8810D2 mov.w w2,0x021a
16305 7F60 ---- ---- B3C4B2 mov.b #0x4b,w2
16306 7F62 ---- ---- 8810D2 mov.w w2,0x021a
16307 7F64 ---- ---- EB0680 clr.w w13
16308 7F66 ---- ---- 208004 mov.w #0x800,w4
16309 7F68 ---- ---- 200046 mov.w #0x4,w6
16310 7F6A ---- ---- 070025 rcall 0x007fb6
16311 7F6C ---- ---- E90306 dec.w w6,w6
16312 7F6E ---- ---- 3AFFFD bra nz, 0x007f6a
16313 7F70 ---- ---- 80400C mov.w 0x0800,w12
16314 7F72 ---- ---- 804013 mov.w 0x0802,w3
16315 7F74 ---- ---- 880193 mov.w w3,0x0032
16316 7F76 ---- ---- 200616 mov.w #0x61,w6
16317 7F78 ---- ---- 07001E rcall 0x007fb6
16318 7F7A ---- ---- E90306 dec.w w6,w6
16319 7F7C ---- ---- 3AFFFD bra nz, 0x007f78
16320 7F7E ---- ---- E0000D cp0.w w13
16321 7F80 ---- ---- 320003 bra z, 0x007f88
16322 7F82 ---- ---- B3C4E2 mov.b #0x4e,w2
16323 7F84 ---- ---- 8810D2 mov.w w2,0x021a
16324 7F86 ---- ---- 37FFEE bra 0x007f64
16325 7F88 ---- ---- BB0E00 tblwtl.w w0,[w12]
16326 7F8A ---- ---- 240410 mov.w #0x4041,w0
16327 7F8C ---- ---- FE6000 clrwdt
16328 7F8E ---- ---- 07000A rcall 0x007fa4
16329 7F90 ---- ---- 208044 mov.w #0x804,w4
16330 7F92 ---- ---- 08001F do #31,0x007f9c
16331 7F94 ---- ---- 000003 nop
16332 7F96 ---- ---- BB5E34 tblwtl.b [w4++],[w12++]
16333 7F98 ---- ---- BB5634 tblwtl.b [w4++],[w12--]
16334 7F9A ---- ---- BBCE34 tblwth.b [w4++],[w12]
16335 7F9C ---- ---- E8860C inc2.w w12,w12
16336 7F9E ---- ---- 240010 mov.w #0x4001,w0
16337 7FA0 ---- ---- 070001 rcall 0x007fa4
16338 7FA2 ---- ---- 37FFDE bra 0x007f60
16339 7FA4 ---- ---- 883B00 mov.w w0,0x0760
16340 7FA6 ---- ---- 200550 mov.w #0x55,w0
16341 7FA8 ---- ---- 883B30 mov.w w0,0x0766
16342 7FAA ---- ---- 200AA0 mov.w #0xaa,w0
16343 7FAC ---- ---- 883B30 mov.w w0,0x0766
16344 7FAE ---- ---- A8E761 bset.b 0x0761,#7
16345 7FB0 ---- ---- 000000 nop
16346 7FB2 ---- ---- 000000 nop
16347 7FB4 ---- ---- 060000 return
16348 7FB6 ---- ---- 20020A mov.w #0x20,w10
16349 7FB8 ---- ---- 20000B mov.w #0x0,w11
16350 7FBA ---- ---- AE0218 btss.b 0x0218,#0
16351 7FBC ---- ---- 370004 bra 0x007fc6
16352 7FBE ---- ---- 8010E1 mov.w 0x021c,w1
16353 7FC0 ---- ---- 785A01 mov.b w1,[w4++]
16354 7FC2 ---- ---- 40C68D add.b w1,w13,w13
16355 7FC4 ---- ---- 060000 return
16356 7FC6 ---- ---- FE6000 clrwdt
16357 7FC8 ---- ---- E9058B dec.w w11,w11
16358 7FCA ---- ---- 3AFFF7 bra nz, 0x007fba
16359 7FCC ---- ---- E9050A dec.w w10,w10
16360 7FCE ---- ---- 3AFFF4 bra nz, 0x007fb8
16361 7FD0 ---- ---- EF2216 clr.w 0x0216
16362 7FD2 ---- ---- 37FFB2 bra 0x007f38
16363 7FD4 ---- ---- 000800 nop
16364 7FD6 ---- ---- 00008C nop
16365 7FD8 ---- ---- 000000 nop
16366 7FDA ---- ---- 000000 nop
16367 7FDC ---- ---- FE0000 reset
16368 7FDE ---- ---- FFFFFF nopr
16369 7FE0 ---- ---- FFFFFF nopr
16370 7FE2 ---- ---- FFFFFF nopr
16371 7FE4 ---- ---- FFFFFF nopr
16372 7FE6 ---- ---- FFFFFF nopr
16373 7FE8 ---- ---- FFFFFF nopr
16374 7FEA ---- ---- FFFFFF nopr
16375 7FEC ---- ---- FFFFFF nopr
16376 7FEE ---- ---- FFFFFF nopr
16377 7FF0 ---- ---- FFFFFF nopr
16378 7FF2 ---- ---- FFFFFF nopr
16379 7FF4 ---- ---- FFFFFF nopr
16380 7FF6 ---- ---- FFFFFF nopr
16381 7FF8 ---- ---- FFFFFF nopr
16382 7FFA ---- ---- FFFFFF nopr
16383 7FFC ---- ---- FFFFFF nopr
16384 7FFE ---- ---- FFFFFF nopr
Mình so sánh configuration bits thì nó tương đương nhau (chứ không hoàn toàn giống nhau, vẫn có đủ các mode cần thiết như nhau nhưng giá trị các thanh ghi CONFIG khác nhau).
Mình có thắc mắc là cái hex đọc lên từ chip như vậy, thì nó vẫn còn bootloader chứ không bị ghi đè, tại sao lại không check được PIC?
|