Цитата(sbw @ Oct 6 2007, 01:04)

Дополнительное условие: пользователю не должен быть доступен код (текст) программы, то есть отконвертировать внешние данные в Си-файл а потом подгружать их при компиляции (каждый раз компилировать) не предлагать.
в ИАРе я бы сделал так:
Код
__flash unsigned char Arr[2048]; //максимальная длинна данных
__flash unsigned int ArrLen; //кол-во загруженных данных
Эти данные заливал бы не програматором, а передавал в сам контроллер, а он знает где их размещать и знает сколько их пришло, вот только процедуру записи придется делать свою, банальный
Arr[i] = Data;
может не прокатить

(у меня не пошло, но я сильно и не разбирался)
обрадаться с данными как с обычным массивом (правда хранящимся во флеше).
Если вы пользователю даете HEX, значит ему доступна вся программа. При желании перевести ее в Асм не составит труда.