Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Процессорные модули » ES-T113-NANO(-LV), SK-T113-MOD
Вопросы по схеме, SPI & UART
sasamy
Добавлено 07.03.2025 00:01 Сообщение: 21
sasamy
4.71

Пункты: 86230
Регистрация: 14.08.2009
Цитата
В osless системах делаю кольцевой DMA буфер, каждый тик своей работы, обычно 10мс, программа забирает по его указателям принятое и обрабатывает. Передача тоже через DMA. Никаких накладных расходов в программе, все аппаратно.


тут такое не прокатит - надо менять подход
Спуститься к концу Подняться к началу
Персональная информация
Hsb
Добавлено 07.03.2025 11:57 Сообщение: 22
Hsb
0

Пункты: 266
Регистрация: 18.02.2025
Да, но все-таки, получается, что в драйвере ошибка - DMA в DTS есть, а в драйвере DMA не включается?
Я описывал, что ДМА включается. если заменить для AW_16550A:
// .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.fcr = UART_FCR_DMA_SELECT | UART_FCR_ENABLE_FIFO |
Но при этом включается неправильно:
[ 199.286348] dma dma0chan5: Invalid DMA configuration
а в DTSI:
dmas = <&dma 16>, <&dma 16>;
Как это исправить - непонятно.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.03.2025 13:18 Сообщение: 23
sasamy
4.71

Пункты: 86230
Регистрация: 14.08.2009
Цитата
Да, но все-таки, получается, что в драйвере ошибка - DMA в DTS есть, а в драйвере DMA не включается?


возможно, только что это меняет - я вам дал тест где очевидно что на скорости 4 000 000 бод достаточно fifo 256 байт без dma чтобы драйвер успевал принимать буфер 4095 байт без потерь. В Linux у вас не получится сделать как вы делали на baermetal и управлять DMA напрямую. У вас цель задачу решить средствами ОС или сделать из ОС baremetal?
Если уж рассуждать об ошибках то тут очевидно ошибка в выборе интерфейса и протокола для обмена на такой скорости.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.03.2025 14:06 Сообщение: 24
sasamy
4.71

Пункты: 86230
Регистрация: 14.08.2009
Цитата
я вам дал тест где очевидно что на скорости 4 000 000 бод достаточно fifo 256 байт без dma чтобы драйвер успевал принимать буфер 4095 байт без потерь.


кстати, надо ещё проверять дейтвительно ли UART работает на такой скорости, помоему там надо ещё частоту apb1 увеличить чтобы получить такую частоты UART.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.03.2025 16:08 Сообщение: 25
sasamy
4.71

Пункты: 86230
Регистрация: 14.08.2009
Цитата

кстати, надо ещё проверять дейтвительно ли UART работает на такой скорости, помоему там надо ещё частоту apb1 увеличить чтобы получить такую частоты UART.


явно надо повышать частоту apb1 - сделал циклическую передача-приём без вывода дампа в случае прохождения теста - видно что скорость даже ниже чем 115200. Чтобы повысить частоту UART-ов надо увеличить частоту apb1 - штатно она 24 МГц. Пример 200 МГц с ahb

buildroot-2022.08.3-sk-t113/output/build/linux-custom/arch/arm/boot/dts/sun8i-t113-nano-lv-emmc.dts

Цитата


&ccu {
assigned-clocks = <&ccu CLK_APB1>;
assigned-clock-rates = <200000000>;
};



так можно проверить состояние всех клоков

mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/clk/clk_summary

Цитата

psi-ahb 13 14 0 200000000 0 0 50000 Y
apb1 2 2 0 200000000 0 0 50000 Y


Стало явно быстрей, сделал дополнительно рандомные даные, тесты проходят без ошибок

Цитата

# ./utest
Usage: ./utest [-s srcdev] [-d dstdev] [-b baud] [-c count]
Now: srcdev /dev/ttyS2, dstdev /dev/ttyS2, baud 4000000, count 4095
send 4095 bytes
received 4095 bytes
test OK

send 4095 bytes
received 4095 bytes
test OK

send 4095 bytes
received 4095 bytes
test OK

send 4095 bytes
received 4095 bytes
test OK
.......
Спуститься к концу Подняться к началу
Персональная информация
Hsb
Добавлено 07.03.2025 21:12 Сообщение: 26
Hsb
0

Пункты: 266
Регистрация: 18.02.2025
Спасибо, я разбираюсь с дма, пока не получается.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » ES-T113-NANO(-LV), SK-T113-MOD