|
Tytuł: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: markcomp Września 24, 2012, 09:59:15 STM32F4 DIscovery - środowisko programowania...
na moim ubuntu 11.10 poszedł ten opis budowy: Kod: $ sudo apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf texinfo build-essential libftdi-dev $ git clone https://github.com/esden/summon-arm-toolchain.git $ cd summon-arm-toolchain $ sudo ./summon-arm-toolchain $ cd .. $ sudo apt-get install libsgutils2-dev libusb-1.0-dev $ git clone https://github.com/texane/stlink.git $ cd stlink $ make teraz zobaczę czy to działa... Kod: smark@hpecik:~/ARM/stlink$ sudo ./gdbserver/st-util fu bar non-option ARGV-elements: fu bar 2012-04-19T11:36:28 INFO src/stlink-usb.c: -- exit_dfu_mode 2012-04-19T11:36:28 INFO src/stlink-common.c: Loading device parameters.... 2012-04-19T11:36:28 INFO src/stlink-common.c: Device connected is: F4 device, id 0x20006411 2012-04-19T11:36:28 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes Chip ID is 00000413, Core ID is 2ba01477. KARL - should read back as 0x03, not 60 02 00 00 init watchpoints Listening at *:4242... no i chyba łączność działa... teraz trzeba pouczyć się JAK ;) http://youtu.be/Jh58kwllU0s kompilacja przykładu Kod: $ EXPORT PATH=~/sat/bin:$PATH $ cd stlink/examples/blink $ make CONFIG_STM32F4_DISCOVERY=1 działa :) przykład (tylko wersja F4): Kod: /* missing type */ typedef unsigned int uint32_t; /* hardware configuration */ #define GPIOD 0x40020C00 /* port D */ #define GPIOD_MODER (GPIOD + 0x00) /* port mode register */ #define LED_PORT_ODR (GPIOD + 0x14) /* port output data register */ #define LED_GREEN (1 << 12) /* port D, pin 12 */ #define LED_ORANGE (1 << 13) /* port D, pin 13 */ #define LED_RED (1 << 14) /* port D, pin 14 */ #define LED_BLUE (1 << 15) /* port D, pin 15 */ void _tmain(void) { main(); } static inline void setup_leds(void) { *(volatile uint32_t*)GPIOD_MODER |= (1 << (12 * 2)) | (1 << (13 * 2)) | (1 << (13 * 2)) | (1 << (14 * 2)) | (1 << (15 * 2)); } static inline void switch_leds_on(void) { *(volatile uint32_t*)LED_PORT_ODR = LED_BLUE | LED_GREEN | LED_ORANGE | LED_RED; } static inline void switch_leds_off(void) { *(volatile uint32_t*)LED_PORT_ODR = 0; } #define delay() \ do { \ register unsigned int i; \ for (i = 0; i < 1000000; ++i) \ __asm__ __volatile__ ("nop\n\t":::"memory");\ } while (0) /* static void __attribute__((naked)) __attribute__((used)) main(void) */ void main(void) { setup_leds(); while (1) { switch_leds_on(); delay(); switch_leds_off(); delay(); } } trochę tego więcej niż w Arduino... jak to wrzucić do ARMka: Kod: $ arm-none-eabi-gdb (gdb) target extended localhost:4242 (gdb) load blink_F4.elf (gdb) continue Tytuł: Odp: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: markcomp Września 24, 2012, 10:01:13 chciałem jeszcze poinformować o problemie jaki powstał... podczas pierwszych prób z podłączeniem -- problem jest TRYWIALNY -- kabel USB
na pierwszym -działało... na drugim.. który wyglądał lepiej - NIE nie działało tak Kod: sudo ./gdbserver/st-util fu bar non-option ARGV-elements: fu bar 2012-04-21T22:14:13 WARN src/stlink-usb.c: Couldn't find any ST-Link/V2 devicesm na dobrym kablu - połączenie się po prosty pojawia: Kod: sudo ./gdbserver/st-util fu bar non-option ARGV-elements: fu bar 2012-04-21T22:18:25 INFO src/stlink-usb.c: -- exit_dfu_mode 2012-04-21T22:18:25 INFO src/stlink-common.c: Loading device parameters.... 2012-04-21T22:18:25 INFO src/stlink-common.c: Device connected is: F4 device, id 0x20006411 2012-04-21T22:18:25 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes Chip ID is 00000413, Core ID is 2ba01477. KARL - should read back as 0x03, not 60 02 00 00 init watchpoints Listening at *:4242... to połączenie warunkuje pracę z debuggerem (gdb - The GNU Debugger), który robi za ładowacz kodu... Kod: mark@hpecik:~/ARM/stlink/example/blink$ arm-none-eabi-gdb GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=arm-none-eabi". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. (gdb) target extended localhost:4242 Remote debugging using localhost:4242 0x0800788c in ?? () (gdb) load blink_ blink_32L.elf blink_32VL.elf blink_F4.elf (gdb) load blink_F4.elf Loading section .text, size 0x48 lma 0x20000000 Start address 0x20000000, load size 72 Transfer rate: 900 bytes/sec, 72 bytes/write. (gdb) continue istotne jest przyłączenie się debuggera do moduły za pomocą łącza zbudowanego wcześniej Kod: st-util fu bar [...] Listening at *:4242... 4242 - słucha.. więc my do niego będziemy gadać: Kod: target extended localhost:4242 a następnie - ładujemy skompilowany wcześniej kod przykładu Kod: load blink_F4.elf make przykładu wygenerował: blink_32L.elf blink_32VL.elf blink_F4.elf wybrałem F4 -- bo nasz cortex jest 4 następne polecenie powoduje rozpoczęcie wykonywania kodu (ale z możliwością zatrzymania) Kod: continue inne polecenia... dokładny opis można uzyskać Kod: man arm-none-eabi-gdb Tytuł: Odp: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: markcomp Września 25, 2012, 11:42:49 ciekawy opis:
http://www.triplespark.net/elec/pdev/arm/stm32.html Tytuł: Odp: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: markcomp Września 25, 2012, 11:43:23 Przegląd możliwości timerów w STM32F
http://www.stm32.eu/node/217/page/0/4 Tytuł: Odp: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: markcomp Września 25, 2012, 11:43:45 Sygnały zegarowe STM32F1 Connectivity Line
http://www.stm32.eu/node/27 Tytuł: Odp: STM32F4 DIscovery - środowisko programowania... Wiadomość wysłana przez: Jagoda Lipca 28, 2017, 10:46:43 Jestem pod wrażeniem wiedzy ;)
|