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

AT91SAM7S64 - błędy weryfikacji H-JTAG i OCDeamon przy programowaniu

Yagarto 03 Paź 2007 19:33 2122 6
REKLAMA
  • #1 4345283
    Yagarto
    Poziom 2  
    Posty: 4
    Witam,

    Nie moge zaprogramowac procesora AT91SAM7S64,
    uzywam std wigglera na LPT
    H-JTAG pokazuje bledy przy veryfikacji, OCDeamon tez wariuje.
    Kabel jest bardzo krotki ( tasma ma okolo 10 cm)
    Zasilanie dostaje normalnie przez LDO z 5 do 3.3V (zmierzylem jest 3v)
    Wszystkie wtyczki tasmy a nawet programator jest nowy, procesor i plytka na ktorej programuje nowe solidnie wykonane.
    W czym moze byc problem?

    BTW: Jak skonfigurowac OPENOCD sciagnalem z www.Yagarto.de ale nie mam bladego pojecia jak zaprogramowac w/w procek Wigglerem pod Windows

    H E L P :-)
  • REKLAMA
  • #2 4346592
    piotrkopec
    Poziom 17  
    Posty: 189
    Pomógł: 24
    Ocena: 2
    Może to
    http://www.macraigor.com/FAQ.htm
    Cytat:
    What mode must my parallel port be in?

    As far as the parallel port is concerned, a Wiggler is a simple uni-directional device. It will work with the parallel port in any mode EXCEPT "ECP". It will NOT work in ECP mode at all.
  • REKLAMA
  • #3 4346601
    Yagarto
    Poziom 2  
    Posty: 4
    nie to nie to, jak napisalem wyzej zmienialem to, dodatkowo na innym komputerze tez sprawdzalem - to samo ... :(
  • REKLAMA
  • #4 4346732
    piotrkopec
    Poziom 17  
    Posty: 189
    Pomógł: 24
    Ocena: 2
    Zakładam, że masz dostęp do portu(userport) i dobrze ustawiłeś adresy
    Ściągnij:
    http://home.planet.nl/~m.f.hajer/lpt_tester.html
    Sprawdź stany przy procku zmieniając:
    base address( output)
    bit 0 -- RST
    bit 1 -- TMS
    bit 2 -- TCLK
    bit 3 -- TDI

    zapnij TDO wysoko, później w ziemie, czy zmienia się stan na 'bit 7' pola 'base address( input)' w lpt_tester?
    TST otwarte?
    wypróbuj jeszcze 'ocd commander'
    http://www.macraigor.com/ocd_cmd.htm
    i przecież nie wspomniałeś o 'ECP' ;)
    no i jeszcze czy na 'jtag'u połączenie lpt pin8--pin16
  • #5 4349507
    Yagarto
    Poziom 2  
    Posty: 4
    Sorry rzeczywiscie nie wspomnialem :)
    Chyba gdzie indziej musialem po prostu ryje mi juz beret od tego ponad 14 h spedzilem siwiejąc.

    W koncu sie udalo ale na takich warunkach

    OpenOcd - flashuje Ok 33 kb w 8 sekund
    H-JTAG - wariuje jakies dziwne bledy za kazdym razem inny blad praktycznie
    Flash programmer tez zle dziala jakies bledy ciagle przy weryfikacji.

    Takze tylko OPENOCD od ktorego uciekalem jak najdalej bo wydawalo sie skomplikowane w koncu nie uniknalem tego i stwierdzam ze jest the best skoro inne programy nie potrafia z moim sprzetem poradzic :)
    Wie ktos jak napisac skrypt do OPENOCD ktory bedzie od razu weryfikowal programowanie?

    pozdrawiam
  • REKLAMA
  • #6 4352610
    piotrkopec
    Poziom 17  
    Posty: 189
    Pomógł: 24
    Ocena: 2
    Dziwne że tamte programy nie działają.
    Ale to już nie Twój problem :)
    Co do weryfikacji to widziałem 'posty motywacyjne' do dodania tej opcji do 'oocd' ale nie wiem czy coś idzie w kierunku implementacji.
    A poza 'oocd' to trochę kłopotliwe.
    Można by było wykorzystać komendę z 'oocd':
    Cytat:
    dump_binary <file> <address> <size> Dump target memory of size bytes at address into file.

    i porównać z 'windows'owej powłoki 'fc /b'( file compare /binary) ale pliki różnią się wielkością( bo w dump_binary nie wiemy ile miał wejściowy plik i 'drzemy' całą przestrzeń 'flash'a). Chyba żeby pliki do flash'owania miały po 64k... Pomyślę.
    z 'oocd' fajnie się gada( szczególnie jeżeli w grę wchodzą 'lockbit'y lub ręczne załączanie peryferiów czy sprawdzanie rejestrów) przez 'telnet'a( np. hyperterminal) ale wklepywanie ręcznie to wątpliwa przyjemność
    Może znalazłby się ktoś zręcznie władający 'python + tk + telnetlib' i napisał małą automatykę do tych czynności ukrytą pod kilkoma przyciskami ??? Zapewne wiele wdzięczności od wszystkich pracujących z 'arm'ami i punkciory( ode mnie gwarantowane).
    ADD++++++++++++++++++++++++++++++++ADD
    weryfikacja
    w skrypcie flash'owania 'oocd' po spaniu daj:
    dump_binary dump.bin 0x100000 0xffff

    zrzuci to flash'a do dump.bin
    w 'Makefile' dodaj pracę na końcowej binarce, zaraz pod 'objcopy elf -> bin'
     
         avr-objcopy --input-target binary --output-target binary --pad-to 0xffff moj_flash.bin
    

    to doda zerowe bajciory dla równej wielkości plików
    nie wiem jak w 'yagarto' wywoływany jest 'oocd' ale jakkolwiek tego nie robi może też to robić przez plik flashing.bat:
    
    echo off
    openocd -d2 -f moj_oocd.cfg
    fc /b moj_flash.bin dump.bin
    rem może być też pauzą
    pause
    

    lub bezpośrednio w 'Makefile'
    paskudny sposób. ale powinien działać
    0xffff to dla flasha...
  • #7 4443945
    piotrkopec
    Poziom 17  
    Posty: 189
    Pomógł: 24
    Ocena: 2
    Odświeżyłem swoje oocd ( svn, rev211). Jest tam dostępna komenda 'verify_image' lecz nie działa ona prawidłowo( przynajmniej nie u mnie). Napisałem maila do człowieka z berlios.de i czekam na odpowiedź. Komendy load_binary i dump_binary są zastąpione load_image i dump_image pozwalającymi ładować pliki w innych formatach niż czysta binarka
    Cytat:
    load_image load_image <file> <address> ['bin'|'ihex'|'elf'|'s19']
    dump_image dump_image <file> <address> <size>
    verify_image verify_image <file> [offset] [type]
    load_binary [DEPRECATED] load_binary <file> <address>
    dump_binary [DEPRECATED] dump_binary <file> <address> <size>

    Może wersja od YAGARTO działa poprawnie, sprawdzę później.

Podsumowanie tematu

✨ Problem dotyczy programowania procesora AT91SAM7S64 za pomocą programatora std wiggler podłączonego do portu LPT. Użytkownik napotyka błędy weryfikacji w narzędziu H-JTAG oraz niestabilne działanie OCDeamon. Kabel JTAG jest krótki (ok. 10 cm), zasilanie stabilne (3 V z LDO). Sprzęt i połączenia są nowe i poprawnie wykonane. Propozycje rozwiązań obejmują testowanie sygnałów JTAG za pomocą narzędzia lpt_tester, sprawdzenie konfiguracji portu LPT (adresy, tryb ECP), oraz użycie alternatywnego oprogramowania jak OCD Commander. Ostatecznie programowanie udaje się z użyciem OpenOCD, które działa stabilnie i szybciej niż H-JTAG i Flash Programmer, mimo początkowych trudności z konfiguracją. Dyskusja porusza także temat implementacji funkcji weryfikacji w OpenOCD, która jest dostępna, lecz nie zawsze działa poprawnie. Wskazano możliwość automatyzacji procesu programowania i weryfikacji przez skrypty wykorzystujące telnet i Python. Wersja OpenOCD z YAGARTO jest rozważana jako potencjalnie bardziej stabilna.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA