×

Внимание

Форум находится в режиме только для чтения.

Контроллер Nuvoton NUC98R. Ethernet to UART.

3 года 9 мес. назад - 3 года 9 мес. назад #6371 от AEfimov
Одной из примечательных функций контроллера NUC98R является возможность его использования для удаленного управления и мониторинга средствами автоматизации. Данный функционал возможно реализовать переведя отладку в специальный режим ethernet to uart (eth2uart). Для этого нужно применить предоставляемую разработчиком конфигурацию Buildroot, собрать файловую систему, ядро и загрузить в память контроллера. Далее коснемся этого процесса чуть подробнее.

В первую очередь нам потребуется дистрибутив Buildroot. Скачать его можно тут:
github.com/OpenNuvoton/NUC970_Buildroot

Для работы Buildroot нужен 32-х битный компилятор, если вы используете для сборки Ubuntu/Debian, следует установить пакет gcc-multilib, если же для компиляции образов вы используете операционную систему Centos, то необходимо установить 32-х битную версию ОС.

Для применения специфических настроек ядра и файловой системы заходим в корень дистрибутива Buildroot и выполняем команду:

# make nuvoton_nuc980_eth2uart_defconfig

Настройки применены, теперь можно приступить непосредственно к сборке:

# make

Процесс сборки занимает длительное время, так что есть возможность сделать перерыв и заварить душистого чаю.

Теперь, когда сборка завершена, нужно перенести полученный образ на Windows-машину, где установлен Nu-Writer.

Buildroot помещает сгенерированные образы в директорию /NUC970_Buildroot-master/output/images/. Нам потребуется файл uImage, копируем его на Windows-машину. Для корректной работы с U-Boot необходимо переименовать файл в 980uimage.

U-boot.

для компиляции U-boot воспользуемся toolchain находящимся по ссылке:
github.com/OpenNuvoton/NUC970_U-Boot_v2016.11

Buildroot так же генерирует образ U-boot, но в процессе тестирования данного функционала не удалось добиться его работоспособности.
В корне дистрибутива U-Boot так же необходимо применить специфический конфигурационный профиль:

# make nuc980_eth2uart_defconfig

Запускаем процесс сборки:

# make

Бинарник U-boot будет сгенерирован в корне дистрибутива.

Теперь можно приступить к процессу прошивки контроллера (предварительно установив джамперы блока SW2 1,2,4 в позицию HIGH).
Для прошивки традиционно используем программу Nu-Writer, следуя стандартному алгоритму:

1.) Выбираем Loader в поле Image Type, в поле Image execute address вписываем 0xe00000. Нажимаем на иконку справа от поля Image Name, находим файл u-boot.bin. Нажимаем Burn.

2.) загружаем непосредственно образ LINUX:

Выбираем файл 980uimage (выбираем All files (*.*), чтобы образ отобразился в окне). В поле Image start offset вписываем 0х200000 и нажимаем Burn (Image type - Data).

Образ файловой системы отдельно загружать не требуется, так как Buildroot интегрирует его в образ ядра.
После того как образы загружены переведем контроллер в режим загрузки с SPI – Джамперы 1-2 блока SW2 перевести в положение LOW.

Подключаемся к контроллеру по отладочному COM-порту (UART0), так же подключим один из UART портов (1-9) и Ethernet-кабель, соединяющий отладку и PC (Настройки терминального подключения - 115200bps, 8-bit data length, no-parity).

Включаем контроллер.
Для загрузки с SPI вводим следующие команды U-boot:

# sf probe 0 18000000 / Сканирует установленный SPI-модуль.
# sf read 0x7fc0 0x200000 0x800000 / Загружает образ ядра в определенный раздел оперативной памяти.
# bootm 0x7fc0 / Инициирует загрузку ядра с указанного адреса.

В случае корректной загрузки системы, мы увидим следующее содержание терминального окна:



Чтобы активировать соединение по Ethernet зададим следующие параметры настроек TCP/IPv4 для РС:



Далее подключимся к отладке по TCP/IP используя любую терминальную программу. Тип подключения Telnet.

Суть теста функционала eth2uart заключается в том, что мы передаем контроллеру по Ethernet через терминальную программу некие данные, которые он должен будет вывести на один из указанных UART-портов, номер UART-порта определяет номер порта, к которому мы подключаемся по IP по следующему соответствию - UART 1-9 / port 50001-50009.






Выбрать порт, а также задать настройки UART можно подключившись к отладке через браузер по адресу http://192.168.0.100



Тест увенчался успехом. Теперь, если есть потребность, данный функционал можно интегрировать в рабочее приложение для передачи контроллером данных по Ethernet или удаленно управлять, по средством его, отладкой по сети.
Время создания страницы: 0.064 секунд
Работает на Kunena форум