mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC: Programme aus externem SRAM ausführen


Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael Lehr (Firma: Ingenieurbüro Lehr) (ml-net)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm einen Controller der das kann! Cortex M3 ist eh schon billiger als 
PIC

Autor: Michael H. (morph1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder wenns ein pic sein muss: pic32 kann was du wünscht :)

Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: xmax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> oder wenns ein pic sein muss: pic32 kann was du wünscht :)
sicher???

Es gibt ein paar PIC18F, die standardmäßig Code aus externem 
(SRAM-)Speicher ausführen können. Z.B. der PIC18F8720:
http://www.base32.de/EMI1.html
bzw. der neuere 18F8722, den gibt es auch bei Reichelt.

Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael H. (morph1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zitat http://ww1.microchip.com/downloads/en/DeviceDoc/61143F.pdf:

In addition, the data memory can
be made executable, allowing PIC32MX3XX/4XX to
execute from data memory.

PDF-Seite 27.

büdde :)

das mit dem pic18 war mir neu, dabei benutze ich genau die 8722 und 
8723, das seh ich mir nochmal an :)

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Sebastian Hepp (sebihepp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: VCOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> 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.

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Pic's mit so nem Parallelport können das doch denke ich!

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Stampede (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>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.

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

super das ich das jetzt auch weis, werde mir das Teil gleich mal 
anschauen!
War zwar nicht mein Thema aber danke trotzdem..


mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.