PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei Flashzugriff - max Arraygröße?



navyseal
24.12.2005, 20:01
hey erstmal ...

frohe weihnachten zuerstmal ....

hab schon im forum und im sonstigen netz gesucht aber leider hat bis jetzt nichts geholfen also dacht ich mir ich schreib mal nen kleinen beitrag ;)

nun ich versuche verzweifelt in das flash von mein at128 zu schreiben jedoch kommts mir so vor als wäre der zugriff verwährt oder so ... habe aus nen anderen beitrag mal folgendes probiert



#include <avr/pgmspace.h>
#include <avr/io.h>

const prog_char str2[] = "12333";



nun schau ich mir die variablen im winavr studio an über die watch funktion an jedoch steht da nur 0 '' in den values des arrays :/

vllt kann mir ja wer mit dem problem helfen :/ probier hier schon ne weile rum bekomms aber leider nicht hin

so frohes fest noch

mfg navyseal


[/code]

navyseal
26.12.2005, 15:17
hm nunja


vllt könnte mir einer ein kurzes codesample schicken wie man das ganze testen könnte ?!

wäre echt nett von euch!

linux_80
26.12.2005, 16:01
Hallo,
was willst Du ins Flash schreiben ?
Normalerweise schreibt man vom Programm aus nicht ins Flash, das ist zwar möglich, aber dafür nicht ausgelegt das man da oft Daten ändert.

Was solls denn werden ?
Oder meinst du das EEprom ?

navyseal
26.12.2005, 16:07
hi !!!


ok sorry hab ich anscheinend vergessen zu sagen ... will ins flash ne tabelle schreiben also ein array ;) nur hm wie gesagt fruchtet nit ganz :/

linux_80
26.12.2005, 16:33
hast Du schon das bekannte Tutorial gelesen:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Da gibts einen Punkt Speicherzugriffe, das könnte was für Dich sein.

navyseal
29.12.2005, 01:47
soooodala danke mit dem tut hats nun gefunkt!!! danke schön!!!


hab aber nun noch ne frage .... wenn ich ein uint8_t array erstelle kann das insgesamt nur 8x8 array sein und bei uint16_t ein 16x16 array oder?? vllt kann mir jemand die these da nur kurz bestätigen falls sie stimmt ;D

PicNick
29.12.2005, 07:57
.... wenn ich ein uint8_t array erstelle kann das insgesamt nur 8x8 array sein und bei uint16_t ein 16x16

Nö.
uint8_t char[64322] ist zulässig. auch
uint8_t char[448][8192]
(z.B.)

navyseal
29.12.2005, 11:24
hm das is dann aber eigenartig weil wenn er über die zeile 8 kommt gibt er mir irgendwelche werte zurück !!!

und das sind int werte keine char !

PicNick
29.12.2005, 11:32
Gut, Source bitte posten, aus der Entfernung kann ich Zeile 8 nicht gut erkennen

navyseal
29.12.2005, 11:57
hmmm eigenartig hab da wohl nen fehler gmacht .... sorry funkt nun eh ;) danke trotzdem für deine schnelle hilfe !!!