Wiki source code of Firmware Upgrade Instruction for STM32 base products
Version 51.1 by Bei Jinggeng on 2023/03/20 10:02
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | **Table of** **Contents:** | ||
2 | |||
3 | {{toc/}} | ||
4 | |||
5 | |||
6 | |||
7 | |||
8 | = 1. Introduction = | ||
9 | |||
10 | |||
11 | This instruction shows how to upgrade firmware for Dragino products base on STM32 solution. The upgrade can use 2 hardware connections: (% style="color:blue" %)**UART upgrade**(%%) or (% style="color:blue" %)**ST Link v2 upgrade**(%%). Some models supports both methods and some only one of them. | ||
12 | |||
13 | |||
14 | = 2. Hardware Upgrade Method Support List = | ||
15 | |||
16 | |||
17 | (% border="1" style="background-color:#ffffcc; color:green; width:891.222px" %) | ||
18 | |=(% colspan="3" style="width: 888px;" %)Dragino STM32 base hardware Upgrade Methods | ||
19 | |(% style="width:284px" %)**Model**|(% style="width:409px" %)**UART Connection**|(% style="width:204px" %)**ST-Link Connection** | ||
20 | |(% style="width:284px" %)[[LSN50 v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LoRa ST>>url:http://www.dragino.com/products/lora/item/127-lora-st.html]],|(% style="width:409px" %)Hardware Connect Photo|(% style="width:204px" %)Hardware Connect Photo | ||
21 | |(% style="width:284px" %)[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]], [[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]]|(% style="width:409px" %)×|(% style="width:204px" %)[[Hardware Connect Photo>>||anchor="H4.1.2LGT922FLBT1ST-Linkv2Connection"]] | ||
22 | |(% style="width:284px" %)[[LT-33222-L>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/138-lt-33222-l.html]], [[LT-22222>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/156-lt-22222-l.html]]|(% style="width:409px" %)Hardware Connect Photo|(% style="width:204px" %)× | ||
23 | |(% style="width:284px" %)[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]]|(% style="width:409px" %)×|(% style="width:204px" %)Hardware Connect Photo | ||
24 | |(% style="width:284px" %)[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]]|(% style="width:409px" %)Hardware Connect Photo|(% style="width:204px" %)× | ||
25 | |(% style="width:284px" %)[[LSN50v2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]], [[NBSN95>>url:http://www.dragino.com/products/nb-iot/item/163-nbsn95.html]],[[LSE01>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/159-lse01.html]],[[LDDS20>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/164-ldds20.html]], [[LDS03A>>https://www.dragino.com/products/lorawan-nb-iot-door-sensor-water-leak/item/196-lds03a.html]],[[LDDS75>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/161-ldds75.html||style="background-color: rgb(255, 255, 204);"]]|(% style="width:409px" %)[[Hardware Connect Photo>>||anchor="H3.1.2LSN50v22FLSN50v2-D222FLSN50v2-D23"]]|(% style="width:204px" %)[[Hardware Connect Photo>>||anchor="H4.1.1LSN50v22FLSN50v2-D222FLSN50v2-D23Type"]] | ||
26 | |(% style="width:284px" %)[[LAQ4>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/174-laq4.html]]|(% style="width:409px" %)×|(% style="width:204px" %)[[Hardware Connect Photo>>||anchor="H4.1.3LAQ4ST-Linkv2Connection"]] | ||
27 | |(% style="width:284px" %)((( | ||
28 | [[RS485-BL>>url:https://www.dragino.com/products/lora-lorawan-end-node/item/167-rs485-bl.html]], | ||
29 | |||
30 | [[LDDS75>>https://www.dragino.com/products/distance-level-sensor/item/161-ldds75.html]],[[LLDS12>>url:https://www.dragino.com/products/distance-level-sensor/item/185-llds12.html]],[[LDDS20>>https://www.dragino.com/products/distance-level-sensor/item/164-ldds20.html]],[[LSE01>>https://www.dragino.com/products/agriculture-weather-station/item/159-lse01.html]], | ||
31 | |||
32 | [[WSC1-L>>https://www.dragino.com/products/agriculture-weather-station/item/206-wsc1-l.html]],[[GroPoint Air>>https://www.dragino.com/products/agriculture-weather-station/item/227-gropoint-air.html]] | ||
33 | )))|(% style="width:409px" %)[[Hardware Connection Photo>>||anchor="H3.1.3RS485-BL2FLDDS752FLDDS202FLSE01"]]|(% style="width:204px" %)[[Hardware Connect Photo>>||anchor="H4.1.4RS485-BL2FLDDS752FLDDS202FLSE01"]] | ||
34 | |(% style="width:284px" %)[[LTC2>>url:https://www.dragino.com/products/temperature-humidity-sensor/item/170-ltc2.html]]|(% style="width:409px" %)×|(% style="width:204px" %)[[Hardware Connect Photo>>||anchor="H4.1.5LTC2"]] | ||
35 | |||
36 | |||
37 | = 3. UART Upgrade Guide = | ||
38 | |||
39 | == 3.1 Hardware Connection == | ||
40 | |||
41 | === 3.1.1 LSN50 v1 === | ||
42 | |||
43 | |||
44 | [[image:image-20220526173641-1.png]] | ||
45 | |||
46 | Connection for LSN50 v1 | ||
47 | |||
48 | |||
49 | === 3.1.2 LSN50 v2/LSN50v2-D22/LSN50v2-D23 === | ||
50 | |||
51 | |||
52 | [[image:image-20220526173751-3.png||height="467" width="966"]] | ||
53 | |||
54 | Connection for LSN50 Type V2 | ||
55 | |||
56 | |||
57 | === 3.1.3 RS485-BL/LDDS75/LDDS20/LSE01 === | ||
58 | |||
59 | |||
60 | [[image:image-20220526174856-17.png||height="629" width="976"]] | ||
61 | |||
62 | Connection for RS485-BL base mother board | ||
63 | |||
64 | |||
65 | (% style="color:#4472c4" %) **For UART Update, need:** | ||
66 | |||
67 | * Connect USB-TTL TXD <~-~-> Device UART_RX | ||
68 | * Connect USB-TTL RXD <~-~-> Device UART_TX | ||
69 | * Connect USB-TTL GND <~-~-> Device GND | ||
70 | * Put Switch SW1 to ISP position | ||
71 | * Connect JP2 jumper (Yellow one), so device is power on. | ||
72 | |||
73 | |||
74 | == 3.2 Upgrade Steps == | ||
75 | |||
76 | |||
77 | ((( | ||
78 | (% style="color:blue" %)**Step 1:**(%%) Download [[Flash Loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. | ||
79 | ))) | ||
80 | |||
81 | ((( | ||
82 | (% style="color:blue" %)**Step 2:**(%%) Download the Image files, which can be found in the product user manual. | ||
83 | ))) | ||
84 | |||
85 | ((( | ||
86 | (% style="color:blue" %)**Step 3:**(%%) Open Flashloader; choose the correct COM port to update, Please notice that the serial setting must follow below photos. | ||
87 | ))) | ||
88 | |||
89 | ((( | ||
90 | (% style="color:blue" %)**Step 4: **(%%)Set The device into (% style="color:#037691" %)**ISP Mode**(%%). Then Press the (% style="color:#037691" %)**Reset Button**(%%), In the Flash tool, click next and the tool will detect the board type. | ||
91 | |||
92 | |||
93 | (% style="color:red" %)**Note:** ** ISP Mode can be a switch or a button, depends on the product. The device only need to be in ISP mode when press the reset button for UART Upgrade. So if the device is of a button type ISP mode, user can release the ISP button after press the reset button.** | ||
94 | |||
95 | |||
96 | ))) | ||
97 | |||
98 | [[image:image-20220526174302-11.png]] | ||
99 | |||
100 | UART Upgrade | ||
101 | |||
102 | |||
103 | [[image:image-20220526174231-10.png]] | ||
104 | |||
105 | UART Upgrade | ||
106 | |||
107 | |||
108 | [[image:image-20220526174202-9.png]] | ||
109 | |||
110 | ((( | ||
111 | UART Upgrade | ||
112 | |||
113 | |||
114 | ))) | ||
115 | |||
116 | ((( | ||
117 | ((( | ||
118 | (% style="color:blue" %)**Step 5:**(%%) For switch type ISP Mode, After upgrade,please remember to switch back to Flash mode and press RESET Button to run the firmware. | ||
119 | ))) | ||
120 | ))) | ||
121 | |||
122 | ((( | ||
123 | ((( | ||
124 | (% style="color:blue" %)**Step 6:**(%%) Always run AT+FDR after update firmware. This is to reset the device to factory settings of the new firmware. | ||
125 | |||
126 | ))) | ||
127 | ))) | ||
128 | |||
129 | == 3.3 Trouble shooting == | ||
130 | |||
131 | === 3.3.1 General Check List === | ||
132 | |||
133 | |||
134 | 1. Double check if follow up exactly the steps as manual. | ||
135 | 1. Check if hardware works fine: | ||
136 | 1*. check if AT command works, in both TX/RX | ||
137 | 1*. check if the device are in upgrade mode, see product manual for upgrade mode indicator. | ||
138 | 1*. check if reset button works | ||
139 | 1. If you use Windows10 system. Please change the flash loader to run in Windows7 compatibility mode. | ||
140 | 1. We see a case the FT232 USB TTL adapter has reliability issue with the PC USB chipset(Intel). In this case, even above, it still has serious reliability issue for uploading. If this happen, change a PC or change a USB to TTL adapter will solve. | ||
141 | |||
142 | |||
143 | == 3.4 Flash Loader ~-~- Unable to Load data from this file == | ||
144 | |||
145 | |||
146 | [[image:image-20220526174137-8.png]] | ||
147 | |||
148 | ((( | ||
149 | Unable to Load data from this file | ||
150 | |||
151 | |||
152 | ))) | ||
153 | |||
154 | ((( | ||
155 | ((( | ||
156 | The previous LSN50 firmware file is stored in github. If user use right click ~-~-> Save As to get the hex file. This error will happen. Now the LSN50 firmware file has been moved to [[LSN50 Firmware>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Firmware/]] to avoid this happen. | ||
157 | |||
158 | |||
159 | ))) | ||
160 | ))) | ||
161 | |||
162 | == 3.5 Alternative method to flash via UART == | ||
163 | |||
164 | |||
165 | [[Alternative method to flash STM32 via UART.pdf>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/Utility/&file=Alternative%20method%20to%20flash%20STM32%20via%20UART.pdf]] | ||
166 | |||
167 | |||
168 | = 4. ST-Link v2 Upgrade = | ||
169 | |||
170 | == 4.1 Hardware Connections == | ||
171 | |||
172 | === 4.1.1 LSN50 v2/LSN50v2-D22/LSN50v2-D23 Type === | ||
173 | |||
174 | |||
175 | [[image:image-20220526174450-12.png||height="570" width="1162"]] | ||
176 | |||
177 | ST-Link Connections for LSn50 V2/LSN50v2-D22/LSN50v2-D23 Type | ||
178 | |||
179 | |||
180 | === 4.1.2 LGT92/LBT1 ST-Link v2 Connection === | ||
181 | |||
182 | |||
183 | [[image:image-20220526174518-13.png]] | ||
184 | |||
185 | |||
186 | Connection to LGT92 | ||
187 | |||
188 | * ST-LINK v2 5.0v <~-~-> Dupont Cable red pin | ||
189 | * ST-LINK v2 GND <~-~-> Dupont Cable black pin | ||
190 | * ST-LINK v2 SWCLK <~-~-> Dupont Cable green pin | ||
191 | * ST-LINK v2 SWDIO <~-~-> Dupont Cable white pin | ||
192 | |||
193 | |||
194 | === 4.1.3 LAQ4 ST-Link v2 Connection === | ||
195 | |||
196 | |||
197 | [[image:image-20220526174602-14.png||height="506" width="922"]] | ||
198 | |||
199 | Connection to LAQ4 | ||
200 | |||
201 | |||
202 | === 4.1.4 RS485-BL/LDDS75/LDDS20/LSE01 === | ||
203 | |||
204 | |||
205 | [[image:image-20230306115123-4.png]] | ||
206 | |||
207 | Connection for RS485-BL base mother board | ||
208 | |||
209 | |||
210 | When use ST-Link v2 to update, need: | ||
211 | |||
212 | * ST-LINK v2 RESET <~-~-> NRST | ||
213 | * ST-LINK v2 GND <~-~-> GND | ||
214 | * ST-LINK v2 SWCLK <~-~-> SWCLK | ||
215 | * ST-LINK v2 SWDIO <~-~-> SWDIO | ||
216 | * ST-LINK (VDD 3.3v,pin19) <~-~-> ST-LINK (TVCC ,pin1) a wire to connect two pins of ST-Link together. | ||
217 | |||
218 | |||
219 | === 4.1.5 LTC2 === | ||
220 | |||
221 | |||
222 | [[image:image-20230306112740-2.png]] | ||
223 | |||
224 | Connection for LTC2 base mother board | ||
225 | |||
226 | |||
227 | **Connection:** | ||
228 | |||
229 | * ST-LINK v2 GND <~-~-> LTC2 GND | ||
230 | * ST-LINK v2 RESET <~-~-> LTC2 NRST | ||
231 | * ST-LINK v2 SWCLK <~-~-> LTC2 SWCLK | ||
232 | * ST-LINK v2 SWDIO <~-~-> LTC2 SWDIO | ||
233 | * ST-LINK (VDD 3.3v,pin19) <~-~-> ST-LINK (TVCC ,pin1) a wire to connect two pins of ST-Link together. | ||
234 | |||
235 | |||
236 | = 4.2. Firmware upgrade using STM32 Cubeprogramer = | ||
237 | |||
238 | |||
239 | (% style="color:blue" %)**Step1:**(%%) Enter the download interface | ||
240 | |||
241 | [[image:image-20230222160658-1.png||height="479" width="827"]] | ||
242 | |||
243 | |||
244 | (% style="color:blue" %)**Step2:**(%%) Connect serial port correctly and select UART/ST-LINK | ||
245 | |||
246 | [[image:image-20230222160847-2.png||height="481" width="830"]] | ||
247 | |||
248 | |||
249 | (% style="color:blue" %)**Step3: **(%%)Select the file to download | ||
250 | |||
251 | [[image:image-20230222160947-3.png||height="473" width="818"]] | ||
252 | |||
253 | |||
254 | (% style="color:blue" %)**Step4: **(%%)Click to start programming, and wait for it to download to 100%, pop up a successful download box | ||
255 | |||
256 | [[image:image-20230222161119-4.png||height="476" width="821"]] | ||
257 | |||
258 | |||
259 | == 4.3 Trouble Shootings == | ||
260 | |||
261 | === 4.3.1 ST-Link v2 can not detect the hardware === | ||
262 | |||
263 | |||
264 | (% style="color:#4f81bd" %)**Possible Issue 1:** | ||
265 | |||
266 | 1. Make sure see the LED blink on the ST-Link and release the reset button during blinking. | ||
267 | |||
268 | (% style="color:#4f81bd" %)**Possible Issue 2:** | ||
269 | |||
270 | 1. There are different version ST-Link v2. The white one as below is the most stable and recommended one. | ||
271 | 1. The white version ST-Link v2 such as below photo has different hardware version. The original one doesn't have 3.3v on pin 1/2 and the clone one has 3.3v on pin 1/2. User has to short pin19 (VDD 3.3v) and pin 1/2 (TVCC) for the original one so pin 1/2 has 3.3v power. Otherwise, the original one might have problem to upload firmware to End Node. | ||
272 | |||
273 | [[image:image-20220526175418-21.png]] | ||
274 | |||
275 | ST-Link upload issue | ||
276 | |||
277 | |||
278 | (% style="color:#4f81bd" %)**Possible Issue 3:** | ||
279 | |||
280 | 1. The ST-Link adapter has issue in the RESET pin. this happens for the LHT65 model where the update request use the reset pin of ST-Link.We see this issue happen in below ST-LINK. | ||
281 | |||
282 | [[image:image-20220526175708-22.png]] | ||
283 | |||
284 | ((( | ||
285 | RESET pin not function | ||
286 | ))) | ||
287 | |||
288 | ((( | ||
289 | |||
290 | ))) | ||
291 | |||
292 | ((( | ||
293 | ((( | ||
294 | User can try to mannual reset when use this type of ST-Link, touch the reset pin to GND pin and click the global icon in the ST Utility, If the other 3 wire connection is fine, the ST-LInk adapter LED will blink. and then release the reset. The IC should be detected. | ||
295 | ))) | ||
296 | ))) | ||
297 | |||
298 | ((( | ||
299 | For LHT65 we recommend to use the white one show in possible issue 2. | ||
300 | ))) | ||
301 | |||
302 | ((( | ||
303 | For LGT92, if user use this type of ST-Link, please also connect the 5v to USB port of LGT92. | ||
304 | ))) | ||
305 | |||
306 | |||
307 | === 4.3.2 ST-Link v2 detect the hardware but disconnect after click OK === | ||
308 | |||
309 | |||
310 | [[image:image-20220526175755-23.png]] | ||
311 | |||
312 | Do not click OK, click Cancel | ||
313 | |||
314 | |||
315 | === 4.3.3 Old ST-LINK firmware/ST-LINK already use and USB communication error === | ||
316 | |||
317 | |||
318 | ((( | ||
319 | It may be that your stlink firmware is too old. | ||
320 | ))) | ||
321 | |||
322 | ((( | ||
323 | You can try these steps: | ||
324 | ))) | ||
325 | |||
326 | ((( | ||
327 | You unplug the stlink, and then plug in the stlink again. | ||
328 | ))) | ||
329 | |||
330 | ((( | ||
331 | You click **ST-LINK -> Firmware update.** | ||
332 | ))) | ||
333 | |||
334 | [[image:image-20220526175855-24.png]] | ||
335 | |||
336 | (% style="color:blue" %)**step1: **(%%) click Device connect. | ||
337 | |||
338 | |||
339 | |||
340 | [[image:image-20220526175954-25.png]] | ||
341 | |||
342 | [[image:image-20220526180013-26.png]] | ||
343 | |||
344 | (% style="color:blue" %)**step2: **(%%) Click yes to upgrade successfully. | ||
345 | |||
346 | |||
347 | |||
348 | == 5. Other Method == | ||
349 | |||
350 | |||
351 | ((( | ||
352 | (% style="color:blue" %)**Step 1:**(%%) Install [[ST-LINK driver>>url:https://www.stmicroelectronics.com.cn/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html]] first and then install [[ST-LINK Utility>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html]] | ||
353 | ))) | ||
354 | |||
355 | ((( | ||
356 | (% style="color:blue" %)**Step 2: **(%%)Download the Image files, firmware download link can be found on the product user manual. | ||
357 | ))) | ||
358 | |||
359 | ((( | ||
360 | (% style="color:blue" %)**Step 3:**(%%) Open ST-LINK utility, file ~-~-> open file to select the image to be upgraded. | ||
361 | ))) | ||
362 | |||
363 | ((( | ||
364 | (% style="color:blue" %)**Step 4:** | ||
365 | ))) | ||
366 | |||
367 | * Case 1: If your board has the **Reset pin** connect to St-Link ((for example: LSN50v2, LHT65, LAQ4), click the blue global “settings” button on ST-LINK. | ||
368 | * Case 2: If your board doesn't have reset pin connect to ST-Link, but has a reset button (for example: LGT92). Keep pushing the small reset button on LGT92 and then click the blue global “settings” button on ST-Link utility. | ||
369 | |||
370 | [[image:image-20220526175243-19.png]] | ||
371 | |||
372 | Click Global Icon | ||
373 | |||
374 | |||
375 | (% style="color:blue" %)**Step 5**(%%)**:** After click the Global ICon in Step4, The led on the ST-LINK v2 adapter will now blinks, if you use hand to press the reset button , you need to release the reset button when see the LED blinks, and the ST-Link will detect the STM32 hardware as below. Click cancel to enter next step. Please check hardware connection if ST-Link v2 LED doesn't blink. | ||
376 | |||
377 | |||
378 | [[image:image-20220526175307-20.png]] | ||
379 | |||
380 | Do not click OK, click Cancel | ||
381 | |||
382 | |||
383 | (% style="color:blue" %)**Step 6:**(%%)** **Click verify/upgrade firmware. The ST-Link utility will pop up a download window. Click the start button to download the image to Device. | ||
384 | |||
385 | [[image:image-20220701171857-1.png]] | ||
386 | |||
387 | ST-Link v2 Upgrade | ||
388 | |||
389 |