WedX - журнал о программировании и компьютерных науках

SDMA Freescale imx535

Этот вопрос касается запуска механизма SDMA на устройствах Freescale i.mx (i.MX535, если быть точным)?

Я хотел бы получать пакеты размером более 32 байт от UART и автоматически извлекать их с помощью механизма SDMA. Это возможно? Есть ли у кого-нибудь дополнительная информация об использовании SDMA?

Редактировать: я немного подробнее расскажу о своей ситуации и проблемах.

Мне удалось загрузить и запустить собственный сценарий SDMA. Испытательный стенд есть,

  1. Настройте связь UART (9600, raw) на UART2 (без использования стандартного драйвера Freescale UART).
  2. Настройте запрос UART2 rx dma с пороговым уровнем 16.
  3. Настройте канал SDMA для UART2, который запускает скрипт, такой как внешняя память UART 2.

Эта настройка хорошо работает с пакетами размером менее 32 байт, но если размер больше 32 байт, данные удаляются с установленным битом RX FIFO Overrun. Та же ошибка возникает, если мы используем стандартный драйвер Freescale UART с включенным SDMA на UART2 (распечатывает регистры состояния из UART с меткой DMA ERROR).

Вопрос 1. Удалось ли кому-нибудь получить пакеты размером более 32 байт на обычные UART, такие как UART2. Подразумевая, что в моем сценарии есть ОШИБКА.

Как обычные UART указывают, что они также являются общими UART, которые подключаются непосредственно к ядру SDMA. Я также тестировал этот скрипт UART на UART3. Мой вывод и наблюдение таковы:
Сначала я тестирую его со стандартным драйвером Freescale UART и включенным SDMA, используя стандартные скрипты. Это прекрасно работает с пакетами размером более 32 байт и скоростью передачи данных 1 МГц. Поэтому я надеялся заставить это работать с моим собственным скриптом и драйвером UART, но я не могу создать скрипт, который читает из регистра UART3 RX.

Вопрос 2. Кто-нибудь написал сценарий, считывающий данные с общего UART?

28.02.2013

Ответы:


1

Кто-нибудь написал скрипт, считывающий данные с общего UART?

Если вы хотите читать/записывать данные с общих периферийных устройств, вам необходимо получить доступ к данным через сопоставленные с памятью области «периферийное пространство x памяти» во внутренней оперативной памяти SDMA (0x1000-0xFFFF). Так что в моем случае доступ к внутренней оперативной памяти sdma 0x3000 считывает данные из регистра UART3 RXD.

04.03.2013

2

Вы должны продать своего первенца компании Freescale, чтобы получить такую ​​информацию. У них много внутренних документов. Получить ответы — непростая задача.

Попробуйте загрузить этот репозиторий: git://git.pengutronix.de/git/imx/sdma-firmware.git

В ПЗУ есть различные подпрограммы с API, которые вам нужно понять. Обычно не хватает оперативной памяти, чтобы поместить туда весь ваш код, если вы хотите что-то изменить. Может быть, вы можете использовать дизассемблер Саши и попытаться настроить один из ваших двоичных файлов.

Справочник по IMX25 содержит намного больше общедоступной документации по контроллеру SDMA; Я очень мало вижу о SDMA в справочном руководстве IMX53.

28.02.2013
  • спасибо за ответ, репозиторий я уже знаю, и я тоже задаю несколько вопросов службе поддержки freescale, но до сих пор я не получил решения своей проблемы. я редактирую свой вопрос, чтобы быть более конкретным, возможно, вы тоже можете помочь 01.03.2013
  • Если у вас есть такая информация, приходилось ли вам подписывать какие-либо соглашения NDA? Людям трудно дать вам информацию. 01.03.2013
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

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

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]