Я пытался использовать последовательный порт UART в пользовательском приложении на SoC под управлением Linux (LX2160ARDB).
Есть 2 порта UART, использующие оборудование PL011 UART ( UART1, UART2).
После загрузки Linux я могу найти узлы устройств двух портов UART (/dev/ttyAMA1, /dev/ttyAMA2).
Приложение открывает(/dev/ttyAMAX) и записывает() в файл устройства.
Я подключил порт UART процессора и свой ноутбук через кабель RS232, запустил приложение и проверил сигнал с помощью эмулятора терминала.
при попытке /dev/ttyAMA1(UART1) сигнал обнаруживается, но при попытке /dev/ttyAMA2 (UART2), сигнал не обнаружен и процесс приложения не завершается.
Я проверил значение Регистр управления каждого UART, обратившись к /dev/mem и обнаружил, что бит ENABLE UART2 не установлен в 1, в то время как UART1 установлен в 1.
UART1 выбран для консоли, поэтому кажется, что загрузчик настраивает UART1 и установить бит ENABLE, но не настроить UART2.
Мой вопрос:
Как установить бит ENABLE UART2 из пользовательского приложения в Linux?
не можем ли мы установить бит ENABLE контроллера UART в Linux? можно только в загрузчике?
Я искал некоторые коды драйверов (amba-pl011.c и т. д.), но не смог понять уровень для последовательного устройства..
Подробнее здесь: https://stackoverflow.com/questions/786 ... n-on-linux
Включить (включить) контроллер UART в пользовательском приложении в Linux. ⇐ Linux
1719828008
Anonymous
Я пытался использовать последовательный порт UART в пользовательском приложении на SoC под управлением Linux (LX2160ARDB).
Есть 2 порта UART, использующие [b]оборудование PL011 UART[/b] ( UART1, UART2).
После загрузки Linux я могу найти узлы устройств двух портов UART (/dev/ttyAMA1, /dev/ttyAMA2).
Приложение открывает(/dev/ttyAMAX) и записывает() в файл устройства.
Я подключил порт UART процессора и свой ноутбук через кабель RS232, запустил приложение и проверил сигнал с помощью эмулятора терминала.
при попытке /dev/ttyAMA1(UART1) сигнал обнаруживается, но при попытке /dev/ttyAMA2 (UART2), сигнал не обнаружен и процесс приложения не завершается.
Я проверил значение [b]Регистр управления[/b] каждого UART, обратившись к /dev/mem и обнаружил, что [b]бит ENABLE UART2 не установлен в 1[/b], в то время как UART1 установлен в 1.
UART1 выбран для консоли, поэтому кажется, что загрузчик настраивает UART1 и установить бит ENABLE, но не настроить UART2.
Мой вопрос:
[b]Как установить бит ENABLE UART2 из пользовательского приложения в Linux? [/b]
не можем ли мы установить бит ENABLE контроллера UART в Linux? можно только в загрузчике?
Я искал некоторые коды драйверов (amba-pl011.c и т. д.), но не смог понять уровень для последовательного устройства..
Подробнее здесь: [url]https://stackoverflow.com/questions/78691540/enableturn-on-uart-controller-in-user-application-on-linux[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия