Ich habe eine Anwendung für meinen ARM7, die normalerweise in FLASH gebrannt und dann bei der Ausführung in den RAM kopiert wird (um etwas schneller zu laufen). Aber ich erinnere mich, dass mein Professor einmal sagte, ich solle mein Programm aus dem RAM laufen lassen, weil man den FLASH nur so oft brennen kann. Meine Frage ist also - gibt es eine spezielle Möglichkeit, das Programm zu brennen, damit es direkt aus dem RAM ausgeführt werden kann (nicht durch Kopieren aus FLASH)? Ich weiß, dass ich einen benutzerdefinierten Bootloader verwenden könnte, aber das ist keine Option. Ich kann den SAM-BA-Loader verwenden, aber meines Wissens wird er zum Flashen des Geräts verwendet, er kann nicht zum Ausführen von Code aus dem RAM verwendet werden, und wenn dies möglich wäre, ist das direkte Schreiben in den RAM möglich?
SAM-BA ist ein Bootloader, wenn Sie also Samba haben, müssen Sie wirklich keinen anderen neu erfinden. Verwenden Sie es einfach. Jtag funktioniert normalerweise auch, um Programme in den RAM laden und ausführen zu können. Irgendwann gehe ich davon aus, dass Ihre Anwendung vom Flash ausgeführt werden muss, sobald Sie dies in ein Projekt / Gadget oder was auch immer verwandeln. nicht erforderlich, aber vorausgesetzt. Sie könnten Ihre RAM-Version mit einer kleinen Kopie des Ram-Programms umhüllen.
Ich empfehle Ihnen, samba oder was auch immer zu verwenden, um den Benutzer-Flash zu löschen, damit Samba nicht versucht, ihn zu laden, und um sicherzustellen, dass sich der Chip in einem bekannten Zustand befindet. Bei Samba bin ich mir nicht sicher, aber es ist möglich, dass der Bootloader, wenn er ein Programm im Flash nicht erkennt, möglicherweise die Uhren erhöht oder Peripheriegeräte (uart) einrichtet, die er möglicherweise nicht hat, wenn er Flash kopiert hätte, sodass Sie möglicherweise immer noch in einer Situation landen dass Ihr im RAM getestetes Programm funktioniert, aber sobald Sie es von einem Flash-basierten Programm kopieren oder von Flash ausführen, funktioniert es möglicherweise nicht. Es können einige Flash-Zyklen erforderlich sein, um den Test abzuschließen. oder Sie können Ihren eigenen Bootloader erstellen, der Samba ausführt, und dann befinden Sie sich in einem bekannten Zustand. Meine Präferenz ist eine dumme Xmodem-Sache, der Bootloader tut gerade genug, um den uart einzurichten und auf einen Xmodem-Download zu warten, dann lädt er an eine bekannte Adresse im RAM herunter. Ersetzen Sie dann den xmodem-Downloader durch die Kopie in den RAM und führen Sie ihn aus. so gibt es keine überraschungen.
krass
Bart
krass
krambo
Bart