logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego

develorn 04 Sty 2014 14:16 2283 12
  • #1 13135330
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Witam
    Korzystam ze środowiska Eclipse. OpenOcd wydaje mi się, że działa poprawnie (widok konsoli):
    Open On-Chip Debugger 0.7.0 (2013-05-05-10:41)
    Licensed under GNU GPL v2
    For bug reports, read
    	http://openocd.sourceforge.net/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'jtag'
    adapter speed: 1000 kHz
    adapter_nsrst_delay: 100
    jtag_ntrst_delay: 100
    cortex_m3 reset_config sysresetreq
    adapter speed: 500 kHz
    trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
    Info : clock speed 500 kHz
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
    


    Natomiast podczas debugowania GDB pojawia się coś takiego:
    Info : accepting 'gdb' connection from 3333
    Info : device id = 0x10016420
    Warn : STM32 flash size failed, probe inaccurate - assuming 128k flash
    Info : flash size = 128kbytes
    Warn : acknowledgment received, but no packet pending
    undefined debug reason 6 - target needs reset
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000050, MEM_AP_TAR 0xffffffeb
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Warn : Block read error address 0xfffffffc
    Polling target stm32f1x.cpu succeeded again
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffca
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffcc
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffce
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffda
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffdc
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffde
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffea
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffc8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffca
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffcc
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffce
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffd8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffda
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffdc
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffde
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe0
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe2
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe6
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffe8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000051, MEM_AP_TAR 0xffffffea
    


    Skrypty mam ze strony frediego, zmieniłem tylko rozmiar pamięci mikroprocka.
    Ustawienia GDB zamieszczam na zdjęciach poniżej:
    STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego

    Czy wie ktoś gdzie może leżeć błąd, że program nie chce się wgrać? Bardzo proszę o pomoc ; (
  • #2 13135437
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Z pola "initialization commands" wyrzuć "load", zaznacz też "load symbols" poniżej. Wydaje mi się, że masz zainstalowaną starą wersję wtyczki GDB Hardware Debugging - w tutorialu na mojej stronie jest link do wersji aktualnej w 2009 (dla Eclipse Ganymede)... Zakładając najnowsze Eclipse: Help > About Eclipse > Installation Details - wtyczka od debuggowania powinna mieć mniej więcej taką wersję:

    C/C++ GDB Hardware Debugging 7.2.0.201309180223 org.eclipse.cdt.debug.gdbjtag.feature.group Eclipse CDT

    4\/3!!
  • #3 13137894
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Zaktualizowałem GDB i obecnie mam wersje:
    "C/C++ GDB Hardware Debugging 7.2.0.201309180223 org.eclipse.cdt.debug.gdbjtag.feature.group Eclipse CDT"
    Zmieniłem ustawienia w GDB tak jak mówiłeś. Przedstawia to załączone niżej zdjęcie:
    STM32 Discovery F100 - Konfiguracja GDB + lock-pick od frediego
    OpenOcd w dalszym ciągu poprawnie się uruchamia, natomiast przy próbie debugowania pojawiają się następujące błędy:
    Open On-Chip Debugger 0.7.0 (2013-05-05-10:41)
    Licensed under GNU GPL v2
    For bug reports, read
    	http://openocd.sourceforge.net/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'jtag'
    adapter speed: 1000 kHz
    adapter_nsrst_delay: 100
    jtag_ntrst_delay: 100
    cortex_m3 reset_config sysresetreq
    adapter speed: 500 kHz
    trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
    Info : clock speed 500 kHz
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
    Info : accepting 'gdb' connection from 3333
    Info : device id = 0x10016420
    Warn : STM32 flash size failed, probe inaccurate - assuming 128k flash
    Info : flash size = 128kbytes
    Warn : acknowledgment received, but no packet pending
    undefined debug reason 6 - target needs reset
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 300ms
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Polling target stm32f1x.cpu succeeded again
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Warn : Block read error address 0xfffffffc
    Info : dropped 'gdb' connection
    Info : accepting 'gdb' connection from 3333
    Warn : acknowledgment received, but no packet pending
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000050, MEM_AP_TAR 0x23f3b08f
    Info : dropped 'gdb' connection
    Info : accepting 'gdb' connection from 3333
    Warn : acknowledgment received, but no packet pending
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000050, MEM_AP_TAR 0x23f3b08f
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Polling target stm32f1x.cpu succeeded again
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Polling target stm32f1x.cpu succeeded again
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Warn : Block read error address 0xfffffffc
    Error: address + size wrapped(0xfffffffe, 0x0000002c)
    Error: address + size wrapped(0xfffffffe, 0x0000002c)
    Error: address + size wrapped(0xffffffff, 0x00000034)
    Error: address + size wrapped(0xffffffff, 0x00000034)
    Info : dropped 'gdb' connection
    Info : accepting 'gdb' connection from 3333
    Warn : acknowledgment received, but no packet pending
    Error: address + size wrapped(0xfffffffe, 0x00000004)
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xff56aea4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xff56aea4
    Warn : Block read error address 0xff56aea0
    Error: stm32f1x.cpu -- clearing lockup after double fault
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 300ms
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xff56aea4
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xff56aea4
    Warn : Block read error address 0xff56aea0
    Polling target stm32f1x.cpu succeeded again
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Error: JTAG-DP STICKY ERROR
    Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffff000
    Warn : Block read error address 0xfffffffc

    i to sie tak ciagnie i ciagnie...
    W zasadzie mozliwe chyba że fizycznie programator jest zle podpiety do plytki discovery (aczkolwiek wtedy chyba openocd by nie trybił) bądź skrypty linkera do f103 ze strony frediego przerobione na f100 (zmiana tylko pamieci) nie trybią dobrze...no nie wiem ah
  • #4 13137914
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Zacznij więc od próby kontrolowania i programowania wykorzystując samo OpenOCD i telnet. Jeśli podpinasz JTAGa do płytki discovery, to odłączyłeś ST-Linka? W jaki sposób podpiąłeś się do pozostałych linii JTAGa? Czy podpiąłeś obydwa resety? Czy skonfigurowałeś je w OpenOCD?

    4\/3!!
  • #5 13137992
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    OpenOcd wywołuje z parametrami:
    -f scripts/interface/ftdi/jtag-lock-pick_tiny_2.cfg -f scripts/target/stm32f1x.cfg
    -c "adapter_khz 500; reset_config trst_and_srst;"
    ST-Linka odłączyłem rozwierając wszystkie jumpery
    Następnie podłączam JTAga wykorzystując jeden reset, który na płytce podciągnięty jest do VCC.
    W jaki sposób można wgrać program przez OpenOcd wykorzystując telnet?
  • #6 13138002
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    develorn napisał:
    Następnie podłączam JTAga wykorzystując jeden reset, który na płytce podciągnięty jest do VCC.

    A do OpenOCD przekazujesz informacje, że masz dwa...

    develorn napisał:
    W jaki sposób można wgrać program przez OpenOcd wykorzystując telnet?

    Połączyć się przez telnet (port 4444) i wysłać parę komend. Przykłady w manualu do JTAGa.
    4\/3!!
  • #7 13138083
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Poczytałem manuala do JTAga i spróbowałem wgrać kod przez OCD. Wywołuje go z parametrami:
    Cytat:
    -f scripts/interface/ftdi/jtag-lock-pick_tiny_2.cfg
    -f target/stm32f1x.cfg
    -c "adapter_khz 1000;
    reset_config trst_and_srst;
    init; reset init;
    flash write_image erase C:/ARM/project_eclipse/stm32_timer/out/stm32_timer.hex;
    reset run; shutdown;"


    Otrzymuje błędy:
    Open On-Chip Debugger 0.7.0 (2013-05-05-10:41)
    Licensed under GNU GPL v2
    For bug reports, read
    	http://openocd.sourceforge.net/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'jtag'
    adapter speed: 1000 kHz
    adapter_nsrst_delay: 100
    jtag_ntrst_delay: 100
    cortex_m3 reset_config sysresetreq
    adapter speed: 1000 kHz
    trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
    Info : clock speed 1000 kHz
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x08000130 msp: 0x200001f8
    auto erase enabled
    Info : device id = 0x10016420
    Info : flash size = 128kbytes
    wrote 2048 bytes from file C:/ARM/project_eclipse/stm32_timer/out/stm32_timer.hex in 0.216013s (9.259 KiB/s)
    Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
    Info : JTAG tap: stm32f1x.bs tap/device found: 0x06420041 (mfg: 0x020, part: 0x6420, ver: 0x0)
    Error: stm32f1x.cpu -- clearing lockup after double fault
    target state: halted
    target halted due to debug-request, current mode: Handler HardFault
    xPSR: 0x61000003 pc: 0xfffffffe msp: 0x200001f8
    Polling target stm32f1x.cpu failed, GDB will be halted. Polling again in 100ms
    shutdown command invoked
    Polling target stm32f1x.cpu succeeded again


    Więc coś się chyba wgrało (aczkolwiek dioda nie świeci a powinna). I źle powiedziałem..chyba wykorzystuje 2 resety. Jeden TRST podłączam do PB4 a drugi NRST do wyprowadzenia rst (podłączony do VCC)...ale i tak dalej jest błąd ; /
    Jestem początkującym więc proszę o wyrozumiałość ; (
  • #8 13138810
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Jak przykładowy projekt weź przykład stm32_blink_led z mojej stronki - popraw tylko port/pin diody i w funkcji main() wyłącz całkowicie ustawianie PLL (na razie nie ma co sobie tym zaprzątać głowy).

    OpenOCD stwierdza tylko, że w układzie wystąpił "podwojny fault" (wejście do obsługi faulta spowodowało kolejny fault), więc równie dobrze może to być problem programowy. Możesz też spróbować już debuggowania w Eclipse skoro się coś wgrało...

    Tak czy siak - polecam na początek import przykładu (Import > Existing Project Into Workspace) - tam jest WSZYSTKO skonfigurowane, wystarczy skompilować, uruchomić OpenOCD (jest gotowy skrót) i uruchomić debuggowanie (jest gotowy skrót) - jeśli czujesz potrzebę mieszania czegoś w przykładzie (poza plikiem config.h i wyłączeniem funkcji pll_start() w main()), to naprawdę się wstrzymaj dopóki wszystko nie zacznie działać.

    4\/3!!
  • #9 13140001
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Wszystkie pliki mam właśnie z Twojego przykładowego projektu. Zmieniłem tylko rozmiar pamięci bo tam było chyba na f103. No nie wiem, to pokminię jeszcze nad tym
  • #11 13147572
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Poszedłem za Twoją radą i importowałem cały projekt ... no i MIGA ! Więc dzięki wielkie naprawdę...i jeszcze jedno pytanko mam.
    Bo wszystko działa gdy zakomentuje w main linijke:
    pll_start(CRYSTAL, FREQUENCY);
    Gdy ją od komentuję, podczas debugowania wszystko się sypie. Wiesz może jak trzeba ustawić PLL aby to trybiło?
    (w sumie tak zastanawiam się dlaczego wogle lampka miga jezeli nigdzie nie inicjalizuje pętli fazowej i tp)
  • Pomocny post
    #12 13147948
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    develorn napisał:
    Gdy ją od komentuję, podczas debugowania wszystko się sypie. W

    Zakładając że mówimy o projekcie stm32_blink_led, czyli tym dla F103.

    Jeśli w config.h ustawisz FREQUENCY na 24MHz max, w funkcji pll_start() wywalisz wywołanie funkcji flash_latency() (w F100 niby nie da się tego przestawiać), to powinno zadziałać, choć niekoniecznie optymalnie (w funkcji pll_start() dla którejś z magistral APB jest ustawiony dzielnik /2, który był konieczny dla F103, a dla F100 jest zbędny).

    4\/3!!
  • #13 13151173
    develorn
    Poziom 10  
    Posty: 29
    Pomógł: 1
    Super, działa ; ] Już coraz lepiej to się zapowiada. Szkoda tylko że nie masz Fredi podobnego gotowego szablonu z bibliotekami API, no ale wiem że na Twojej stronie jest to napisane jak to zrobić wszystko więc mam nadzieję ze nic nie zepsuje; D

    Dodano po 1 [godziny] 28 [minuty]:

    Połączyłem projekt z bibliotekami API. Zrobiłem wszystko tak jak pisało na stronie, projekt się skompilował bez zarzutów. Jednak przy wgrywaniu kody znowu się wysypał. Na 99.9% jest to wina ustawień taktowania procka (ten sam błąd na początku był bez bibliotek API).
    W pliku system_stm32f10x.c jest fragment kodu:
    #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
    /* #define SYSCLK_FREQ_HSE    HSE_VALUE */
     #define SYSCLK_FREQ_24MHz  24000000
    #else
    /* #define SYSCLK_FREQ_HSE    HSE_VALUE */
    /* #define SYSCLK_FREQ_24MHz  24000000 */ 
    /* #define SYSCLK_FREQ_36MHz  36000000 */
    /* #define SYSCLK_FREQ_48MHz  48000000 */
    /* #define SYSCLK_FREQ_56MHz  56000000 */
    #define SYSCLK_FREQ_72MHz  72000000   
    #endif

    na dole SYSCLK_FREQ ustawiłem dla pewności też na 24MHz, lecz dalej jest ten sam błąd.Wiesz może Fredie (albo ktokolwiek) jak w bibliotekach API ustawić odpowiednie taktowanie dla STM32F100 - czyli 24Mhz i kwarc 8Mhz? (kwarc w makefilu jest zadeklarowany, wiec zostalo tylko ustawienie 24Mhz ) hmm

    Dodano po 20 [minuty]:

    Generalnie wystarczyło zakomentować linijkę 72Mhz a odkomentować tą 24Mhz hah; D ale jak by ktoś czytał to i miał podobny problem do mnie, to przynajmniej ma już rozwiązanie; ] Tak więc narazie temat zamykam, dziękuje za pomoc Frediemu i życzę wszystkim miłego dnia/nocy; ]

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik korzysta z Eclipse i OpenOCD do debugowania STM32 Discovery F100, napotykając problemy z konfiguracją GDB. Po aktualizacji wtyczki GDB Hardware Debugging i dostosowaniu ustawień, użytkownik nadal doświadcza błędów podczas debugowania. Wskazówki dotyczące użycia OpenOCD przez telnet oraz poprawnej konfiguracji JTAG są udzielane przez innych uczestników dyskusji. Użytkownik odnosi sukces po zaimportowaniu przykładowego projektu, ale napotyka problemy z inicjalizacją PLL. Ostatecznie, po dostosowaniu ustawień taktowania, projekt działa poprawnie.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA