konto usunięte

Temat: problem z programowaniem AT91RM9200

witam,
Szukałem pomocy już na kilku forach jednak nigdzie nie uzyskałem rozwiązania na mój problem:/
Posiadam zaprojektowaną przeze mnie płytkę z AT91RM9200 i męczę się z zaprogramowaniem tego już n-ty dzień... Projekt jest oparty na AT91RM9200-DK i podobnych projektach.
Na razie nie działa mi wysyłanie danych z PC do procka przez DBGU (myślałem że to wina spalonego Maxima ale po jego wymianie dalej nie śmiga). Na szczęście wysyłanie danych w drugą stronę działa w porządku;)

Główny problem wystąpił jednak gdy chciałem wrzucić jakiegokolwiek bootloadera do podłączonego dataflasha AT45DB041D.
W związku z tym że nie mogę wgrać bootloadera za pomocą protokołu xmodem musiałem zapisać go do dataflasha w następujący sposób:
ładuję program bootloadera do wewnętrznej pamięci SRAM a ten sam kopiuje się do dataflasha.
Ze stronki http://www.open-research.org.uk/ARMuC/At91rm9200_Booti... mam bootloader romboot przeportowany na gnuarm gcc i przekompilowany za pomocą gnuarm-4.0.2. Przerobiony przeze mnie troszkę kod ma w tej chwili ok. 11kB.
Podczas próby zapisu pamięci wyskakuje Data Abort w różnych miejscach w kodzie odpowiedzialnym za zapis Dataflasha i nie jestem w stanie tego namierzyć.. Wydaje mi się że ostatnio coraz bardziej wariuje mi debugger (Eclipse + GDB + OpenOCD).
Próbowałem też bootloadera Darella Harmonna, jeszcze kilka dni temu zapisywał mi zawsze 8 stron pamięci i zawieszał się przy 9ej, jednak od pewnego czasu przestało mi to działać:/
Dzisiaj przynajmniej udało mi się przetestować podłączoną zewnętrzną pamięć SDRAM i wygląda na to że działa ok:]

A oto moje pytania:
Ma ktoś może pomysł co może być nie tak lub gdzie robię głupi błąd?
Może powinienem użyć innego bootloadera / toolchaina?
Jak sprawdzić czy chip nie jest uwalony?
Co może być nie tak z tym DBGU?
Może któreś peryferia nie są poprawnie zainicjalizowane? (chociaż nie wydaje mi się bo ten kod, który mam podobno działa.. Chyba że to wina mojego kompilatora).
Ma ktoś namiary na przykładowe programy do AT91RM9200? Na necie znalazłem tylko te ze stronki Atmela, ale one są pod ADS.

Z góry dziękuję za wszelką pomoc:)
Kuba

konto usunięte

Temat: problem z programowaniem AT91RM9200

Witam ponownie,
Problem udało się rozwiązać:)
Po wymianie Maxima okazało się że dalej nie działa więc po rozkminieniu kabli okazało się że użyłem złej biblioteki podczas projektowania i piny w złączu DB-9 były umieszczone odwrotnie:/
Mimo poprawki wysyłanie danych przez minicoma dalej nie działało więc z nudów spróbowałem w hyperterminalu pod windowsem i poszło - Dataflash zaprogramował się bez problemu:)

Z tego co wyczytałem w dokumentacji po przesłaniu programu za pomocą DFU / xmodem, program jest wrzucany do pamięci SRAM i stamtąd uruchamiany. Dlaczego w takim razie, gdy wrzucę ten sam program do pamięci SRAM przez openocd i wywołam resume spod adresu 0x00 (pamięć SRAM jest mapowana na ten adres), wywala różne błędy? Czy to wina openocd oraz gdb i może dorzucają one coś od siebie do pamięci wewnętrznej?

Drugie pytanko - zna ktoś jakiś program oprócz minicoma pod linuksa? W tej chwili używam cutecom ale czasem wariuje mi wyświetlanie...
Janusz U.

Janusz U.
elektronik/informaty
k,
fizyk/optoelektronik

Temat: problem z programowaniem AT91RM9200

Polecam picocom - prosty a wystarczajaco genialny :)
W ogole uwazam, ze powinien byc w kazdej dystrybucji - zreszta przekonaj sie sam :)Janusz Użycki edytował(a) ten post dnia 20.06.09 o godzinie 04:22

Następna dyskusja:

LPC2378-STK problem z przer...




Wyślij zaproszenie do