PIC32 mit OpenOCD flashen

Gast #1577804
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:
1
#include <p32xxxx.h>
2
main()
3
{
4
    TRISE = 0;
5
    PORTE = 0b10101010;
6
    while(1);
7
}
und mit objcopy ins ihex-Format (s. Anhang) bringe und damit flashe, 
bekomme ich von OpenOCD nur:
1
$ sudo ./src/openocd -f [...]  -c 'init' -c 'reset' -c 'halt' -c 'flash write_image erase led_message.hex'
2
[...] (<- hier steht nur jtag-init-zeugs.)
3
auto erase enabled
4
Error: No flash at address 0x9d000000
5
Error: No flash at address 0x9fc00490
6
Error: No flash at address 0x9fc01180
7
Info : Padding image section 3 with 880 bytes
8
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?
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.