При решении задачи появилясь потребность использовать массив структур. Чтобы все они хранились во flash, одно из полей являлось строкой.
Задача обычная и вот так, вполне, работает:
Код
typedef struct{
uint8_r byte;
char const *string;
}my_struct;
const my_struct string_mas[] = {
{1,"string1"},
{2,"string2"},
};
uint8_r byte;
char const *string;
}my_struct;
const my_struct string_mas[] = {
{1,"string1"},
{2,"string2"},
};
Загвоздка заключается в том, что весь этот массив должен хранится в определенной секции программы.
Я сделал так:
Код
#define APP_SEC_CONST _Pragma("location=\"APP_SECTION_CONST\"")
typedef struct{
uint8_r byte;
char const *string;
}my_struct;
APP_SEC_CONST const my_struct string_mas[] = {
{1,"string1"},
{2,"string2"},
};
typedef struct{
uint8_r byte;
char const *string;
}my_struct;
APP_SEC_CONST const my_struct string_mas[] = {
{1,"string1"},
{2,"string2"},
};
НО, компилятор в нужную секцию помещает только массив указателей на строки, а сами строки помещают в свою по-умолчанию.
Вопрос заключается в том, как сказать компилятору, чтобы строки он тоже помещал в нужную секцию.
Спасибо.