Пакеты поддержки модулей для ЗОСРВ «Нейтрино» > MIPS > BSP для устройств на базе процессора Элвис 1892ВМ206 > Проверка функционирования



Проверка функционирования

Проверка функционирования ППМ для семейства микропроцессоров Elvees серии 1892vm14 под ЗОСРВ «Нейтрино».


Список проверок:

Базовые проверки функционирования ОС
Проверка запуска на ПМ ядра ЗОСРВ в составе загружаемого образа
Проверка запуска компонентов
Проверка функционирования контроллера DDR памяти
Проверка функционирования контроллера прерываний
Проверки интерфейсов
Проверка драйвера контроллера UART
Проверка драйвера контроллера Gigabit Ethernet
Проверка драйвера контроллера SD/MMC
Проверка драйвера контроллера USB
Проверка драйвера контроллера I2C
Проверка драйвера контроллера HDMI

Тестовый стенд

Тестовый стенд представляет из себя ПМ на базе микропроцессора 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

Проверка функционирования контроллера DDR памяти

Для вывода информации о процессоре и доступной оперативной памяти выполнить команду 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

Проверки интерфейсов

Проверка драйвера контроллера UART

Для работы с последовательным портом используется драйвер devc-ser8250. Настройки последовательного порта по умолчанию: скорость 115200, 8 бит, без контроля четности, 1 стоп-бит. В составе загрузочного образа драйвер запускается автоматически.

В случае успешного запуска драйвера в директории /dev/ будет создано устройство ser1.

# ls /dev/ser* /dev/ser1

Для проверки функционирования драйвера UART подключите ПМ к последовательному порту ПК (или через преобразователь по USB) и запустите терминальную программу. В последовательном или удалённом терминале выполните следующую команду:

# echo Test message > /dev/ser1

Проверка считается выполненной успешно, если в терминальной программе будет выведено сообщение:

Test message

Проверка драйвера контроллера Gigabit Ethernet

Для работы с контроллером интерфейса 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

Для работы с контроллером 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

Для работы с контроллером интерфейса USB используется драйвер devu-dwcotg.so, и менеджер ресурсов io-usb. Для вывода информации о доступных интерфейсах выполнить команду usb.

В случае успешного запуска драйвера в директории /dev/ будет создано устройство io-usb.

# ls /dev/io-usb/ . devu-dwcotg.so .. io-usb

Проверка драйвера контроллера I2C

Для работы с контроллером 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

Проверка HDMI производится с использованием утилиты gf-vsync. Перед выполнением проверки необходимо подключить монитор через разъем HDMI. Для корректной проверки на устройстве должен размещаться файл /etc/system/config/display.conf следующего содержания:

device {
drivername=vpoutfb
vid=0x0
did=0x0
deviceindex=0
display {
xres=1280
yres=1024
refresh=60
pixel_format=argb8888
}
}

В конфигурационном файле /etc/system/config/vpoutfb.conf раскомментировать соответствующую строку:

# Elvees Salute EL24OM1 configuration sample
base=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.




Предыдущий раздел: перейти