Gast
#2459362
hi, ich versuche gerade eine variable (ein struct) in einem speicherblock in einem flash speicher abzulegen. ich habe dazu eine fertige bibliothek die sich um den großteil kümmert, d.h. ich muss z.b. nur auf einen vordefinierten ram-block meine zu speichernden daten schreiben und dann die write-funktion aufrufen, dadurch wird der ram-block automatisch in den flash geschrieben. oder wenn ich die read-funktion aufrufe wird automatisch der vordefinierte teil vom flash ausgelesen und in meinen ram-block geschrieben. kann ich hier überhaupt das komplette struct übergeben (in den flash-block speichern) so dass ich beim lesen des gleichen flash-blocks wieder das genau gleiche struct bekomme (stichwort struct alignment)? d.h. beim speichern würde ich einfach per memcpy() das komplette struct auf den ram-block kopieren (z.b. memcpy(&ramblock, &my_struct, sizeof(my_stuct)) und dann die write-funktion aufrufen. kann ich dann auch später die daten einfach wieder so in ein gleiches struct auslesen? (z.b. per memcpy(&my_struct_read, &ramblock, sizeof(ramblock)) oder bekomme ich da ein problem mit dem struct alignement (padding)? oder ist das dann egal weil ich eh das struct samt padding in den flash-speicher kopiere und auch den gleichen speicher wieder samt padding beim lesen rauskopiere? also: muss mich in diesem fall das struct alignement bzw padding überhaupt interessieren?