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
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:
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...
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
st-util fu bar
[...]
Listening at *:4242...
4242 - słucha.. więc my do niego będziemy gadać:
target extended localhost:4242
a następnie - ładujemy skompilowany wcześniej kod przykładu
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)
continue
inne polecenia... dokładny opis można uzyskać
man arm-none-eabi-gdb