dshtarev |
|
|
|
|
|
|
|
Пункты: 642 |
Регистрация: 13.02.2013 |
|
|
|
К uart1 модуля подключен микроконтроллер который генерит сообщения с неким периодом ( период около 10мс , размер сообщения ~10байт ), вобщем при чтении из /dev/ttymxc1 в консоли вижу сообщения, DMA_ERROR, это на стоковом ядре. Отключил ДМА для этого порта , все ОК стало. Вопрос - такое кто-нибудь наблюдал еще? Это баг или фича? |
|
|
|
|
|
Jury093 |
|
|
|
|
|
|
|
Пункты: 54271 |
Регистрация: 25.05.2009 |
Пол: Мужчина |
Из: Санкт-Петербург |
|
для интереса воспроизвел похожее соединение - два уарта замкнул между собой..
действительно, при трансфере лезут ошибки ДМА, что на 115200 (почти ваши 10мс), что на 9600.. погуглите, вероятно это ошибка и д.б. патч.. |
На любой вопрос есть любой ответ. |
|
|
|
|
dshtarev |
|
|
|
|
|
|
|
Пункты: 642 |
Регистрация: 13.02.2013 |
|
|
|
Да я гуглил . Инфы не много. Судя по версии стокового ядра патч уже в нем должен быть :) Но особо не копал еще |
|
|
|
|
|
sasamy |
|
|
|
|
|
|
|
Пункты: 83558 |
Регистрация: 14.08.2009 |
|
|
|
У freescale весьма странные понятия о ревизиях ядра Linux - они сливают патчи в релиз 2 летней давности не изменяя версии, так что патчей этих в ядре starterkit разумеется нет, в частности скорей всего речь об этом
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/?h=imx_2.6.35_11.09.01
* ENGR00252150 Fix MX53 IOMUX setup for all UARTsimx_2.6.35_11.09.01 Mahesh Mahadevan 2013-03-01
* ENGR40066538-3 MX53: UART: enable the hardware flow control Huang Shijie 2013-03-01
* ENGR40066538-2 MX53: UART: fix the wrong CTS pinmux macro Huang Shijie 2013-03-01
* ENGR40066538-1 MX53: UART: update the DMA script for UART Huang Shijie 2013-03-01 |
|
|
|
|
|
sasamy |
|
|
|
|
|
|
|
Пункты: 83558 |
Регистрация: 14.08.2009 |
|
|
|
Если будете брать не отдельные патчи а целиком их текущее ядро - имейте ввиду один баг который они который год не могут исправить
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/plat-mxc/gpio.c?h=imx_2.6.35_11.09.01#n286
добавьте там приведение к 1/0 значение value
l = (__raw_readl(reg) & (~(1 << offset))) | ( !!value << offset);
не читают они документацию к ядру - в Linux для GPIO любое ненулевое значение означает установить порт в 1, так что value может иметь тут абсолютно любое значение. В частности из-за этого бага не будет работать модуль ядра spi-gpio который используется у нас для тачскринов, если не исправить. |
|
|
|
|
|
leh |
|
|
|
|
|
|
|
Пункты: 1646 |
Регистрация: 07.06.2009 |
Пол: Мужчина |
Из: Волгоград |
|
Тоже наблюдаю проблему с UART3 (/dev/ttymxc2), кстати автор топика наверное имел ввиду UART2. Тоже подключен микроконтроллер, который периодически отвечает на запросы хоста. Не вижу никаких руганей от драйвера по поводу DMA, но через некоторое время запись в /dev/ttymxc2 игонрируется драйвером: по отладке своей программы вижу, что туда пишется, но осциллограф пересатет что-либо показывать на линии TxD.
DMA не пробовал выключать, тоже об этом подумал, но пока нет возможности испытать. |
|
|
|
|
|
Jury093 |
|
|
|
|
|
|
|
Пункты: 54271 |
Регистрация: 25.05.2009 |
Пол: Мужчина |
Из: Санкт-Петербург |
|
вчерась включил некий пункт о DMA - ошибки на 115200 ушли.. задрал до 900кбит - посыпало ошибками (вот только не помню - DMA или CRC) |
На любой вопрос есть любой ответ. |
|
|
|
|
buletz |
|
|
|
|
|
|
|
Пункты: 5920 |
Регистрация: 16.11.2011 |
Пол: Мужчина |
|
|
наблюдаю тож самое на /dev/ttymxc2.
Какое-то время работает норм, получаю данные на скорости 115200, но спустя несколько минут в канал TXD начинает сыпаться мусор.
2Jury093: а какой некий пункт о DMA надо включить чтобы ошибки на 115200 ушли ? |
|
|
|
|
|
buletz |
|
|
|
|
|
|
|
Пункты: 5920 |
Регистрация: 16.11.2011 |
Пол: Мужчина |
|
|
Я у себя проблему с DMA_ERROR локализовал:
Оказывается DMA_ERROR возникал из-за того что снимали питание с микросхемы, с которой обмен по UART шел.
В итоге получалось, что питания нет, а сигнал от микросхемы на плату imx53 заведен и UART активен.
Если питания с микросхемы не снимать, то никаких DMA_ERROR нет. |
|
|
|
|
|
|