Hallo Zusammen Ich habe ein Frage zu der Flash Aufteilung, es gibt einen Kernel- und Userbereich. Ich benötige für meine Baugruppe einige Daten für den Hochlauf, bevor diese über eine CPU die Kommunikation aufbaut. Diese speichere ich im Flash, also ausfallsicher ab (hat bisher gut funktioniert). Ich bin nun nicht der große Theoretiker und kämpfe mich über Beispiele von MicroChip durch die Gegend. Nach dem der Programmcode immer mehr gewachsen ist funktioniert nun die Bearbeitung meiner Parameter nicht mehr. Meine Frage, ist der Programmcode nun im Kernelbereich oder auch im Userbereich oder ist der Userbereich nur für eine Beschreibung im Programmablauf und nicht durch den ICD3. Bitte. Danke. Lg. Johann K.
Also die Unterscheidung User/Kernel ist im PIC32 nur vorhanden weil er es von der MIPS-Architektur geerbt hat. Steht aber im "Sect. 03 Memory Organization.pdf" sehr genau beschrieben.
Ich habe mich nun den halben Tag mit dem Anlgegen einer User Partition beschäfitg, funktioniert aber nicht. Mit den folgenden Zeilen habe ich bisher den Flash-Bereich angegeben in dem ich die Parameter aus dem Programm heraus gespeichert habe. #define NVM_DEFPARA_PAGE 0xBD008000 //0xBD008000 #define NVM_PAGE_SIZE 128 Mit dem Versuch einen User-Bereich einzurichten bin ich kläglich gescheitert. Kann mir jemand zeigen wie der Code aussehen muss und wo er stehen muss, so das sich der Programmteil und die Parameter nicht in die Quere kommen. Bitte. Danke. Lg. Johann K.
Data EEPROM Emulation for PIC18, PIC24, dsPIC, PIC32 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en538000 Ansonsten sollte das mit entsprechenden Attributen funktionieren:
1 | const char aString[] __attribute__((section("aSection"), address(0x89ABCDEF), space("prog"))) = "asdsdfgsdgf"; |
oder aligned (n) um das passend an einer Flash-Seite auszurichten
Danke, werde ich versuchen. frohe Weihnachten und ein gutes 2013. lg. Johann K.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.