Stlink: STM32L052K8둜 ν”Œλž˜μ‹œλ₯Ό μ‹œλ„ν•˜λ©΄ ν”Œλž˜μ‹œ λ©”λͺ¨λ¦¬κ°€ 손상됨

에 λ§Œλ“  2018λ…„ 03μ›” 09일  Β·  14μ½”λ©˜νŠΈ  Β·  좜처: stlink-org/stlink

  • [X] ν”„λ‘œκ·Έλž˜λ¨Έ / λ³΄λ“œ μœ ν˜• : Stlink / v2
  • [X] ν”„λ‘œκ·Έλž˜λ¨Έ νŽŒμ›¨μ–΄ 버전 : μ•Œ 수 μ—†μŒ; 일반 St-link λͺ¨λ“ˆ.
  • [X] 운영 체제 : Linux (Ubuntu 16.04)
  • [X] Stlink 도ꡬ 버전 및 / λ˜λŠ” git 컀밋 ν•΄μ‹œ : v1.5.0
  • [X] Stlink λͺ…λ Ή 쀄 도ꡬ 이름 : st-util
  • [X] λŒ€μƒ μΉ© (및 μ˜΅μ…˜ λ³΄λ“œ) : STM32L051K8

.elfλ₯Ό 칩에 ν”Œλž˜μ‹œν•˜λ €κ³ ν•˜λ©΄ STM32L1 λ‘œλ”κ°€ μ‚¬μš© μ€‘μž„μ„ λ‚˜νƒ€λ‚΄λŠ” 일련의 였λ₯˜κ°€ λ°œμƒν•˜κ³  (더 μ•„λž˜λ‘œ 인용 됨) λ‹€μŒκ³Ό 같은 μ΄μƒν•œ 였λ₯˜ λ©”μ‹œμ§€μ™€ ν•¨κ»˜ 후속 연결이 μ‹€νŒ¨ν•©λ‹ˆλ‹€.

2018-03-08T23:04:41 WARN common.c: Invalid flash type, please check device declaration
2018-03-08T23:04:41 INFO gdb-server.c: Chip ID is 00000000, Core ID is  0bc11477.

이 μƒνƒœλŠ” Windows μ‹œμŠ€ν…œμ—μ„œ ST의 ST-Link μœ ν‹Έλ¦¬ν‹°λ₯Ό 톡해 ν•˜λ“œμ›¨μ–΄ μž¬μ„€μ • 쀑에 칩에 μ—°κ²°ν•˜μ—¬ 칩이 'κ³ μ •'될 λ•ŒκΉŒμ§€ μ§€μ†λ©λ‹ˆλ‹€. λ‹€μŒμ€ λ¬Έμ œκ°€μžˆλŠ” ν”Œλž˜μ‹± μž‘μ—… 쀑에 st-util이 μ œκ³΅ν•˜λŠ” 좜λ ₯μž…λ‹ˆλ‹€.

st-util 1.5.0
2018-03-08T23:04:03 INFO usb.c: -- exit_dfu_mode
2018-03-08T23:04:03 INFO common.c: Loading device parameters....
2018-03-08T23:04:03 INFO common.c: Device connected is: L0x3 device, id 0x10386417
2018-03-08T23:04:03 INFO common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 128 bytes
2018-03-08T23:04:03 INFO gdb-server.c: Chip ID is 00000417, Core ID is  0bc11477.
2018-03-08T23:04:03 INFO gdb-server.c: Listening at *:4242...
2018-03-08T23:04:13 INFO gdb-server.c: Found 4 hw breakpoint registers
2018-03-08T23:04:13 INFO gdb-server.c: GDB connected.
2018-03-08T23:04:14 INFO common.c: Attempting to write 128 (0x80) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08000000 erased
2018-03-08T23:04:14 INFO common.c: Finished erasing 1 pages of 128 (0x80) bytes
2018-03-08T23:04:14 INFO common.c: Starting Half page flash write for STM32L core id
2018-03-08T23:04:14 INFO flash_loader.c: Successfully loaded flash loader in sram
2018-03-08T23:04:17 ERROR flash_loader.c: flash loader run error
2018-03-08T23:04:17 WARN common.c: l1_stlink_flash_loader_run(0x8000000) failed! == -1
2018-03-08T23:04:17 WARN common.c: 
write_half_pages failed == -1
  0/  1 pages written
2018-03-08T23:04:17 INFO common.c: Starting verification of write complete
2018-03-08T23:04:17 INFO common.c: Flash written and verified! jolly good!
2018-03-08T23:04:17 INFO common.c: Attempting to write 128 (0x80) bytes to stm32 address: 134217856 (0x8000080)
Flash page at addr: 0x08000080 erased
2018-03-08T23:04:17 INFO common.c: Finished erasing 1 pages of 128 (0x80) bytes
2018-03-08T23:04:17 INFO common.c: Starting Half page flash write for STM32L core id
2018-03-08T23:04:17 INFO flash_loader.c: Successfully loaded flash loader in sram
2018-03-08T23:04:20 ERROR flash_loader.c: flash loader run error
2018-03-08T23:04:20 WARN common.c: l1_stlink_flash_loader_run(0x8000080) failed! == -1
2018-03-08T23:04:20 WARN common.c: 
write_half_pages failed == -1
  0/  1 pages written
2018-03-08T23:04:21 INFO common.c: Starting verification of write complete
2018-03-08T23:04:21 INFO common.c: Flash written and verified! jolly good!
[ ... repeats a few times ... ]

μ˜ˆμƒ / μ„€λͺ… :
ν”„λ‘œκ·Έλž¨μ΄ μ„±κ³΅μ μœΌλ‘œ κΉœλ°• μ—¬μ•Όν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 성곡보고에도 λΆˆκ΅¬ν•˜κ³  GDBμ—μ„œ 단계λ₯Ό μˆ˜ν–‰ν•˜λ €κ³ ν•˜λ©΄ 칩이 μž¬μ„€μ • μœ„μΉ˜μ—μ„œ 0x20000010으둜 직접 μ ν”„ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ μ–΄λ”˜κ°€μ—μ„œ λ­”κ°€ 잘λͺ»λ˜μ—ˆλ‹€κ³  μƒκ°ν•΄μ•Όν•©λ‹ˆλ‹€.

buregression componenst-util needinvestigation needissuer-feedback olinux programmestlinkv2 targestm32l0 targestm32l4

λͺ¨λ“  14 λŒ“κΈ€

그것은 μ΄μƒν•œ λ¬Έμ œμž…λ‹ˆλ‹€. 문제의 원인을 μ¦‰μ‹œ μ•Œ 수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. L1 λ‘œλ”λŠ” 거의 λ™μΌν•˜κΈ° λ•Œλ¬Έμ— L0 μΉ©κ³Ό ν˜Έν™˜λ©λ‹ˆλ‹€.

쑰금 이상해 λ³΄μž…λ‹ˆλ‹€. 디버그 ν”Œλž˜κ·Έκ°€ μžˆκ±°λ‚˜ 더 λ§Žμ€ 정보λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μΌœμ•Ό ν•  것이 μžˆλŠ”μ§€ μ•Œλ €μ£Όμ„Έμš”.

μ—˜ν”„κ°€ μ•„λ‹Œ st-flash둜 ν”Œλž« λ°”μ΄λ„ˆλ¦¬λ₯Ό ν”Œλž˜μ‹œ ν•΄λ³΄μ„Έμš”.

ν”Œλž˜μ‹œλ₯Ό 파일둜 λ‹€μ‹œ μ½μ–΄μ„œ λΉ„κ΅ν•˜κ±°λ‚˜ gdb λ˜λŠ” 예제둜 검사 ν•΄λ³΄μ‹­μ‹œμ˜€.
x / 32x 0x8000000

벑터 ν…Œμ΄λΈ”μ˜ μ‹œμž‘μ΄ ν‘œμ‹œλ˜μ–΄μ•Όν•©λ‹ˆλ‹€.
λ°”μ΄λ„ˆλ¦¬λŠ” μ–΄λ””μ—μ„œ μ™”μœΌλ©° 그것이 쒋은지 μ–΄λ–»κ²Œ μ•Œ 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ˜ν•œ μ£Όμ†Œκ°€ RAMμ—μžˆλŠ” 것 같은 경우 BOOT ν•€μ˜ μƒνƒœλŠ” μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

μ œκ°€ μ‚΄νŽ΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  λ””λ²„κ±°λ‘œ .elfλ₯Ό μ—…λ‘œλ“œν•˜λŠ” λŒ€μ‹  .bin νŒŒμΌμ„ ν”Œλž˜μ‹œν•˜λŠ” 방법을 λ°°μš°λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œλŠ” ST의 예 쀑 ν•˜λ‚˜ μ˜€μ§€λ§Œ 벑터 ν…Œμ΄λΈ”μ΄μžˆλŠ” μœ„μΉ˜λ₯Ό λ‹€μ‹œ μ‚΄νŽ΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

BOOT0 핀은 μ ‘μ§€λ˜μ–΄ μžˆμœΌλ―€λ‘œ RAM으둜 λΆ€νŒ…ν•΄μ•Όν•œλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이 μ§ˆλ¬Έμ— λŒ€ν•΄ ν•˜λ£¨λ‚˜ 이틀 이내에 λ‹΅λ³€ ν•΄ λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€. 쑰언에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

μ’‹μ•„, L0 ν…ŒμŠ€νŠΈ ν”„λ‘œκ·Έλž¨ (특히 ST의 LSI μ΄ˆκΈ°ν™” 예)을 L031K6 Nucleo-32 λ³΄λ“œμ— ν”Œλž˜μ‹œν•˜λ €κ³ ν–ˆλŠ”λ° μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ L051K8μ—μ„œλŠ” μ—¬μ „νžˆ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. κ°€μž₯ 큰 차이점은 일반 USB 동글을 μ‚¬μš©ν•˜μ—¬ L051K8 λ³΄λ“œλ₯Ό ν”„λ‘œκ·Έλž˜λ°ν•˜κ³  μ˜¨λ³΄λ“œ ST-Link / V2-1 디버거λ₯Ό L031K6 Nucleo λ³΄λ“œμ— μ‚¬μš©ν•˜κ³  μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. USB λ””λ²„κ±°μ—μ„œ νŽŒμ›¨μ–΄ μ—…λ°μ΄νŠΈλ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ λ„μ›€μ΄λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

두 경우 λͺ¨λ‘ arm-eabi-none-nm 둜 벑터 ν…Œμ΄λΈ”μ΄ μ˜¬λ°”λ₯΄κ²Œ λ°°μΉ˜λ˜μ—ˆλŠ”μ§€ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. 08000000 R g_pfnVectors

st-flash write main.bin 0x08000000 λ₯Ό μ‚¬μš©ν•˜μ—¬ .bin νŒŒμΌμ„ L051K8둜 ν”Œλž˜μ‹œν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•˜μ§€λ§Œ μ—¬μ „νžˆ μ„±κ³΅μ„λ³΄κ³ ν•©λ‹ˆλ‹€. λ‚˜μ€‘μ— 칩에 μ—°κ²°ν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ΄ 0xFFFFFFFE에 κ³ μ •λ˜μ–΄ μžˆμŒμ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ st-flash 의 좜λ ₯μž…λ‹ˆλ‹€.

st-flash 1.5.0
2018-04-23T23:26:42 INFO common.c: Loading device parameters....
2018-04-23T23:26:42 INFO common.c: Device connected is: L0x3 device, id 0x10386417
2018-04-23T23:26:42 INFO common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 128 bytes
2018-04-23T23:26:42 INFO common.c: Ignoring 4 bytes of 0x00 at end of file
2018-04-23T23:26:42 INFO common.c: Attempting to write 18404 (0x47e4) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08004780 erased
2018-04-23T23:26:43 INFO common.c: Finished erasing 144 pages of 128 (0x80) bytes
2018-04-23T23:26:43 INFO common.c: Starting Half page flash write for STM32L core id
2018-04-23T23:26:43 INFO flash_loader.c: Successfully loaded flash loader in sram
2018-04-23T23:26:46 ERROR flash_loader.c: flash loader run error
2018-04-23T23:26:46 WARN common.c: l1_stlink_flash_loader_run(0x8000000) failed! == -1
2018-04-23T23:26:46 WARN common.c: 
write_half_pages failed == -1
142/143 pages written
2018-04-23T23:27:03 INFO common.c: Starting verification of write complete
2018-04-23T23:27:04 INFO common.c: Flash written and verified! jolly good!

ν•˜μ§€λ§Œ ST의 GUI μœ ν‹Έλ¦¬ν‹°λ‘œ ν”Œλž˜μ‹œ λ©”λͺ¨λ¦¬λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ 0x08000000μ—μ„œ μ‹œμž‘ν•˜λŠ” .bin 파일의 16 μ§„μˆ˜λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨ μ‹œμž‘μ‹œ 벑터 ν…Œμ΄λΈ”μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. 그리고 기둝 된 λ©”λͺ¨λ¦¬λŠ” 0x080047E0μ—μ„œ λλ‚˜λŠ” κ²ƒμ²˜λŸΌ 보이며 μ΄λŠ” ν”„λ‘œκ·Έλž¨ 크기에 λ§žλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 이것이 λ‹€λ₯Έ μ‚¬λžŒμ΄ 볡제 ν•  μˆ˜μžˆλŠ” 것이 μ•„λ‹ˆλΌλ©΄ μ œκ°€ μ‚¬μš©ν•˜λŠ” μΉ©μ΄λ‚˜ λ³΄λ“œ 일 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”,

블루 ν•„ λ³΄λ“œ (STM32F103C8X)와 λ™μΌν•œ 문제
'arm-none-eabi-gdb'λ₯Ό μ‚¬μš©ν•˜λŠ” λͺ¨λ“  ν”„λ‘œκ·Έλž¨ 후에 μ„±κ³΅ν–ˆκ³  ν”„λ‘œκ·Έλž¨μ€ λ³΄λ“œμ—μ„œ 잘 μ‹€ν–‰λ˜μ§€λ§Œ λ‹€μ‹œ ν”„λ‘œκ·Έλž˜λ°ν•˜λ €κ³ ν•˜λ©΄ λ‹€μŒκ³Ό 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

st-util

[ abdullatif @ Host-001 ~] $ st-util
st-util 1.5.0
2018-05-04T23 : 47 : 27 정보 common.c : μž₯치 맀개 λ³€μˆ˜λ‘œλ“œ 쀑 ....
2018-05-04T23 : 47 : 27 WARN common.c : 잘λͺ»λœ ν”Œλž˜μ‹œ μœ ν˜•, μž₯치 선언을 ν™•μΈν•˜μ‹­μ‹œμ˜€.
2018-05-04T23 : 47 : 27 정보 gdb-server.c : μΉ© IDλŠ” 00000000, μ½”μ–΄ IDλŠ” 00000000μž…λ‹ˆλ‹€.
2018-05-04T23 : 47 : 27 정보 gdb-server.c : * : 4242μ—μ„œ μˆ˜μ‹  쀑 ...
2018-05-04T23 : 47 : 40 정보 gdb-server.c : 0 hw 쀑단 점 λ ˆμ§€μŠ€ν„°λ₯Ό μ°Ύμ•˜μŠ΅λ‹ˆλ‹€.
2018-05-04T23 : 47 : 40 정보 gdb-server.c : GDBκ°€ μ—°κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

gdb

[ abdullatif @ Host-001 λΉŒλ“œ] $ arm-none-eabi-gdb Stm32blink.elf
GNU gdb (GDB) 8.1
μ €μž‘κΆŒ (C) 2018 Free Software Foundation, Inc.
λΌμ΄μ„ μŠ€ GPLv3 + : GNU GPL 버전 3 이상 http://gnu.org/licenses/gpl.html
이것은 자유 μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€. μ—¬λŸ¬λΆ„μ€ 자유둭게 λ³€κ²½ν•˜κ³  재배포 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
법이 ν—ˆμš©ν•˜λŠ” ν•œ 보증은 μ—†μŠ΅λ‹ˆλ‹€. "볡사 ν‘œμ‹œ"λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
μžμ„Έν•œ λ‚΄μš©μ€ "보증 ν‘œμ‹œ"λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.
이 GDBλŠ” "--host = x86_64-pc-linux-gnu --target = arm-none-eabi"둜 κ΅¬μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
ꡬ성 μ„ΈλΆ€ 사항을 보렀면 "show configuration"을 μž…λ ₯ν•˜μ‹­μ‹œμ˜€.
버그보고 지침은 λ‹€μŒμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.
http://www.gnu.org/software/gdb/bugs/
λ‹€μŒμ—μ„œ 온라인으둜 GDB μ„€λͺ…μ„œ 및 기타 λ¬Έμ„œ λ¦¬μ†ŒμŠ€λ₯Ό μ°ΎμœΌμ‹­μ‹œμ˜€.
http://www.gnu.org/software/gdb/documentation/ .
도움말을 보렀면 "help"λ₯Ό μž…λ ₯ν•˜μ‹­μ‹œμ˜€.
"단어"와 κ΄€λ ¨λœ λͺ…령을 κ²€μƒ‰ν•˜λ €λ©΄ "apropos word"λ₯Ό μž…λ ₯ν•˜μ‹­μ‹œμ˜€ ...
Stm32blink.elfμ—μ„œ 기호 읽기 ... μ™„λ£Œ.
(gdb) λŒ€μƒ ν™•μž₯ 원격 : 4242
: 4242λ₯Ό μ‚¬μš©ν•œ 원격 디버깅
0x00000000 in ?? ()
(gdb) λΆ€ν•˜
λ‘œλ”© μ„Ήμ…˜ .isr_vector, 크기 0x10c lma 0x8000000
λ‘œλ“œ μ‹€νŒ¨
(gdb)

λ³΄λ“œκ°€ λ‹€μ‹œ μž‘λ™ν•˜λ €λ©΄ 'st-flash'둜 λΆ€νŠΈ λ‘œλ”λ₯Ό ν”Œλž˜μ‹œν•΄μ•Όν•©λ‹ˆλ‹€.

λ‚˜λŠ” F103 λ¬Έμ œκ°€ λ‚΄κ°€ λ³Έ 것과 λ™μΌν•˜λ‹€κ³  ν™•μ‹ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 λ„κ΅¬μ—μ„œ μƒλ‹Ήνžˆ 잘 μ§€μ›λ˜λŠ” κ²ƒμœΌλ‘œ 보이며 L0 λ¬Έμ œλŠ” 빈 μΉ©μ—μ„œλ„ λ°œμƒν•©λ‹ˆλ‹€.

이 문제의 μ›λž˜ 제λͺ©μ΄ 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€. λ‹€μŒ 두 μž₯μΉ˜μ—μ„œ λ™μž‘μ΄ λ°œμƒν•©λ‹ˆλ‹€.

  • STM32L052K8

  • STM32L082KZ

λ‚˜λŠ” src/chipid.c λ₯Όλ³΄κ³  L0x1 및 L0x3 칩에 λŒ€ν•œ μ°Έμ‘° 맀뉴얼 만 섀정에 μ°Έμ‘°λ˜μ—ˆμŒμ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. L0x2 칩에 큰 차이점이 μžˆμŠ΅λ‹ˆκΉŒ?

λ‹€μŒ diffλŠ” STM32L052K8을 μ‚¬μš©ν•˜μ—¬μ΄ 문제λ₯Ό μ™„μ „νžˆ ν•΄κ²°ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μ΄μ§€λ§Œ 이상적인 μ†”λ£¨μ…˜μ΄ μ•„λ‹ˆλΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

diff --git a/src/common.c b/src/common.c
index b9b7382..7d2480d 100644
--- a/src/common.c
+++ b/src/common.c
@@ -1647,7 +1647,8 @@ int stlink_erase_flash_page(stlink_t *sl, stm32_addr_t flashaddr)
 }

 int stlink_erase_flash_mass(stlink_t *sl) {
-    if (sl->flash_type == STLINK_FLASH_TYPE_L0) {
+    //if (sl->flash_type == STLINK_FLASH_TYPE_L0) {
+    if (sl->chip_id == STLINK_CHIPID_STM32_L0_CAT2 || sl->chip_id == STLINK_CHIPID_STM32_L0_CAT5) {
         /* erase each page */
         int i = 0, num_pages = (int) sl->flash_size/sl->flash_pgsz;
         for (i = 0; i < num_pages; i++) {

이 λ³€κ²½ 사항은 ID 0x0417 와 μ—°κ΄€λœ 일반 L0x3 λ ˆμ΄λΈ”λ‘œ μ‹λ³„λ˜λŠ” μΉ©μ—μ„œ λŒ€λŸ‰ μ§€μš°κΈ°μ— λŒ€ν•œ L0 νŠΉμ • λ™μž‘μ„ μ œκ±°ν•©λ‹ˆλ‹€.

L0 -νŠΉμ • 논리가 μ΄λŸ¬ν•œ 'Category-3' L0x2 칩에 문제λ₯Ό μΌμœΌν‚€λŠ” 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. STM32L031 Nucleo λ³΄λ“œμ—μ„œ 잘 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ 칩의 IDλŠ” 'Category-2'μž₯치둜 μ‹λ³„λ˜λŠ” 0x0425 μž…λ‹ˆλ‹€.

STM32L151CC와 μœ μ‚¬ν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•˜κ³  확인 λ‹¨κ³„μ—μ„œ μ‹€νŒ¨ν•©λ‹ˆλ‹€.
ST-Link μœ ν‹Έλ¦¬ν‹°λ₯Ό μ‚¬μš©ν•˜μ—¬ μˆ˜λ™μœΌλ‘œ λ©”λͺ¨λ¦¬λ₯Ό ν™•μΈν•˜λ©΄ ν”Œλž˜μ‹œκ°€ μ˜¬λ°”λ₯΄κ²Œ 기둝 된 κ²ƒμœΌλ‘œ ν‘œμ‹œλ©λ‹ˆλ‹€.
μž₯μΉ˜μ— 읽기 / μ“°κΈ° λ³΄ν˜Έκ°€ μ„€μ •λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

st-flash --reset write 'build/bin'/uartbridge-mbiot.bin 0x08000000
st-flash 1.4.0-57-g7651d21
2019-02-28T09:33:08 INFO common.c: Loading device parameters....
2019-02-28T09:33:08 INFO common.c: Device connected is: L1 Medium-Plus-density device, id 0x10f86427
2019-02-28T09:33:08 INFO common.c: SRAM size: 0x8000 bytes (32 KiB), Flash: 0x40000 bytes (256 KiB) in pages of 256 bytes
2019-02-28T09:33:08 INFO common.c: Attempting to write 14376 (0x3828) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08003800 erased
2019-02-28T09:33:08 INFO common.c: Finished erasing 57 pages of 256 (0x100) bytes
2019-02-28T09:33:08 INFO common.c: Starting Half page flash write for STM32L core id
2019-02-28T09:33:08 INFO flash_loader.c: Successfully loaded flash loader in sram
2019-02-28T09:33:12 ERROR flash_loader.c: flash loader run error
2019-02-28T09:33:12 WARN common.c: l1_stlink_flash_loader_run(0x8000000) failed! == -1
2019-02-28T09:33:12 WARN common.c: 
write_half_pages failed == -1
 55/ 56 pages written
2019-02-28T09:33:25 INFO common.c: Starting verification of write complete
2019-02-28T09:33:25 ERROR common.c: Verification of flash failed at offset: 0
stlink_fwrite_flash() == -1

@WRansohoff : 릴리슀 v1.5.1에 β€‹β€‹λ¬Έμ œκ°€ μ—¬μ „νžˆ μ‘΄μž¬ν•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

λ¬Όλ‘ μž…λ‹ˆλ‹€. STM32L0 μΉ΄ν…Œκ³ λ¦¬ 2 μΉ©μ—μ„œλ„ μ΄λŸ¬ν•œ ν˜„μƒμ΄ 계속 λ°œμƒν•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ λ³΄λ“œλŠ” μŠ€ν† λ¦¬μ§€ ATM에 μžˆμœΌλ―€λ‘œ 5 월에 이사λ₯Ό 마칠 λ•ŒκΉŒμ§€ ν•  수 없을 κ²ƒμž…λ‹ˆλ‹€. λ―Έμ•ˆν•©λ‹ˆλ‹€.

@WRansohoff : 이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš”, STM32L433RC와 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
st-util 1.6.1을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

MCU의 ν”Œλž˜μ‹œλ₯Ό μ§€μš°μ‹­μ‹œμ˜€.
이 기사 μ‚¬μš© : https://electronics.stackexchange.com/questions/204996/stm32-st-link-cannot-connect-to-mcu-after-successful-programming

STM32Cubeμ—μ„œ SWD / JTAG 핀을 ν‘œμ‹œν•˜λŠ” 것을 μžŠμ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰