Я надеюсь, что они могут быть полезны тем, кто хочет изучить встраиваемые системы, войти в индустрию встраиваемых систем, а также тем, кто только что изучил встраиваемые системы. Если вы находитесь на стадии комплексной разработки или на стадии выбора и столкнулись с какими-либо потребностями, проблемами и опытом, поделитесь ими со всеми в области комментариев! Тестовый контент этой статьи содержит Тест запуска системы、Тест передачи файлов、Тест светодиодов、Ключевой тест、Ключевой тест、Тест настройки часов、Тест чтения и записи ГДР и т. д.
Этот документ применим к средам разработки:
Среда разработки 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.
Распространенными способами передачи файлов между ПК и оценочной платой являются следующие:
Вставьте загрузочную карту поддерживающей системы в ПК через кард-ридер и смонтируйте ее в системе 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 — это бесплатная реализация протокола 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).
После нажатия кнопки СБРОС ЦП (KEY0) система оценочной платы перезапустится, указывая на то, что функция кнопки нормальна.
ссылка《Загрузочная карта системы Документация «Производство Linux и лечение системы», которая поможет вылечить систему Linux до NAND. FLASH запускается нормально, указывая на то, что функции клавиш работают нормально.
Войдите в файловую систему оценочной платы и выполните следующую команду, чтобы убедиться, что номер события, соответствующий ключу пользователя, равен 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.
Ниже приведены общие команды, связанные с часами.
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. Параметр «-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 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
Вы можете оставить сообщение в комментариях, спасибо за поддержку.