Цитата(Alt.F4 @ Jan 13 2017, 00:00)

jcxz, почему не надо, как тогда прочитать одно значение, а не всю структуру?
"Не надо" касалось совета про SPIFI - в том случае больше делать ничего не надо.
А насчёт остального - тут уже 1000 раз говорилось: Хотите получить ответ, постарайтесь
внятно изложить задачу, так чтобы не только Вам было ясно, но и читающим, тем кто не видит Ваших исходников.
Что следует из этой фразы "перенести TableSets во внешнюю FLASH-память не переписывая библиотеку"? Абсолютно ничего не ясно о чём вообще вопрос...
По последнему Вашему сообщению и применив телепатические способности можно предположить, что у Вас имеется некий набор ПО, который изнутри себя вызывает функционал чтения FLASH через API-вызовы типа
ReadFlash(void *dst, void const *src, uint len). И это API изначально читало данные из внутренней флешь, находящейся в адресном пространстве МК, а теперь Вы хотите, не меняя кода всего ПО, использующего эти API-вызовы, поменять только службу этого API, заменив чтение из внутренней флешь, на чтение внешней.
Так или не так?
Если так, то да - вариант решения о котором Вы написали в последнем посте - это одно из решений задачи.
Чтобы предложить другие решения, читающим нужно знать: как именно существующее ПО вызывает API-функции? Опять -же - здесь телепатов нет - Ваш код видите только Вы.
Если то ПО написано корректно, то думаю оптимальнее будет использовать другой способ, как тут уже советовали - через offsetof().
Да хотя-бы просто переопределив API-функции макросами.