Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Hi-tech 18 - разместить константы по определенному адресу
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Rusoil
Мк 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
Здесь человек искал решение: http://www.microchip.su/showthread.php?p=4...mp;postcount=17
Нашел условно работающий вариант. Но практика показывает, что оно того не стоит (сегменты начинают перекрываться). А для чего это, если не секрет?
Rusoil
Буду делать загрузчик по эзернету. Плюс нужно хранить настроечные данные которые нужно менять - такие как ip устройства, маску сети, гэйтвэй. Эти данные должны быть доступны как загрузчику, так и основному fw.

Посмотрел ссылку, помогло.

В командную строку линкера добавил
-L-PSEGA=1F400h

Ну и объвил массив
#pragma psect const=SEGA
static const uByte Img[1024] = {...}


Размер 1024 взял потому как это минимально стираемый размер.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.