2016-08-05 12 views
0

Я написал шаблон barebone progran в XC8 (1.37), который я использую для разработки и тестирования новых функций GLCD для семейства 18F. Программирование выполняется через PICkit3. Поскольку мне нужно быстро перепрограммировать несколько раз код, очень важно, чтобы программирование было как можно быстрее. Tipically, размер кода составляет около 2K, и это занимает менее 10 секунд, чтобы запрограммировать, Everiything прекрасно, пока я не должен использовать таблицу шрифта, определяемый как:XC8 строит таблицы шрифтов сверху ROM

const char font8[] = {.... 

Теперь, всего $ 400 байт добавлен, компилятор помещает таблицу в конец ПЗУ и программирование 64K памяти занимает более 1 минуты.
Есть ли способ избежать этого?

Я попытался вручную ограничить диапазон памяти в параметрах MPLABX, но это раздражает и немного небезопасно (иногда часть кода усекается).

ответ

0

Некоторое время назад мне пришлось написать код для проверки на выбросы, где мне нужно было копировать данные между крайними оканчивающими ОЗУ. Для этого мне нужно было указать точные адреса памяти. Вы также можете использовать конструкцию C extension __at(). http://ww1.microchip.com/downloads/en/DeviceDoc/50002053F.pdf#page=27

int scanMode __at(0x200); 
const char keys[] __at(123) = { ’r’, ’s’, ’u’, ’d’}; 
int modify(int x) __at(0x1000) { 
    return x * 2 + 3; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^