Я разрабатываю на STM32 mC, используя IAR 7.80. Мне нужно представить определенный блок памяти во flash как переменные разного размера. например, начиная с адреса 0x0800B00, у меня есть следующие данные: 4 байта с плавающей запятой, массив символов размером 4 и затем 4 байта с типом uint32_t. в настоящее время я указываю конкретное местоположение каждой переменной, поэтому для приведенного выше примера я пишу:
_Pragma("location=0x0800B000") const float first_var = 5.0;
_Pragma("location=0x0800B004") const char[4] second_var = {1,2,3,4};
_Pragma("location=0x0800B008") const uint32_t third_var = 1000;
на самом деле у меня более 100 таких переменных, и добавление/удаление переменных часто встречается на этом этапе разработки, поэтому каждый раз, когда я удаляю переменную, мне нужно либо переставлять места всех переменных, либо оставлять пробелы! Есть ли лучший способ представить эти переменные? примечание: мне нужно иметь возможность взять блок памяти и проанализировать его в приложении для ПК, поэтому мне нужно, чтобы каждая переменная занимала свой размер точно и не больше!