DSIoffe 6 February 3, 2014 Posted February 3, 2014 · Report post И вообще, как понять, что им надо? Есть какие-нибудь логические пути, чтобы сделать GPIO 8-, а не 32-разрядным, например? Или только методом научного тыка? Quote Share this post Link to post Share on other sites More sharing options...
Serge_DVD 0 February 3, 2014 Posted February 3, 2014 · Report post Не совсем понял проблемы. Ваш проект компилится без ошибок (не считая ошибок симулятора, с которым у меня не сложилось...). Использую Libero 11. По поводу разрядностей выше 8-и ситуация следующая. Компоненты могут иметь разрядность более 8-и, но доступ к старшим байтам (или младшим - не разобрался) возможен, но только через нестандартные (для 51-го) регистры XRB, XWB, подробнее можно почитать в хендбуке на GPIO. Есть одно НО - нужно правильно описать SFR'ы в sdcc компиляторе (встроенный в SoftConsole). Кто бы помог в этом вопросе? Был бы очень благодарен, поскольку сейчас именно этим и занимаюсь. Данный компиль дико глючный, конструкция "sfr XRB1 = 0x9D;a=XRB1" не работает. По поводу логических путей - достаточно в свойствах корки указать кол-во пинов 8, и она становится 8-и разрядной) никакого научного тыка. У меня все GPIO 8-и разрядные, все работает. Были попытки повысить разрядность, но благодаря компилятору оказалось проще поставить несколько блоков GPIO в проект. Сложности возникают потом при попытке запрограммировать таймер или WDT - тут уже не получится поставить второй таймер( Quote Share this post Link to post Share on other sites More sharing options...
DSIoffe 6 April 26, 2014 Posted April 26, 2014 · Report post Если ещё интересно. Лично моя беда была в неправильной организации памяти. Там нужна не комбинационная схема, а синхронная, притом срабатывающая (изменяющая состояние на выходе данных) по спаду тактового импульса. Теперь всё работает и на модели до синтеза и после разводки, и живьём светодиоды моргают. А обращение к SFR получилось после вот такого объявления: __data at 0x9A unsigned char MyXWB1; и затем в программе: MyXWB1 = 0xFF; При этом вариант __data at XWB1 unsigned char MyXWB1 даёт ошибку error 2: Initializer element is not constant. Некрасиво-то как: не воспользоваться родным файлом reg51.h. Quote Share this post Link to post Share on other sites More sharing options...
Serge_DVD 0 September 29, 2014 Posted September 29, 2014 · Report post Спасибо, Дмитрий! Работает. Появилась у меня очередная проблемка. Есть компонент с интерфейсом Wishbone slave. Очень хочется прикрутить его к 51-у ядру. "Открутить" от него Wisbone интерфейс не получается из-зи недостатка знаний. Можно-ли использовать GPIO компонент для эмуляции Wishbone maser? Какие могут быть подводные камни? Или може существует мост AHB3-Wishbone? Quote Share this post Link to post Share on other sites More sharing options...
des00 27 September 30, 2014 Posted September 30, 2014 · Report post Можно-ли использовать GPIO компонент для эмуляции Wishbone maser? Полноценной эмуляции нет. Нужна будет прослойка. Quote Share this post Link to post Share on other sites More sharing options...
DSIoffe 6 September 30, 2014 Posted September 30, 2014 · Report post Спасибо, Дмитрий! Работает. Появилась у меня очередная проблемка. Есть компонент с интерфейсом Wishbone slave. Очень хочется прикрутить его к 51-у ядру. "Открутить" от него Wisbone интерфейс не получается из-зи недостатка знаний. Можно-ли использовать GPIO компонент для эмуляции Wishbone maser? Какие могут быть подводные камни? Или може существует мост AHB3-Wishbone? Я бы почитал про wishbone (потому что ничего про него не знаю) и сам прикрутил бы его к AHB3 через самопальный интерфейс. Прикладываю черновик моей статьи для "Компонентов и технологий" про самопальные устройства для AHB. Правда, там про ведомое устройство, но работа шины коротко описана, она несложно устроена. Извиняюсь, нету под рукой нормальной вёрстки. Если этот Wishbone асинхронный (или может долго ждать) и для него нужно до 32 сигнальных линий, то можно, наверное, и через GPIO. Но должно получиться медленно и громоздко. part5.zip Quote Share this post Link to post Share on other sites More sharing options...
des00 27 September 30, 2014 Posted September 30, 2014 · Report post там вся проблема будет в генерации стробов записи и чтения + обработка подтверждений. минимальная прослойка потребуется всяко. Quote Share this post Link to post Share on other sites More sharing options...
Serge_DVD 0 September 30, 2014 Posted September 30, 2014 · Report post Вариант прикрутить к AHB3 не стоит как задача и рассматривается как запасной. Нужно совсем неспешно писать(читать) данные с готового модуля. Сейчас больше всего смущает именно синхронность Wishbona с клоком (все тайминги в доках на это указывают). Будет-ли работать... Разбираюсь, заодно учу верилог... Спасибо всем за ответы. Quote Share this post Link to post Share on other sites More sharing options...