Проверка функционирования ППМ для семейства микропроцессоров Elvees серии 1892vm14 под ЗОСРВ «Нейтрино».
Список проверок:
Тестовый стенд представляет из себя ПМ на базе микропроцессора Sitara серии AM335x, соединённый с инструментальным ПК по интерфейсам RS-232 и Ethernet.
На инструментальный ПК должно быть установлено:
Перед проведением проверок необходимо запустить ЗОСРВ «Нейтрино» на ПМ на базе микропроцессора Elvees серии 1892vm14 в соответствии с главой документации Загрузка образа ОС.
Дополнительные тестовые программы i2c-scan, ticksize и другие не входят в состав ППМ и должны быть самостоятельно загружены из публичного git-репозитория и собраны командой:
$ cd utils $ make install
Затем следует скопировать armle-v7 версии тестовых программ на SD карту памяти и подключить её к ПМ или передать файлы по сети с помощью FTP или NFS.
# uname -s
Проверка считается выполненной успешно, если в терминале будет выведено сообщение вида:
KPDA
Для вывода информации о запущенных компонентов выполнить команду pidin ar:
# pidin ar pid Arguments 1 procnto-smp -v -ae 4098 slogger -s64k 4100 devc-ser8250 -vvv -e -F -b115200 -c144000000/16 0x38028000^2,0x60 4101 i2c-designware -p0x3802c000 8195 i2c-designware -p0x3802d000 8198 i2c-designware -p0x3802e000 8199 pipe 16393 io-pkt-v4-hc -ptcpip forward,stacksize=8192 86026 qconn qconn_prio=250 98315 inetd 98317 devc-pty 102412 random -t 102414 sh -l 126991 pidin ar
Для вывода информации о процессоре и доступной оперативной памяти выполнить команду pidin info:
# pidin info CPU:ARM Release:21.11 FreeMem:2018Mb/2048Mb BootTime:Jan 01 03:00:00 MSK 1970 Processes: 15, Threads: 48 Processor1: 1094697104 Cortex A9 MPCore 816MHz FPU Processor2: 1094697104 Cortex A9 MPCore 816MHz FPU
Для вывода информации о используемых прерываниях выполнить команду pidin ir:
# pidin ir pid tid name 1 1 procnto-smp 1 2 procnto-smp 0 0x1d 0 -P- @0xfe08673c:0x0 1 4 procnto-smp 1 5 procnto-smp 1 6 procnto-smp 1 7 procnto-smp 1 8 procnto-smp 1 9 procnto-smp 1 10 procnto-smp 1 11 procnto-smp 1 12 procnto-smp 1 14 procnto-smp 1 17 procnto-smp 4098 1 slogger 4100 1 devc-ser8250-dw 1 0x60 0 --- @0x804a854:0x805c208 4101 1 i2c-designware 8195 1 i2c-designware 8198 1 i2c-designware 8199 1 pipe 8199 2 pipe 8199 3 pipe 16393 1 io-pkt-v4-hc 16393 2 io-pkt-v4-hc 2 0x69 0 T-- @0x78003304:0x8187500 16393 3 io-pkt-v4-hc 16393 4 io-pkt-v4-hc 16393 5 io-pkt-v4-hc 16393 6 io-pkt-v4-hc 16393 7 io-pkt-v4-hc 86026 1 qconn 86026 2 qconn 86026 3 qconn 98315 1 inetd 98317 1 devc-pty 102412 1 random 102412 2 random 102412 3 random 102414 1 sh 143375 1 pidin
Проверка считается пройденной успешно, если вывод утилиты pidin ir содержит информацию об обработчиках прерывания, принадлежащих выполняемым процессам, в формате
pid tid Имя процесса id прерывания vector mask_count flags handler:area
Для работы с последовательным портом используется драйвер devc-ser8250. Настройки последовательного порта по умолчанию: скорость 115200, 8 бит, без контроля четности, 1 стоп-бит. В составе загрузочного образа драйвер запускается автоматически.
В случае успешного запуска драйвера в директории /dev/
будет создано устройство ser1
.
# ls /dev/ser* /dev/ser1
Для проверки функционирования драйвера UART подключите ПМ к последовательному порту ПК (или через преобразователь по USB) и запустите терминальную программу. В последовательном или удалённом терминале выполните следующую команду:
# echo Test message > /dev/ser1
Проверка считается выполненной успешно, если в терминальной программе будет выведено сообщение:
Test message
Для работы с контроллером интерфейса Ethernet используется драйвер devnp-1892vm14-gemac.so и менеджер ресурсов io-pkt-v4-hc. В составе загрузочного образа драйвер запускается автоматически. Для вывода информации о сетевых интерфейсах выполните команду ifconfig.
В случае успешного запуска драйвера будет создан сетевой интерфейс ag0 и в результате выполнения команды ifconfig на экран будут выведены следующие данные:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33192 inet 127.0.0.1 netmask 0xff000000 ag0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 address: ba:dc:43:ae:26:5d media: Ethernet autoselect (1000baseT full-duplex) status: active inet 172.16.80.1 netmask 0xffffff00 broadcast 192.168.0.255
Для проверки функционирования сетевого обмена выполнить следующую команду, инициирующую отправку ICMP пакетов существующему сетевому узлу:
# ping -c 3 172.16.80.12 PING 172.16.80.12 (172.16.80.12): 56 data bytes 64 bytes from 172.16.80.12: icmp_seq=0 ttl=64 time=0 ms 64 bytes from 172.16.80.12: icmp_seq=1 ttl=64 time=0 ms 64 bytes from 172.16.80.12: icmp_seq=2 ttl=64 time=0 ms ----172.16.80.12 PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0/0/0 ms variance = 0 ms^2
Проверка считается выполненной успешно, если все 3 пакета были успешно получены (процент потерь равен нулю).
Для работы с контроллером SD/MMC используется драйвер devb-sdmmc. В составе загрузочного образа драйвер запускается автоматически. В случае успешного запуска драйвера в директории /dev/
будет создано устройство sd0
, соответствующее SD-карте, а также устройства, соответствующие разделам. Для управления устройствами могут быть использованы стандартные утилиты для управления и чтения/записи блочных устройств. Проверка считается выполненной успешно, если при выполнении команды ls /dev/sd0* отображаются устройства, соответствующие SD-карте и разделам, например:
# ls /dev/sd0* /dev/sd0 /dev/sd0t11 /dev/sd0t6 /dev/sd0t77
В выводе утилиты mount увидеть точку монтирования одного из разделов SD-карты, например:
# mount /dev/sd0t77 on / type qnx4
Для измерения производительности операции записи и чтения необходимо создать файл и заполнить его случайными значениями с помощью утилиты dd, при этом измеряя время данной операции через time:
# dd if=/dev/urandom of=/dev/shmem/test_file bs=1000 count=256 # time dd if=/dev/shmem/test_file of=<точка монтирования>/test_file \ bs=1000 count=256
Выводом данной команды будет является время и скорость записи:
256+0 records in 256+0 records out 256000 bytes transferred in 0.034 secs (7529411 bytes/sec) 0m00.04s real 0m00.00s user 0m00.00s system
Для измерения скорости чтения необходимо скопировать созданный тестовый файл в /dev/null
с помощью утилиты dd:
# time dd if=<точка монтирования>/test_file of=/dev/null bs=1000 count=256
Выводом данной команды будет является время и скорость чтения:
256+0 records in 256+0 records out 256000 bytes transferred in 0.009 secs (28444444 bytes/sec) 0m00.02s real 0m00.00s user 0m00.00s system
Для работы с контроллером интерфейса USB используется драйвер devu-dwcotg.so, и менеджер ресурсов io-usb. Для вывода информации о доступных интерфейсах выполнить команду usb.
В случае успешного запуска драйвера в директории /dev/
будет создано устройство io-usb
.
# ls /dev/io-usb/ . devu-dwcotg.so .. io-usb
Для работы с контроллером I2C используется драйвер i2c-dw. В составе загрузочного образа драйвер запускается автоматически. В случае успешного запуска драйвера в директории /dev/
будут создано устройство i2c0
.
# ls /dev/i2c* /dev/i2c0 /dev/i2c1 /dev/i2c2
Проверка функционирования заключается в запуске утилиты i2c-scan и считается выполненной успешно, если вывод i2c-scan соответствует ожидаемому, например:
#./i2c-scan -d /dev/i2c1 Scanning I2C device /dev/i2c1 for I2C devices... 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: xx -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Scanning done
Проверка HDMI производится с использованием утилиты gf-vsync. Перед выполнением проверки необходимо подключить монитор через разъем HDMI. Для корректной проверки на устройстве должен размещаться файл /etc/system/config/display.conf следующего содержания:
device {drivername=vpoutfbvid=0x0did=0x0deviceindex=0display {xres=1280yres=1024refresh=60pixel_format=argb8888}}
В конфигурационном файле /etc/system/config/vpoutfb.conf раскомментировать соответствующую строку:
# Elvees Salute EL24OM1 configuration samplebase=0x38004000,size=0x1000,irq=69,hdmi=TDA998x:0:0x70:100:0x234501,verbose=debug
Затем необходимо запустить io-display
# io-display -dvid=0,did=0
После — воспользоваться утилитой gf-vsync
# gf-vsync
Проверка считается пройденной успешно, если на экране отображается корректное изображение, соответствующее документации на утилиту gf-vsync.
Предыдущий раздел: перейти