Rusoil
Sep 29 2009, 16:45
Мк 18F97J60, компилятор Hi-tech18 std 9.51PL2.
Пытаюсь разместить кусок констант в конце флэш мк. Почитал найденные примеры и описание на компилятор. Сделал так.
1) Включил в командную строку линкера: -L-SEGA=1F400h
- т.е. определил пользовательский сегмент.
2) Массив констант размещаю с директивой
#pragma psect const=SEGA
static const uByte Sett[1024] ={0,0,0,0,....0};
Не работает. При линковке показывает что в сегменте SEGA 1024 байта данных, но сам сегмент совершенно по другому адресу.
Подскажите как правильно сделать?
testerplus
Sep 29 2009, 18:29
Здесь человек искал решение:
http://www.microchip.su/showthread.php?p=4...mp;postcount=17Нашел условно работающий вариант. Но практика показывает, что оно того не стоит (сегменты начинают перекрываться). А для чего это, если не секрет?
Rusoil
Sep 30 2009, 05:38
Буду делать загрузчик по эзернету. Плюс нужно хранить настроечные данные которые нужно менять - такие как ip устройства, маску сети, гэйтвэй. Эти данные должны быть доступны как загрузчику, так и основному fw.
Посмотрел ссылку, помогло.
В командную строку линкера добавил
-L-PSEGA=1F400h
Ну и объвил массив
#pragma psect const=SEGA
static const uByte Img[1024] = {...}
Размер 1024 взял потому как это минимально стираемый размер.