Hi! Ich hab ein selbstgebautes AT91SAM7S-Board mit USB drauf. Auf dem Controller hab ich zur Zeit das SAM-BA Bootprogramm mithilfe der Recovery-Methode drauf. Meine frage lautet nun, ob ich mit SAM-BA mein Programm ins RAM laden kann und anschließend das Programm ausführen kann. Ich will nicht immer nach dem flashen und eventuellen versagen des Programms das SAM-BA Programm zurückspielen. Ausserdem wenn ich SAM-BA auf meinem Windows-Rechner starte und lasse mir die Speicherbereiche ausgeben, dann sthet dan immer 0 drinnen. Sollte da zumindest nicht SAM-BA im Flash drinnen stehen? mfg bernd
Ein gut gemeinter Rat: Kauf oder bau ein JTAG interface und vergiss SAMBA so schnell du kannst. Gibts hier im Shop, aber auch zum selbst bauen. openOCD als Software tut hier einwandfrei Dienst.
Hi! Danke für den gut geminten Rat, abe rich hab auf meinem PC weder einen Paralellen Port noch eine Serielle Schnittstelle. Bin also in gewisser weise auf USB angewiesen und die USB JTAG-Teile sind mir einfach ein bißchen zu teuer. mfg bernd
Kannst doch auch selber bauen. Hier schwirrt auch ein Projekt von Benedikt Sauter herum, das das mit nem AVR erledigt. Sonst halt nen FT2232 oder wie der heißt kaufen. Kosten < 20 Euro, und glaub mir, das lohnt sich.
Hallo, ich arbeit derzeit auch mit SAM-BA. Wenn ich die Binary manuell hochlade, dann wähle ich im Registerblatt "SRAM" den "Send File Name". Als Zieladresse nehme ich immer 0x202000, um nicht mit dem anderen Zeug in Konflikt zu geraten. Zu diesem Zeitpunkt sollte dann auch der Button "Compare sent file with memory" ein positives Ergebnis liefern. Starten kannst Du dein Programm dann z.B. über "go 0x202000" im TCL-Bereich. ------------------------------------ Das ganze geht auch ein bischen komfortabler, wenn man sich eine TCL-Datei aufzeichnet. Dann eine Verknüfung anlegen, die ungefähr so aussieht: "C:\Programme\ATMEL Corporation\AT91-ISP v1.9\SAM-BA v2.5\SAM-BA.exe" \usb\ARM0 AT91SAM7S256-EK "C:\Dokumente und Einstellungen\Peter\Desktop\iartest\leds.tcl" Dann geht eigentlich alles immer ganz flott, nachdem man die Binary erzeugt hat... MfG Peter
...in der TCL steht dann ungefär sowas: ----8<----8<----8<----8<----8<---- ######################################################################## global target ######################################################################## send_file {SRAM} "C:/Dokumente und Einstellungen/Peter/Desktop/iartest/ram/Exe/ledtest.bin" 0x202000 0 go 0x0202000 ----8<----8<----8<----8<----8<----
>Danke für den gut geminten Rat, abe rich hab auf meinem PC weder einen >Paralellen Port noch eine Serielle Schnittstelle. Bin also in gewisser >weise auf USB angewiesen und die USB JTAG-Teile sind mir einfach ein >bißchen >zu teuer. also wem ~45€ (soviel kostet ein olimex ARM USB JTAG TINY für OpenOCD hier im shop) zuviel ist, dem ist auch nicht zu helfen! gruss gerhard
hi! wass heisst hier nicht mehr zu helfen... ausserdem ist das ein haufen kohle für ein bißchen silizium... @ Peter Pippinger: ist das bei dir auch dass, beim rambereich immer nur nullen stehen? ausserdem wie läuft das dann mit den interrupts, wenn das programm auf adresse 0x202000 liegt? die müssen doch ganz am anfang bzw auf 0x200000 liegen. weil den bereich kann ich ja dann remappen. mfg bernd
Wer mit ARMen basteln will und sich über die "teure" Ausstattung aufregt, sollte wohl lieber bei AVR oder ähnlichem bleiben. Komisch, dass sich beim AVR niemand über die teuren ISP Adapter oder gar das unerschwingliche STK500 aufregt. kopfschüttel Da war doch erst kürzlich jemand, der sich beim beschreiben des Rams mit SAMBA eben jenes überschrieben hat und sich dann wundert, warum nichts mehr klappt. Die 45 Öcken hast du durch eine Stunde weniger Frust bei der Fehlersuche locker wieder drin. Wer nicht will, der hat schon.
hi! ich weiss gar nicht worüber sich hier aufgeregt wird. ich will mir das ding nicht einfach nicht kaufen. ausserdem gibt es eine andere möglichkeit den controller zu programmieren (SAM-BA) und für den anfang reicht das für mich voll und ganz aus. ich weiss ja noch gar nicht, ob mir der ARM zusagt. das ARM board ist übrigends selbst entwickelt. hat mich gerade mal 11 Euro gekostet. ich würde mir ausserdem nie ein STK500 kaufen, weils mir einfach auch zu teuer ist. meine AVRs programmier ich mir übrigends auch über ein selbstgebautes board über usb. und damit können wir hoffentlich endlich zur ursprungsfrage zurückkehren. mfg bernd
Hallo Bernd, ich habs gerade mal gecheckt: - die Binary habe ich im Hexeditor aufgemacht. - nach dem Hochladen siehts in dem Speicherbereich über SAM-BA genau so wie in der Datei aus. Soweit ich das aber sehe, ist es so, dass wenn der ARM7 dann mit "go" loslegt, ist er nicht mehr über SAM-BA erreichbar. Deshalb habe ich auch das mit der Verknüpfung bei mir gemacht. Einfach den ARM resetten (übers Knöpfle) und auf den Link klicken. Dann gehts gleich mit der neuen Binary weiter... <Spekulation ohne Fachwissen> Zu Deiner Frage mit den Interrupts: Ich habe bisher noch nichts mit den Interrupts gemacht. Aber es ist doch so, dass man an ein festgelegtes Register im Speicher einen Zeiger setzt, wohin dann der Programmcounter bei ausgelöstem Interrupt "springen" soll, oder? Im Assembler arbeitest du doch wahrscheinlich auch mit Labels. Dann sollte sich doch eigentlich auch der Assembler / Linker um die Berechnung der Labels kümmern, oder? </Spekulation ohne Fachwissen>
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.