Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MCC18, размещение данных в памяти программ
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
bornbash
Доброго времени суток, уважаемые!
Необходимо разместить несколько массивов данных в памяти программ, ну и потом с ними работать, конечно. Компилятор - MCC18. Верно ли будет использовать директиву rom, к примеру:
rom unsigned char digit0[5]={0b01111110,0b10010001,0b10001001,0b10000101,0b01111110};
После компиляции проекта во вкладке Memory Usage Gate при добавлении директивы rom наблюдаю уменьшение размера занятой data memory, но при этом program memory не возрастает. Не понятно...
Может у кого есть ссылки на ресурсы или доки, где даётся по возможности доходчивая трактовка директив MCC18. А то что-то туговато по началу идет sm.gif
PS: при этом для компиляции без предупреждения типа "Warning [2066] type qualifier mismatch in assignment" необходимо используемый мной указатель объявлять также
rom unsigned char *font_pointer;
Это вообще адекватный подход?
bornbash
Неужели никто не программит в МСС18??
Danis
Цитата(bornbash @ Jul 7 2011, 16:48) *
Неужели никто не программит в МСС18??


Неделю программировал, пока не дошло какое это Г. Заменил на HITECH PICC18 Compiler. В нем могу показать как это сделать.
_Pasha
Цитата(Danis @ Jul 7 2011, 16:09) *
Неделю программировал, пока не дошло какое это Г. Заменил на HITECH PICC18 Compiler.

Странно. У меня как раз противоположное мнение сложилось
Integro
и мне больше mcc нравится

кстати да, я тоже заметил что если к массиву добавить rom то помять данных уменьшается а программ остается прежней. как показывает практика на работу программы эту существенно не влияет


В даташите (mcc/doc/MPLAB-C18-Getting-Started_51295f.pdf на 108) странице есть пример создания массива в памяти программ

rom int array_of_ints_in_rom[] =
{ 0, 1, 2, 3, 4, 5 };
rom int * q = &array_of_ints_in_rom[0];

где q указатель на эту область
bornbash
Спасибо большое всем за рекомендации.
to Integro - видимо не совсем внимательно знакомился с этим документом, впредь буду осмотрительнее sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.