Макетная плата Allwinner T113-i - Руководство по тестированию оценочной платы (1)
Макетная плата Allwinner T113-i - Руководство по тестированию оценочной платы (1)

Я надеюсь, что они могут быть полезны тем, кто хочет изучить встраиваемые системы, войти в индустрию встраиваемых систем, а также тем, кто только что изучил встраиваемые системы. Если вы находитесь на стадии комплексной разработки или на стадии выбора и столкнулись с какими-либо потребностями, проблемами и опытом, поделитесь ими со всеми в области комментариев! Тестовый контент этой статьи содержит Тест запуска системы、Тест передачи файлов、Тест светодиодов、Ключевой тест、Ключевой тест、Тест настройки часов、Тест чтения и записи ГДР и т. д.

Предисловие

Этот документ применим к средам разработки:

Среда разработки Windows: Windows 7 64-битная, Windows 10 64-битная.

Виртуальная машина: VMware15.5.5

Среда разработки Linux: Ubuntu18.04.4 64 бит.

LinuxSDK:T113-i_V1.0(Linux)

U-Boot:U-Boot-2018.05

Kernel:Linux-5.4.61、Linux-RT-5.4.61

Без специальных инструкций в этой статье по умолчанию используется тестирование на основе оценочной платы конфигурации NAND FLASH. По умолчанию USB TO UART0 используется в качестве последовательного порта отладки, загрузочная карта системы Linux (режим загрузки SD) используется для запуска системы, а оценочная плата подключается к ПК через маршрутизатор.

Тестовая плата — TLT113-EVM компании Chuanglong Technology, отечественная промышленная оценочная плата, разработанная на основе двухъядерного многоядерного процессора ARM Cortex-A7 + Xuantie C906 RISC-V + HiFi4 DSP компании Quanzhi Technology. -Процессорный блок A7 работает на частоте до 1,2 ГГц. Оценочная плата состоит из основной платы и оценочной базовой платы. Все компоненты, такие как ЦП, ПЗУ, ОЗУ, источник питания и кварцевый генератор на основной плате, выполнены в отечественных решениях промышленного уровня со 100% степенью локализации. В то же время большинство компонентов оценочной объединительной платы также используют отечественные решения промышленного уровня. Основная плата была проверена профессиональной компоновкой печатной платы, а также испытаниями при высоких и низких температурах. Она стабильна и надежна и может использоваться в различных промышленных условиях.

Прежде чем приступить к работе с этим документом, следуйте соответствующим документам «Установка средства отладки» и «Настройка среды разработки Linux», чтобы установить терминал отладки последовательного порта SecureCRT, виртуальную машину VMware, систему Ubuntu и другое сопутствующее программное обеспечение.

Для оценочной платы конфигурации NAND FLASH загрузочная карта системы Linux и описание раздела NAND FLASH показаны в следующей таблице.

Таблица 1

Имя устройства

раздел устройства

Описание раздела

Загрузочная карта системы Linux

/dev/mmcblk0p1

Раздел boot-resource хранит такие ресурсы, как bootlogo.

/dev/mmcblk0p2

раздел env, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk0p3

раздел env-redund, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk0p4

загрузочный раздел, в котором хранится образ ядра boot.fex

/dev/mmcblk0p5

раздел rootfs, в котором хранится образ файловой системы rootfs.fex.

/dev/mmcblk0p6

В разделе dsp0 хранится образ DSP dsp0.fex.

/dev/mmcblk0p7

частный раздел, еще не используется

/dev/mmcblk0p8

Раздел UDISK, оставшееся неиспользованное место на носителе

NAND FLASH

/dev/mtdblock0

В разделе boot0 хранится образ SPL (раздел только для чтения).

/dev/mtdblock1

раздел uboot, хранит образ U-Boot (раздел только для чтения)

/dev/mtdblock2

раздел secure_storage (раздел только для чтения)

/dev/mtdblock3

sys, разделы mtdblock4~mtdblock12 разделены на основе mtdblock3

/dev/mtdblock4

раздел mbr, в котором хранится образ sunxi_mbr.fex.

/dev/mtdblock5

Раздел boot-resource хранит такие ресурсы, как bootlogo.(раздел только для чтения)

/dev/mtdblock6

раздел env, в котором хранится переменная среды U-Boot env.fex.

/dev/mtdblock7

раздел env-redund, в котором хранится переменная среды U-Boot env.fex.

/dev/mtdblock8

загрузочный раздел, в котором хранится образ ядра boot.fex

/dev/mtdblock9

раздел rootfs, в котором хранится образ файловой системы rootfs.fex (не записывайте напрямую в узел устройства «/dev/mtdblock9», иначе файловая система будет повреждена).

/dev/mtdblock10

В разделе dsp0 хранится образ DSP dsp0.fex.

/dev/mtdblock11

частный раздел, еще не используется

/dev/mtdblock12

Раздел UDISK, оставшееся неиспользованное место на носителе

Для оценочной платы конфигурации eMMC, системы карты загрузки Linux, в разделе «Описание eMMC» показана поверхность ниже.

Примечание: оценочная плата конфигурации eMMC карта системы Linuxизраздел Устройство mmcblk1pX, а не NAND. Оценочная плата конфигурации FLASH Загрузочная карта системы Linuxизраздел устройствадляmmcblk0pX。

Таблица 2

Имя устройства

раздел устройства

Описание раздела

Загрузочная карта системы Linux

/dev/mmcblk1p1

Раздел boot-resource хранит такие ресурсы, как bootlogo.

/dev/mmcblk1p2

раздел env, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk1p3

раздел env-redund, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk1p4

загрузочный раздел, в котором хранится образ ядра boot.fex

/dev/mmcblk1p5

Раздел файловой системы, в котором хранится образ файловой системы rootfs.fex.

/dev/mmcblk1p6

В разделе dsp0 хранится образ DSP dsp0.fex.

/dev/mmcblk1p7

частный раздел, еще не используется

/dev/mmcblk1p8

Осталось неиспользованное место на носителе

eMMC

/dev/mmcblk0p1

Раздел boot-resource хранит такие ресурсы, как bootlogo.

/dev/mmcblk0p2

раздел env, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk0p3

раздел env-redund, в котором хранится переменная среды U-Boot env.fex.

/dev/mmcblk0p4

загрузочный раздел, в котором хранится образ ядра boot.fex

/dev/mmcblk0p5

Раздел файловой системы, в котором хранится образ файловой системы rootfs.fex.

/dev/mmcblk0p6

В разделе dsp0 хранится образ DSP dsp0.fex.

/dev/mmcblk0p7

частный раздел, еще не используется

/dev/mmcblk0p8

Осталось неиспользованное место на носителе

Быстрый тест оценочной платы

Тест запуска системы

Подключите оценочную плату к источнику питания и используйте кабель Type-C для подключения ПК и последовательного порта отладки USB TO UART0 оценочной платы. Откройте диспетчер устройств и подтвердите номер COM-порта, соответствующий последовательному порту отладки USB TO UART0 оценочной платы.

Рисунок 1

Рисунок 2

Откройте терминал отладки последовательного порта SecureCRT, выберите соответствующий номер COM-порта и установите скорость передачи данных 115200, 8N1 и без цифры четности. Установите соединение последовательного порта, как показано на рисунке ниже.

Рисунок 3

Воля Загрузочная карта системы Оценочная плата подключаемого модуля Linux Micro Слот для SD-карты, в соответствии с шелковой ширмой рядом с DIP-переключателем SW2 на оценочной плате (а не текстом на DIP-переключателе), установите DIP-переключатель в положение 0, чтобы включить Micro Функция SD. Когда оценочная плата будет включена и запущена, система автоматически войдет в систему как пользователь root, а терминал последовательного порта распечатает информацию о запуске, аналогичную следующей.

Рисунок 4

Рисунок 5

Изменения светодиода основной платы во время запуска системы объясняются следующим образом:

После включения оценочной платы загорается индикатор питания LED0, затем загорается светодиод LED1, затем запускается U-Boot, светодиод LED2 горит до тех пор, пока ядро ​​не начнет работать, светодиод LED2 гаснет, а светодиод LED1 мигает; Heartbeat; NAND FLASH или Когда eMMC читает или записывает, светодиод 2 мигает.

Рисунок 6

Примечание. Если вам нужно использовать NAND Оценочная плата загрузки FLASH или eMMC, см. «Загрузка». карта системы Производство Linux и лечение системы》Документирование восстановления системы Linux в NAND ФЛЕШ или eMMC.

Тест передачи файлов

Распространенными способами передачи файлов между ПК и оценочной платой являются следующие:

  1. Загрузочная карта через систему Linux, U disk и другие носители информации.
  2. Копируйте через NFS, TFTP, OpenSSH и другие сетевые методы.

Загрузочная карта через систему Linux

Вставьте загрузочную карту поддерживающей системы в ПК через кард-ридер и смонтируйте ее в системе Ubuntu виртуальной машины.,следующеекартина,Запрос узла устройства карты запуска системы,Среди них «/dev/sdb5» — это раздел файловой системы Linux «Загрузочная карта системы».,Фактическое имя имеет преимущественную силу.

Рисунок 7

Выполните следующую команду, чтобы смонтировать узел устройства «/dev/sdb5» в каталог «/mnt/».

Host# sudo mount /dev/sdb5 /mnt

Host# ls /mnt/

Рисунок 8

Выполните следующую команду, чтобы создать файл test0 в системе Ubuntu, и скопируйте файл test0 в корневой каталог файловой системы Linux.

Host# touch test0

Host# sudo cp test0 /mnt/root/

Рисунок 9

После завершения копирования файла,Пожалуйста, выполните следующую команду, чтобы удалить устройство,и отключите картридер,вынуть из Загрузочная карта системы Linux。

Target# sudo umount /dev/sdb5

Рисунок 10

Воля Загрузочная карта системы Linux подключен к оценочной плате Micro Слот для SD-карты позволяет просматривать файлы в корневом каталоге после включения оценочной платы.

Target# ls

Рисунок 11

Через OpenSSH

OpenSSH — это бесплатная реализация протокола SSH (Secure Shell) с открытым исходным кодом. Набор протоколов SSH можно использовать для удаленного управления или передачи файлов между компьютерами. Файловая система оценочной платы по умолчанию поддерживает библиотеку SSH.

Выполните следующие команды в системе Ubuntu,Проверьте, установлен ли OpenSSH. Из следующего изображения видно, что система поставляется с OpenSSH. Если не установлен,Пожалуйста, сначала установите OpenSSH правильно самостоятельно.

Host# ssh -v

Рисунок 12

Подключите сетевой порт ETH0 (RGMII) оценочной платы к ПК через маршрутизатор. Выполните следующую команду, чтобы автоматически получить IP-адрес оценочной платы. «-i» используется для указания сетевой карты, а eth0 — это имя сетевой карты. Измените его в соответствии с реальной ситуацией.

Target# udhcpc -i eth0

Рисунок 13

Выполните следующую команду, чтобы запросить IP-адрес сетевой карты оценочной платы. На этот раз запрашивается IP-адрес 192.168.0.30.

Target# ifconfig

Рисунок 14

Используйте OpenSSH для передачи файлов с ПК на оценочную плату.

Выполните следующую команду, чтобы создать файл test1 в системе Ubuntu, и используйте команду OpenSSH, чтобы скопировать файл test1 в корневой каталог файловой системы оценочной платы.

Host# touch test1

Host# scp test1 root@192.168.0.30:/

Рисунок 15

Если появится запрос «Вы уверены, что хотите продолжить подключение (да/нет)?», введите: да.

Выполните следующую команду в файловой системе оценочной платы.,Вы можете увидеть файлы, скопированные из Ubuntu,Как показано ниже.

Target# ls /

Рисунок 16

Используйте OpenSSH для передачи файлов с оценочной платы на ПК.

Выполните следующую команду, чтобы создать файл test2 в корневом каталоге файловой системы оценочной платы.

Target# cd /

Target# touch test2

Рисунок 17

Выполните следующую команду в системе Ubuntu, чтобы скопировать файл test2 из корневого каталога файловой системы оценочной платы в каталог «/home/tronlong/» системы Ubuntu. Если содержимое передачи представляет собой папку, добавьте параметр «-r» после scp.

Host# sudo scp root@192.168.0.30:/test2 /home/tronlong/

Host# ls

Рисунок 18

Войдите в файловую систему оценочной платы с помощью OpenSSH.

Выполните следующую команду в системе Ubuntu, чтобы войти в файловую систему оценочной платы с помощью OpenSSH.

Host# sudo ssh root@192.168.0.30

Рисунок 19

Чтобы выйти из системы, выполните команду выхода или выхода из системы.

Тест светодиодов

Войдите в файловую систему оценочной платы и выполните следующие команды, чтобы выключить и зажечь светодиод 1.

Target# echo 0 > /sys/class/leds/user-led0/brightness //Выключаем светодиод1

Target# echo 1 > /sys/class/leds/user-led0/brightness //Зажигаем светодиод1

Рисунок 20

Ключевой тест

Оценочная плата содержит 1 кнопку сброса ЦП (KEY0), 1 кнопку USB0 UPGRADE (KEY1) и 1 кнопку пользовательского ввода USER (KEY2).

CPU RESET(KEY0)Ключевой тест

После нажатия кнопки СБРОС ЦП (KEY0) система оценочной платы перезапустится, указывая на то, что функция кнопки нормальна.

USB0 UPGRADE(KEY1)Ключевой тест

ссылка《Загрузочная карта системы Документация «Производство Linux и лечение системы», которая поможет вылечить систему Linux до NAND. FLASH запускается нормально, указывая на то, что функции клавиш работают нормально.

USER (KEY2) ввод пользователя Ключевой тест

Войдите в файловую систему оценочной платы и выполните следующую команду, чтобы убедиться, что номер события, соответствующий ключу пользователя, равен event0.

Target# cat /proc/bus/input/devices

Рисунок 21

Выполните следующую команду и нажмите кнопку KEY2 для проверки. Терминал последовательной отладки распечатает информацию, аналогичную следующей. Среди них «0094» представляет кнопку KEY2. Нажмите «Ctrl + C», чтобы завершить тестовую команду.

Target# od -x /dev/input/event0

Рисунок 22

Тест настройки часов

Система Linux разделена на системные часы (программные часы) и часы RTC (аппаратные часы). Системные часы исчезнут при отключении питания. Часы RTC будут работать в течение длительного времени, если установлена ​​батарея.

Если вам нужно использовать внешние часы RTC, установите батарею ML2032 (перезаряжаемая 3 В) или CR2032 (неперезаряжаемая 3 В) в держатель батарейки кнопки RTC.

Примечание. При использовании неперезаряжаемой батареи CR2032 не вставляйте перемычку в интерфейс J1.

Ниже приведены общие команды, связанные с часами.

  1. Просмотр системных часов

Target# date

Рисунок 23

Посмотреть часы RTC

Target# hwclock -u

Рисунок 24

Установить системное время

Target# date -s "2023-01-10 16:15:00" //Время установки: 16:15:00 10 января 2023 г.

Target# date

Рисунок 25

Синхронизировать системные часы с часами RTC.

Target# hwclock --systohc -u

Target# hwclock -u

Рисунок 26

Синхронизируйте системные часы и часы RTC.

После выполнения следующей команды система синхронизирует часы RTC с системными часами.

Target# hwclock --hctosys -u

Рисунок 27

Тест чтения и записи DDR

В этом разделе используются собственные инструменты чтения и записи памяти файловой системы для проверки производительности чтения и записи DDR. На скорость чтения и записи DDR влияют методы тестирования и фактические условия. Следующие данные испытаний предназначены только для справки.

Тест скорости чтения DDR

Войдите в систему оценочной платы и выполните следующую команду, чтобы проверить скорость чтения DDR. Параметр «-P» указывает количество ядер ЦП.

Target# bw_mem -P 2 30M frd

Рисунок 28

Тест читает 30 МБ данных из DDR. Видно, что скорость чтения в этом тесте составляет 1925,47 МБ/с.

Тест скорости записи DDR

Войдите в систему оценочной платы и выполните следующую команду, чтобы проверить скорость записи DDR.

Target# bw_mem -P 2 30M fwr

Рисунок 29

Тест записывает 30 МБ данных в DDR. Видно, что скорость записи в этом тесте составляет 659,99 МБ/с.

Тест скорости копирования DDR

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

Target# stream -M 30M -P 2

Рисунок 30

Тест копирует 30 МБ данных в DDR. Видно, что скорость копирования в этом тесте составляет 2179,35 МБ/с.

Тест чтения и записи интерфейса Micro SD

В этом разделе используется диск Micro SanDisk емкостью 128 ГБ. SD-карта для проверки оценочной платы Micro Производительность интерфейса SD. Пожалуйста, обратитесь к разделу "Загрузка" карта системы Документ «Производство Linux и укрепление системы» попал в Загрузочную карта системы Линукс, протестируй еще раз. Разные микро SD-карта и различные методы тестирования для Micro Результаты тестирования интерфейса SD вызовут определенные различия.

пожалуйста Воля Загрузочная карта системы Linux подключен к оценочной плате Micro Гнездо для SD-карты, включите питание оценочной платы, войдите в файловую систему оценочной платы и выполните следующую команду для просмотра Загрузка карта системы Информация о Linux.

Target# fdisk -l

Рисунок 31

Выполните следующую команду,Отформатируйте раздел Загрузочная карта системы Linuxmmcblk0p8 (осталось неиспользуемое пространство).,Пожалуйста, сделайте резервную копию данных заранее.

Примечание. Если вы используете eMMC для настройки оценочной платы, то Загрузка карта системы Соответствующий раздел Linux Устройство — mmcblk1p8 (осталось неиспользуемое пространство), обратите внимание на различие.

Target# mkfs.ext4 /dev/mmcblk0p8

Рисунок 32

Выполните следующую команду, чтобы создать каталог и смонтировать раздел.

Target# mkdir -p /run/media/mmcblk0p8

Target# mount /dev/mmcblk0p8 /run/media/mmcblk0p8

Рисунок 33

Тест скорости записи интерфейса Micro SD

Войдите в систему оценочной платы и выполните следующую команду, чтобы проверить скорость записи интерфейса Micro SD.

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/dev/zero of=/run/media/mmcblk0p8/test bs=1024K count=100 conv=fsync

Команда time имеет функцию синхронизации, dd используется для копирования, чтения из файла if (входной файл) и записи в файл, заданный параметром of (выходной файл). bs — это размер каждого блока записи, а count — это размер. количество блоков чтения и записи.

«if=/dev/zero» не генерирует ввод-вывод, то есть непрерывно выводит данные и может использоваться для проверки чистой скорости записи.

Рисунок 34

Напишите сюда в общей сложности 100 МБ тестовых данных в Загрузочную. карта системы Тестовый файл Linux, вы можете увидеть Micro Скорость записи интерфейса SD составляет около: 100 МБ. / 4.85s ≈ 20.62MB/s。

Тест скорости чтения интерфейса Micro SD

Выполните следующую команду, чтобы проверить скорость чтения интерфейса Micro SD.

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/run/media/mmcblk0p8/test of=/dev/null bs=1024K

«of=/dev/null» не генерирует ввод-вывод, то есть непрерывно получает данные и может использоваться для проверки скорости чистого чтения.

Рисунок 35

Здесь из тестового файла считывается всего 100МБ данных. Видно, что скорость чтения интерфейса Micro SD в этом тесте составляет примерно: 100МБ/4,92с ≈ 20,33МБ/с.

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

Target# umount /run/media/mmcblk0p8/

Target# rm -r /run/media/mmcblk0p8

Рисунок 36

Вы можете оставить сообщение в комментариях, спасибо за поддержку.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose