How does a memory map of a 1K EEPROM look like?
EEPROMs are usually byte-adressable ie. you simply have an array of bytes. You can set any of them individually (unlike flash, where you can set them bit-by-bit, but erase in larger blocks).

My usual approach when dealing with EEPROMs is to define a structure in the code like:

typedef struct {
    uint32_t magic;
    uint32_t version;
    uint32_t parameter1;
    bool use_something;
    uint8_t parameter2;
    uint32_t checksum;
} settings_t;


I declare it in one place (in RAM): settings_t my_global_settings;,
then when I want to save it I make uint8_t pointer that points to the struct in RAM and then write byte-by-byte in a loop (up to sizeof(settings_t)). Reading is done in a similar way.

It is nice to have a file with a memory map of the EEPROM (if you have more than one struct) with defines/constants like EEPROM_CALIBRATION_BASE_ADDR, EEPROM_SETTINGS1_BASE_ADDR etc. You have to calculate the addresses yourself and/or rely on sizeof.

Remember to use a checksum, or CRC, or LRC at the end of your data to verify that it actually makes sense.