mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC32 mit OpenOCD flashen


Autor: Marvin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich moechte mich derzeit ein wenig in PIC32 einarbeiten, bin aber ein 
absoluter Linux-Nutzer. Also waere es natuerlich schoen, wenn das auch 
alles unter Linux liefe. Nun gibt es einen Flash-Treiber fuer PIC32 fuer 
OpenOCD. Nach ein wenig basteln haenge ich nun.

Laut "PIC32MX Flash Programming Specification" ist das Flash in zwei 
Baenke aufgeteilt: Das eigentliche Code-Flash liegt bei 0x1D00000 (in 
4KB-Bloecken), bei 0x1F000000. Wenn ich nun in definition in der config 
schaue, steht da:

flash bank $_FLASHNAME pic32mx 0xbd000000 0 0 0 $_TARGETNAME
flash bank $_FLASHNAME pic32mx 0xbfc00000 0 0 0 $_TARGETNAME

Das ergibt fuer mich nun erstmal keinen Sinn. Dennoch ist sowohl ein 
'flash info 0' als auch 'flash info 1' erfolgreich, genauso wie ein 
flash 'flash erase_sector 0 0 127', was bei einer groesseren 
loeschbreiten auch fehlschlaegt. Daraus laesst sich also scheinbar 
folgern, dass die Adressen stimmen.

Wenn ich nun allerdings ein kleines Programm (mit ccompiler4pic32) 
kompiliere:
#include <p32xxxx.h>
main()
{
    TRISE = 0;
    PORTE = 0b10101010;
    while(1);
}
und mit objcopy ins ihex-Format (s. Anhang) bringe und damit flashe, 
bekomme ich von OpenOCD nur:
$ sudo ./src/openocd -f [...]  -c 'init' -c 'reset' -c 'halt' -c 'flash write_image erase led_message.hex'
[...] (<- hier steht nur jtag-init-zeugs.)
auto erase enabled
Error: No flash at address 0x9d000000
Error: No flash at address 0x9fc00490
Error: No flash at address 0x9fc01180
Info : Padding image section 3 with 880 bytes
wrote 4096 bytes from file /home/ja/led_message.hex in 0.456561s (8.761 kb/s)

Was darauf schliessen laesst, dass die Adressen im ihex-File nicht mit 
den Adressen von OpenOCD und den Adressen in der 'PIC32MX Flash 
Programming Specification' unterscheiden.

Ich bin zugegebenermassen stark verwirrt. Kann mir jemand weiterhelfen, 
wie ich aus diesem Wirrwarr etwas ordentliches mache?

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.