Freddie Chopin napisał: Czemu ty chcesz włączać konfig dla VSLINKa skoro masz ST-Linka? Przecież w OpenOCD jest nawet gotowy konfig dla płytki discovery, ale lepiej ponarzekać jak to wszystko jest beznadziejne bo nie działa tak jak Ty sobie to wymarzyłeś...
Eeeej... poczekaj... nie to miałem na myśli.
Jestem strasznym laikiem w konfiguracji Eclipse pod ARM. Otworzyłem twój tutorial i tam znalazłem informacje:
Freddie Chopin napisał: (...)W zakładce Main wprowadzić należy ścieżkę dostępu do OpenOCD - dla wersji 0.1.0 będzie to C:\Program Files\OpenOCD\0.1.0\bin\openocd.exe - oraz argumenty z którymi wywołany zostanie program, które zależne są od konfiguracji sprzętowej. W moim przypadku (JTAG-lock-pick + makieta z LPC2103) argumenty mają postać -f interface/jtagkey.cfg -f target/lpc2103.cfg .
Rozminęliśmy się w rozumowaniu, bo ja nie mam pojęcia co tam wpisać. Wszedłem w google i znalazłem "-f interface/vsllink-swd.cfg -f target/stm32f1x.cfg" nie wiem co powinno tam być wpisane by korzystać z ST-Link.
e-mega napisał: z optymalizacją znalazłem tu: LINK rozwiązaniem ponoć jest to: LINK, ale nie mam pojęcia jak to zastosować do Eclipse.
W tym całym git napisali co należy zrobić, ale przyznaję nie znam tych "gitów" i nie wiedziałem jak to rozumieć, a to była tylko prosta instrukcja jak przerobić core_cm3.c tak by działało dobrze.
Wystarczy tylko zamiast:
__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
wpisać
__ASM volatile ("strexb %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
i analogicznie dla strexh. Tak naprawdę wpisuje się tylko "=&r" zamiast "=r".
Poprawiłem całą konfigurację i teraz mi już działa programowanie
tyle że to wszystko działa w oparciu o tutorial Radosława Kwietnia korzystając z wtyczki do Eclipse.
Debugowanie nadal mi nie działa a wszystko przez wpis "jump ResetHandler" jeszcze nad tym pomyślę.
--PS. post edytowałem kilka razy.