|
Обращение к верхнему 1кб ОЗУ pic18f2550. Как? |
|
|
|
Apr 4 2008, 10:27
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 1-12-05
Из: Иркутск
Пользователь №: 11 630

|
Цитата(Roman_V @ Apr 4 2008, 18:23)  там блин пароль стоит. не пускает... Пароль в первом сообщении: http://electronix.ru/forum/index.php?showtopic=17862Ссылку удаляю, кто не успел - тот опоздал, извиняйте
|
|
|
|
|
Apr 4 2008, 10:30
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
Классный пароль! спасибо!
|
|
|
|
|
Apr 4 2008, 10:34
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 1-12-05
Из: Иркутск
Пользователь №: 11 630

|
Цитата(Roman_V @ Apr 4 2008, 18:30)  Классный пароль! спасибо! Конспирация, так сказать  Только нигде не выкладывайте этот файл, особенно без пароля
|
|
|
|
|
Apr 4 2008, 10:47
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
Поставил, попробовал. Тоже самое: Error[491] : can't find 0x6BC words for psect "bigbss" in segment "BIGRAM" BUILD FAILED: Fri Apr 04 14:43:25 2008
еще стала вылазить такая фигня Advisory[1207] : some of the command line options you are using are now obsolete Advisory[1208] : use --help option or refer to the user manual for option details
Я убил из проекта file1.c и file2.c и сделал просто: unsigned char i[700]; extern char m1[512],m2[512];
void main(void){ int y; for(y=0;y<700;y++) i[y]=9; }
и это скомпилялось, но в отчете я не увидел использования ОЗУ больше чем 700 байт. Data space: RAM used 0h ( 0) of 400h bytes ( 0.0%) BIGRAM used 2BCh ( 700) of 400h bytes ( 68.4%) COMRAM used 0h ( 0) of 60h bytes ( 0.0%) NVRAM used 0h ( 0) of 100h bytes ( 0.0%) External data memory: None available
А Если убрать Extern, то не компиляется и ругается так же на Сan't find 0xABC words for psect "bigbss" in segment "BIGRAM"
|
|
|
|
|
Apr 4 2008, 10:49
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 1-12-05
Из: Иркутск
Пользователь №: 11 630

|
Цитата(Roman_V @ Apr 4 2008, 18:47)  еще стала вылазить такая фигня Advisory[1207] : some of the command line options you are using are now obsolete Advisory[1208] : use --help option or refer to the user manual for option details На это можете не обращать внимание. В принципе это вообще отключаеться в настройках компилятора Сейчас создам проет и сам попробую
|
|
|
|
|
Apr 4 2008, 11:00
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
вот проект MPlab что я сделал. Может подключаю файлы не туда, не так. Уж прмо чувствую очень тупым себя. У вас работает, а я туплю.
Прикрепленные файлы
Test.rar ( 16.6 килобайт )
Кол-во скачиваний: 25
|
|
|
|
|
Apr 4 2008, 11:11
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
файл picc-18.ini Код [18F2550] MAKE=MICROCHIP ARCH=PIC18 PROCID=2550 ROMSIZE=8000 RAMSIZE=400 COMMON=00-5F ICD2ROM=7DC0-7FFF ICD2RAM=3F4-3FF PERIPH=USBRAM@400-7FF PERIPH=BOOTROM@0-7FF EEPROMSIZE=100 FLASH_EW=40,20 ERRATA=FASTINTS INSTR=EXTENDED прописан RAMSIZE=400 (т.е. 1024 байта) может надо попробовать прописать 800, но чем черевато не знаю
|
|
|
|
|
Apr 4 2008, 11:15
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
прописал - скомпилялось. НО! дело в том что компилер в сводной таблице имеет: Data space: RAM used 0h ( 0) of 800h bytes ( 0.0%) BIGRAM used 800h ( 2048) of 800h bytes (100.0%) COMRAM used 0h ( 0) of 60h bytes ( 0.0%) NVRAM used 0h ( 0) of 100h bytes ( 0.0%)
Что есть RAM и BIGRAM? это сейчас там после исправления стоит 800, а было 400h. Но вдруг RAM+BIGRAM=2048? Щас много нашел по проблеме, все говорят разбей на модули, но ничего конкретного. У кого-то даже работает char a[1536]. Странно. Что-то не то делаем.
|
|
|
|
|
Apr 4 2008, 11:21
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
и еще в даташите в главе по организации памяти написано, что банки с 4 по 7 т.е выше 1к используется под буфер usb и когда он задействован нельзя там распологать переменные. наверное поэтому доступ к нему закрыт Цитата(Roman_V @ Apr 4 2008, 15:15)  Что есть RAM и BIGRAM? это сейчас там после исправления стоит 800, а было 400h. Но вдруг RAM+BIGRAM=2048? Щас много нашел по проблеме, все говорят разбей на модули, но ничего конкретного. У кого-то даже работает char a[1536]. Странно. Что-то не то делаем. не с чем то другим связано, я тоже сначала так подумал, возможно RAM это внешняя память? или еще что-то. в мануале сходу не нашел
|
|
|
|
|
Apr 4 2008, 11:26
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
В даташите сказано что пользоваться этим ОЗУ можно даже если и USB включен, но только не гарантируют сохранность данных этого ОЗУ. Я отключал USBEN=0, пофигу. Да и компиляться должно полюбому, потому что это аппаратная вещь. То бишь потом с этим ОЗУ могут быть проблемы, но компилятор все равно считает эту область ОЗУ. Вот ищу и ничего конкретного не нашел...
|
|
|
|
|
Apr 4 2008, 11:27
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 1-12-05
Из: Иркутск
Пользователь №: 11 630

|
Цитата(dac @ Apr 4 2008, 19:21)  и еще в даташите в главе по организации памяти написано, что банки с 4 по 7 т.е выше 1к используется под буфер usb и когда он задействован нельзя там распологать переменные. наверное поэтому доступ к нему закрыт Да проблема в этом. На других процах компилируется нормально
|
|
|
|
|
Apr 4 2008, 12:22
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-06
Пользователь №: 21 854

|
пробовал PIC18F4520 - тоже самое Error[491] : can't find 0x6BC words for psect "bigbss" in segment "BIGRAM" BUILD FAILED: Fri Apr 04 15:44:32 2008
сравнил в файле picc-18.ini мой ПИК с другими и выясняется что RAMSIZE соответствует размеру ОЗУ ПИКа. А в 2550 оно стоит 1 кб. Получается что вы правильно заметили что проблема в этом. Делаю выводы: Если в даташите сказано что я могу использовать это ОЗУ даже при включенном USB (тут ответственность за данные на мне), то я могу смело увеличить константу RAMSIZE=800 в ini файле и все будет правильно. Все равно как то криво. Не уж то разработчики запретили использовать эту область ОЗУ из-за того что пользователь может не выключив USB работать с этой ОЗУ? Не верю! Значит просто глюк? тоже как то видами писано... Попробую все равно...
|
|
|
|
|
Apr 4 2008, 13:08
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818

|
Цитата(Roman_V @ Apr 4 2008, 16:22)  сравнил в файле picc-18.ini мой ПИК с другими и выясняется что RAMSIZE соответствует размеру ОЗУ ПИКа. А в 2550 оно стоит 1 кб. Получается что вы правильно заметили что проблема в этом.
Не уж то разработчики запретили использовать эту область ОЗУ из-за того что пользователь может не выключив USB работать с этой ОЗУ? Не верю! Значит просто глюк? тоже как то видами писано... Попробую все равно... Это они видно так осторожничали, не знали, что с USB делать и просто запретили работать загрузчику. В 9.50 уже хватились, что еще есть 1К и для того же пика добавили в ini строчку про USB. PERIPH=USBRAM@400-7FF Поэтому вы наверное все правильно сделали, что увеличили RAMSIZE
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|