| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Как в PIC 16f877 переключать страницы памяти?
12.06.2012, 18:21
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Сообщение от nonamedov
|
|
А что тут непонятного, должен делать, но могуть быть ошибки самого компилятора, в определенной мере Вы и сами ответственны за эту ошибку.
|
Согласен, вот и прошу помочь разобраться
|
|
|
|
12.06.2012, 18:36
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Что-то не так у вас в консерватории... 
Проект собрался в HI-TECH и с 8-ой кассой...
|
Код:
|
HI-TECH PICC COMPILER (Microchip PICmicro) candidate build 2243 V9.60PL3
Copyright (C) 1984-2008 HI-TECH SOFTWARE
licensed for evaluation purposes only
FAE license only - not for use in commercial applications
licensed for educational use only
this licence will expire on Mon, 27 Sep 1976
Memory Summary:
Program space used 422h ( 1058) of 2000h words ( 12.9%)
Data space used 9h ( 9) of 170h bytes ( 2.4%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
Configuration bits used 1h ( 1) of 1h word (100.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
Loaded C:\PIC877_proba\proba.cof.
********** Build successful! ********** |
|
|
|
|
12.06.2012, 18:53
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Сообщение от st__1
|
|
Проект собрался в HI-TECH и с 8-ой кассой
|
А при чем тут HI-TECH, если предпологаемая ошибка в компиляторе?!
|
|
|
|
12.06.2012, 19:00
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Сообщение от nonamedov
|
|
предпологаемая ошибка в компиляторе
|
Кто сказал???
Я, например, не уверен в этом...
Пусть кто-то теперь в CCS попробует... у мну его нет...
|
|
|
|
13.06.2012, 03:25
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
|
Цитата:
|
|
Пусть кто-то теперь в CCS попробует... у мну его нет...
|
Пришлось поставить версию PCWHD 4.104. Вот результат(в архиве исходник, list, hex файлы) :
|
|
|
|
13.06.2012, 03:27
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Ну-с, ждем объяснений, публичного раскаяния и обещаний больше так не делать!
Последний раз редактировалось nonamedov; 13.06.2012 в 03:45.
|
|
|
|
13.06.2012, 05:04
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Там даже перехода на другую страницу не происходит, вот статистика:
|
Цитата:
|
ROM used: 2021 (25%)
2021 (25%) including unused fragments
2 Average locations per line
4 Average locations per statement
RAM used: 7 (2%) at main() level
8 (2%) worst case
Stack used: 1 worst case (out of 8 total available)
|
|
Цитата:
|
Segment Used Free
----------- ---- ----
00000-00003 4 0
00004-007FF 2017 27
00800-00FFF 0 2048
01000-017FF 0 2048
01800-01FFF 0 2048
|
|
|
|
|
13.06.2012, 05:42
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
страницами памяти можно управлять через #org
__________________
Глаза боятся,а руки делают.
|
|
|
|
13.06.2012, 07:21
|
|
|
Гражданин KAZUS.RUN
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Я и не знал что у PIC еще и ROM на страницы побита, думал только RAM. Во всяком случае когда я писал программу для PIC на ассемблере то даже тогда я не переключал банки ROM, хотя программа заняла почти всю память и работала.
Да и вообще я не пойму какая должна быть логика программы чтобы переключать страницы памяти программ. Помоему это в любом случае происходит автоматически.
Ага в мануале написано что это ограничение касается только операторов перехода CALL и GOTO, так как им передается только 11-битное значение. Недостающие 2 бита хранятся как писали выше в PCLATCH битах 3 и 4. И перед вызовом их нужно выставить вручную. Конечно уже не по теме, просто интересно, а каким способом на этапе написания программы на ассемблере я узнаю на какой странице будет подпрограмма на которую мне нужно перейти?
Последний раз редактировалось Flopix; 13.06.2012 в 07:40.
|
|
|
|
13.06.2012, 07:47
|
|
|
Вид на жительство
Регистрация: 16.09.2011
Сообщений: 342
Сказал спасибо: 10
Сказали Спасибо 170 раз(а) в 103 сообщении(ях)
|
Re: Как в PIC 16f877 переключать страницы памяти?
Дааа... Чтобы зажечь два десятка диодов в определенном порядке, потребовалось 2 тыщщи слов. Эт зверство.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:30.
|
|