PIC: Programme aus externem SRAM ausführen

OP #1432474
Hallo,

ich möchte mit einem PIC-uC Programme in einem externen SRAM
ausführen. Ich habe mir dazu zwei möglichkeiten überlegt:

1. Inhalt des SRAMs mit zweitem PIC in den ersten brennen und dann
ausführen.
+ Recht einfach
- FlashSpeicher schnell erschöpft, wenn häufig benutzt (Bsp. Start)

2. Kompletter ASM-Interpreter in den PIC brennen, welcher SRAM liest
und interpretiert
+ PIC muss nie mehr gebrannt werden
- Sehr langsam
- SEHR VIEL Arbeit

Ziel ist ein PC ähnliches System zu erstellen. Man soll damit
Programme schreiben können und diese sollen dann natürlich auch
ausführbar sein.
Hat jemand vlt. noch einen anderen Vorschlag?

Viele Grüße
Sebihepp
OP
Eigentlich wollte ich bei den PICs bleiben.

Sagt mal, ich finde nirgends einen Cortex M3. Weder bei Reichelt,
noch bei Conrad. Lediglich die ATTiny und welche mit ARM7-Core
gibt es dort. Suche ich vielleicht falsch? Das sind doch
Prozessoren/Mikrocontroller, oder?
OP
Ich habe mir mal das Datenblatt des PIC32MX360F512L angesehen.
Da steht aber nix davon drinnen, dass der das kann. =)

Ich werde mir mal ein Interpreter durch den Kopf gehen lassen.
Und zur Not kann ich ja immer noch das "Self-Programming"
benutzen. Muss nur drauf aufpassen, dass während des schreibens
nicht der Code zum Schreiben überschrieben wird. XD

Viele Grüße
Sebihepp
OP
> In addition, the data memory can
> be made executable, allowing PIC32MX3XX/4XX to
> execute from data memory.

Ist "data memory" nicht der EEPROM?

> Schau mal nach 18C601 und 18C801, das sind Typen die nur mit externem
> Programmspeicher arbeiten können.
>
> Die gibt es auch noch im "bastlerfreundlichen" PLCC Gehäuse.

Danke für den Tipp. Bisher dachte ich, dass die C-Typen nur einmal
programmierbar wären. Ich schau sie mir nochmal genauer an. =)

Viele Grüße
Sebihepp
Gast
>> In addition, the data memory can
>> be made executable, allowing PIC32MX3XX/4XX to
>> execute from data memory.

>Ist "data memory" nicht der EEPROM?

Nein, das wird bei den PIC32 nämlich nicht getrennt vom Programm-Flash 
verwaltet. MC meint mit 'Data Memory' das RAM. Du holst den Inhalt 
deines externen Programmspeichers ins RAM und führst ihn von dort aus.
> Danke für den Tipp. Bisher dachte ich, dass die C-Typen nur einmal
> programmierbar wären. Ich schau sie mir nochmal genauer an. =)

Die 18C601 und 18C801 sind Spezialtypen, die lassen sich überhaupt nicht 
programmieren, da sie keinen internen Programmspeicher haben.
Gast
>>Also Pic's mit so nem Parallelport können das doch denke ich!
Nein, der PIC32 kann nur Daten im internen RAM ausführen, nicht über den 
"Parallelport". Du müsstest also den Code von einem externen Speicher in 
den RAM kopieren und dann dort ausführen.
Von einem exteren Baustein Code ausführen können nur PIC mit einem 
"External Memory Interface", was beispielsweise der 18F8722 hat.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.