ConfigROM organisieren
-
Hi leute,
ich habe ein problem, ich habe in einem Programm ein "ConfigROM" (geht nicht anders weil es auf einen Mikroprozessor läuft) welches quari ein Char Array ist. z.B. unsigned char ConfiROMArray [0x800]. Ich muß jetzt aus verschiedenen Programmteilen auf das ConfigROM zugreifen, wobei sich die frage der organisation stellt. Im momen läuft das so ab das ich ganz viele defines habe z.B.#define CROM_FLASH_ADRESSE 0x100
#define CROM_FLASH_ID CROM_FLASH_ADRESSE + 4
#define CROM_FLASH_VENDOR CROM_FLASH_ADRESSE + 8usw ...
Das läuft auch alles ganz ordentlich, jedoch möchte ich das alles ein wenig verbessern. Das sind meine wünsche:
1. Ich will in der IDE mit z.B. CROM::FLASH::ID auf genaudasgleiche wie mit CROM_FLASH_ID zugreigen. Und da ich von VC++ verwöhntbin, soll das so laufen das ich wenn ich CROM:: schreibe, er mir das auswahlmenue gibt z.B. FLASH, CPLD, RAM usw.
2. Ich möchte ein programm schreiben das mir quasi aus den vorhandenen defin's oder wie auch immer mann das lößt eine grobe dokumentation des Configroms erstellt, dafür muß ich soche sachen wie ellemente auswählen bzw. zählen realisieren können.
Ich weiß das das alles nicht so einfach ist, aber ich könnte mir vorstellen das an sowas von euch auch schon mal einer gedacht hat .
Schon mal ganz ganz vielen dank im vor raus für euren gehirnschmalz den ihr euch verbraten habt
-
yaron schrieb:
1. Ich will in der IDE mit z.B. CROM::FLASH::ID auf genaudasgleiche wie mit CROM_FLASH_ID zugreigen. Und da ich von VC++ verwöhntbin, soll das so laufen das ich wenn ich CROM:: schreibe, er mir das auswahlmenue gibt z.B. FLASH, CPLD, RAM usw.
nunja, du könntest das in Namespaces packen:
namespace CDROM { namespace FLASH { const int ID = ...; } }
2. Ich möchte ein programm schreiben das mir quasi aus den vorhandenen defin's oder wie auch immer mann das lößt eine grobe dokumentation des Configroms erstellt, dafür muß ich soche sachen wie ellemente auswählen bzw. zählen realisieren können.
verstehe ich nicht. "elemente auswählen bzw. zählen" ?
Wenn du die "#define" vor den Namen und die Adressen hinter den Namen wegnimmst, ein paar Kommentare dazu schreibst, hast du doch die Dokumentation.