CPU Address Range



  • Hey,

    mache grade ein Softwaredesign und da hab ich nen Spezifikation liegen, dass mein Flash den Adressbereich 0xF000_0000 bis 0xFFFF_FFFF hat.

    Mein Flash ist 256 MB groß und ich weiß, das meine Daten die ich darauf schreiben möchte zum Beispiel 20 MB groß sind.

    Wie kann ich jetzt berechnen, welcher Addressbereich für die ersten 20 MB zur verfügung steht? Wenn ich die 0xFFFF_FFFF Hex in Dez umwandle komme ich auf alles, nur niemals meine 256 MB.

    Wie errechne ich jetzt die 20 MB von 0xFFFF_FFFF?

    Gruß Timmey



  • Du legst doch mit dem Flashspeicher erst bei 0xF000_0000 los. Die vorderen 4 Bit sind also immer gesetzt. Jede Stelle entspricht 4 Bit, also haste noch 7 Stellen, macht 28 Bit. Macht 2^28 = 28*220 = 256 MB adressierbar. Die ersten 20MB beginnen bei 0xF000_0000. Jetzt rechnest Du 20MB um in Bytes und addierst das drauf. Dann haste die erste Adresse nach 0xF000_0000 die nicht mehr zu den 20MB gehört.

    MfG Jester



  • Supi...das ja echt einfach! Hat alles super geklappt und meine Berechnungen hab ich alle schon fertig! Dankeschön!


Anmelden zum Antworten