Keil

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Подскажите, пожалуйста, каким образом в компиляторе Keil настроить обращение
к ПЗУ выше 64 кб ? Микроконтроллер 8-разрядный из семейства 8051.

С уважением, Олег.





Re: Keil
Hello Олег.

20 Jan 05 14:25, Олег wrote to All:


 О> Подскажите, пожалуйста, каким образом в компиляторе Keil настроить
 О> обращение к ПЗУ выше 64 кб ? Микроконтроллер 8-разрядный из семейства 8051.

У него адpесное пpостpанство 64К, и нет соответствyющих команд для того, чтобы
адpесовать больше. Если ты использyешь банки с логикой пеpеключения на внешних
пинах, то видимо это yже твое дело, как ты ими yпpавляешь.

С уважением,
  Andy
                  <mailto:andy coбaкa svrw.ru>
            http://www.geocities.com/andy_moz /



Re: Keil
Насчёт разрядности процессора нет вопросов. В моей схеме к процессору
подключена флэш большего размера, чем 65536 байт. 16 младших адресных линий
ПЗУ как положено подключены к А0...А15 процессора. А вот 4 старших адресных
вывода ПЗУ подключены к обычным портам ввода/вывода процессора. В опциях
Keil компилятора есть галка "Code Banking", а привязки этих банок к портам
процессора нет. Где сконфигурировать эти "привязки" ? Разве не забота
компилятора переключать страницы памяти или это невозможно в этой программе
? Тогда зачем эта опция "Code Banking" ? Вот такие у меня вопросы...

С уважением, Олег.






Quoted text here. Click to load it
чтобы
Quoted text here. Click to load it
внешних
Quoted text here. Click to load it



Re: Keil
Quoted text here. Click to load it
линий
Quoted text here. Click to load it
адресных
Quoted text here. Click to load it
программе
Quoted text here. Click to load it

Code Banking - это для написания программ c размером кода >64к
Переключение банков выполняется программно (очевидно почему)
От Keil С51 поддержка в том, что генерируется код для вызовов функций не
напрямую
через call, а через вызов "bank-switch"-ера которому передаются в качестве
параметров
вызываемая функция, ее банк и список параметров для нее.
А вот для обращения к данным, расположенным в разных банках
придется переключать их самому.



Re: Keil
Hello, Олег !

 > Подскажите, пожалуйста, каким образом в компиляторе Keil настроить
 > обращение
 > к ПЗУ выше 64 кб ? Микроконтроллер 8-разрядный из семейства 8051.

А как ты это собираешься делать аппаратно?

С уважением, Дима Орлов.


Re: Keil
  Пpивет, Олег.

  Вот что Олег wrote to All:

 О> Подскажите, пожалyйста, каким обpазом в компилятоpе Keil настpоить
 О> обpащение к ПЗУ выше 64 кб ? Микpоконтpоллеp 8-pазpядный из семейства
 О> 8051.

  А как ты к этомy ПЗУ физически обpащаешься? Я имею в видy как
фоpмиpyется более чем 16-pазpядная шина адpеса.

  Michael G. Belousoff

... ==== Пpоблемy надо pешать до того, как она появится. ====

Re: Keil
Hемедленно нажми на RESET, Олег!


 О> вывода ПЗУ подключены к обычным портам ввода/вывода процессора. В опциях
 О> Keil компилятора есть галка "Code Banking", а привязки этих банок к портам
 О> процессора нет. Где сконфигурировать эти "привязки" ? Разве не забота

  Конфигурируются не привязки, а пишутся функции для реализации
переключения банок памяти. Возможно, и самодельный стартап.
Подробности описаны в документации, и примеры есть.

 О> компилятора переключать страницы памяти или это невозможно в этой программе
 О> ? Тогда зачем эта опция "Code Banking" ? Вот такие у меня вопросы...




Site Timeline