ΠΠΠΠΠΠΠΠ: ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π² # 906 ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ.
[x] Π― ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ» ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π’ΠΈΠΏ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° / ΠΏΠ»Π°ΡΡ: ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ
st-util
ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ / ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ ΠΏΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° https://github.com/WRansohoff/STM32F0_minimal.
ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Ρ. Π. ΠΠ΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΡΠ΅ΠΌ Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ st-util
ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡ ΠΊ ΠΏΠ»Π°ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ arm-none-eabi-gdb main.elf
ΠΈ target extended-remote :4242
ΠΠ°ΡΠ΅ΠΌ Ρ Π·Π°Π³ΡΡΠΆΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ load main.elf
.
ΠΠ΄Π΅ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ v1.5.0 ΠΈ v1.6.0 ΡΠ°ΡΡ
ΠΎΠ΄ΠΈΡΡΡ.
Π Π²Π΅ΡΡΠΈΠΈ 1.5.0 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ si
, ΠΈ Ρ ΠΌΠΎΠ³Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠΈΠΊΠ» ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ r0
ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
Π v.1.6.0 ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ si
ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π½Π° 0xfffffffe
, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ r0
Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° r7
ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² 0xdeadbeef
.
Π― ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π» ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ OpenOCD 0.10.0, ΠΈ ΡΠΌΠΎΠ³ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ ΡΠΎΠ±ΡΠ°Π» v1.5.0 ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ libusb 1.0.23 ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΠΏΠ°ΡΡ # 704.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠΎΠΉ Ρ Π²Π°Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠΏΠΈΡΠΈΡΠ΅ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π Π°Π±ΠΎΡΠ°ΡΡ Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² (ΡΠ½ΠΎΠ²Π°)?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΏΠ»Π°Ρ Nucleo ΠΈ Discovery, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ²Π»ΡΡΡΡΡ ST-Link v2, ΠΈ USB-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ST-Link v2 Π΄Π»Ρ ΡΠΈΠ½Π΅ΠΉ ΡΠ°Π±Π»Π΅ΡΠΊΠΈ.
ΠΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° v1.6.1 - ΡΡΠΎ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π½Π° macOS, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π½Π° openSUSE Ρ Π±ΡΠ» Π½Π° v1.6.0.
@gcohara ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ develop
? Π― ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» Π΅Π³ΠΎ Π½Π° stm32f07, ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠΎ Π² Π²Π΅ΡΠΊΠ΅ develop
ΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
ΠΠ·Π²ΠΈΠ½ΠΈ, ΠΌΠ½Π΅ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°ΠΉΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ. Π Π΅ΡΠ΅Π½Π½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.