{{img:tion-pro28_small.jpg|Одноплатный компьютер Тион-Про28}} ====== Тион-Про28, Тион28, Сириус 28 ====== Данная страница содержит **краткую** информацию по применению изделий "Тион-Про28", "Тион28", "Сириус28".\\ В разделе [[tion-pro28#Документация и файлы]] можно найти более полную информацию по освоению ОС Linux, OC Windows CE 6.0. Это оригинальная документация от Freescale, на английском языке.\\ Также консультацию по работе с устройствами можно получить на нашем форуме. ===== Отладочная консоль ===== Отладочная консоль используется для отображения процесса загрузки ОС, для получения сообщения об ошибках, управления ОС. Разъем Х9 Тиона-Про28 - отладочная консоль (Debug UART). Данный разъем необходимо соединить с СОМ-портом ПК нуль-модемным кабелем. Параметры порта - 115200 8n1. Для работы с консолью можно использовать любую программу, умеющую работать с COM-портом, например HyperTerminal, Tera Term Pro или Putty. Если ПК не оснащен COM-портом, можно использовать преобразователи, например USB - RS-232. ===== Режимы загрузки ===== Тион-Про28 может выполнять загрузку образа ОС c различных устройств. Выбор режима загрузки осуществляется с помощью перемычек J1-J4. Назначение перемычек показано в следующей таблице: ^ J1 ^ J2 ^ J3 ^ J4 ^ Режим ^ | **0** | **0** | **0** | **0** | **USB0** | | 0 | 0 | 0 | 1 | SSP3 EEPROM 3.3V | | **0** | **0** | **1** | **0** | **NAND Flash 3.3V** | | 0 | 1 | 0 | 0 | SSP2 Flash 3.3V | | 0 | 1 | 0 | 1 | SD/MMC SSP1 3.3V | | 0 | 1 | 1 | 0 | JTAG | | 1 | 0 | 0 | 0 | I2C 3.3V | | **1** | **0** | **0** | **1** | **SD/MMC SSP0 3.3V** | | 1 | 1 | 0 | 0 | SSP3 Flash 3.3V | | 0 | 1 | 0 | 1 | SD/MMC SSP1 3.3V | Жирным шрифтом выделены основные способы загрузки ОС для Тиона-Про28. ===== Запись образа ОС во внутреннюю флешь ===== Записать и обновить образ ОС (или загрузчика) во внутреннюю NAND Flash можно одним из следующих способов: === Запись Windows CE === == С помощью MicroSD карты == Для записи образа с помощью MicroSD карты необходимо подготовить карту, записав на нее загрузчик. Это делается с помощью программы cfimager.exe, которую можно найти в составе [[tion-pro28#документация_и_файлы| утилит раздела "Документация и файлы"]]. В этом же разделе можно найти загрузчик eboot_ivt.sb. Выполните команду cfimager -f eboot_ivt.sb -d <имя диска> где <имя диска> - буква, соответствующая имени диска sd карты в ОС Windows. Также может быть указан параметр "-а", если необходимо отформатировать SD карту. Форматировать рекомендуется при первой записи загрузчика, при использовании SD-карты для записи образа ОС, либо в случае возникновения сбоев при записи. Далее MicroSD карту нужно вставить в разъем Тиона-Про28, установить перемычки в режим загрузки "SD/MMC SSP0 3.3V", включить устройство. В меню загрузчика EBoot выбрать пункт "[D] Download Image Now", после этого, следуя подсказкам в консоли, выбрать откуда, куда и какой файл записать. Образ ОС (nk.bin), который необходимо записать во флеш, может быть считан с SD карты, через ethernet, через USB RNDIS или USB Serial. Выбор осуществляется с помощью пункта меню "[E] Select Ether Device : ". **SD карта**. При использовании SD карты для записи образа необходимо записать файл nk.bin в корень диска SD карты. Раздел диска предварительно рекомендуется отформатировать, например с помощью программы cfimanager.\\ Для замены загрузчика EBoot необходимо файл "eboot_ivt.msb" переименовать в "xldr.bin" и поместить в корень SD-карты. **Ethernet**. Для записи образа через Ethernet необходимо настроить EBoot на работу в имеющейся локальной сети (IP адрес, DHCP и т.д.). Передача образа осуществляется по протоколу TFTP. Порт 980, имя файла на принимающей стороне - boot.bin, размер блока - 512 байт. Для записи образа ОС необходима утилита передачи файлов по протоколу TFTP, например [[http://tftpd32.jounin.net/|TFTPD32]] для Widows® XP/2000. Настройка [[http://tftpd32.jounin.net/|TFTPD32]] показана на [[http://www.zao-zeo.ru/media/img/img-legacy/fixes/tftp32.jpg| данном рисунке]].\\ Для обновления загрузчика EBoot необходимо выбрать файл eboot_ivt.msb вместо nk.bin. == С помощью MfgTool == :!:**Важно:** \\ Перед записью образа необходимо убедиться, что не установлена перемычка, замыкающая контакты 4 и 5 разъемы Х25. Иначе ПК не увидит USB-устройство. Утилита MfgTool, которую можно найти в файле [[tion-pro28#документация_и_файлы| утилит раздела "Документация и файлы"]], позволяет записать образ ОС во внутреннюю флеш через интерфейс USB. Для этого необходимо выполнить следующие шаги: 1. Записать Файлы образа ОС (eboot_ivt.sb и nk.nb0) в папку "\Mfgtools-Rel-\Profiles\MX28 WinCE Update\OS firmware\files\";\\ 2. Подключить Тион-Про28 с помощью USB-кабеля к ПК (соединить разъем интерфейса USB0 с портом USB ПК);\\ 3. Выбрать с помощью перемычек режим загрузки USB0;\\ 4. Запустить MfgTool, в меню "Options\Configuration..." настроить используемый порт USB. В разделе "Status Information" главного окна программы выбрать "MX28 WinCE Update";\\ 5. Подать питание на Тион-Про28. В программе MfgTool должно быть обнаружено "HID-совместимое устройство";\\ 6. Нажать кнопку "Start". Дождаться окончания процесса записи;\\ Контролировать процесс записи можно с помощью отладочной консоли. Более подробную информацию можно найти в документации на утилиту MfgTool. :!:**Примечания:** \\ - Для загрузки образа WinCE из NAND Flash должен быть выбран пункт " [5] Select Boot Device : NK from NAND" загрузчика EBoot. Для входа в меню загрузчика необходимо нажать клавишу "Пробел" при появления надписи "Initiating image launch in 3 seconds" в консоли. - Если записывается ОС WindowsCE на флеш, в которой ранее была записана ОС Linux, то из меню EBoot сначала необходимо отформатировать флеш (пункты "[8] Format All NAND Regions" и " [F] NAND Low Level Format"), иначе появятся сообщения об ошибках флеш и запись образа завершиться неудачно. === Запись Linux === :!:**Важно:** \\ - Если записывается ОС Linux на флеш, в которой ранее была записана ОС WindowsCE, то из меню EBoot сначала необходимо отформатировать флеш (пункты "[8] Format All NAND Regions" и " [F] NAND Low Level Format"), иначе появятся сообщения об ошибках флеш и запись образа завершиться неудачно. == С помощью Mfgtool (необходим ПК с установленной ОС Windows) == :!:**Важно:** \\ Перед записью образа необходимо убедиться, что не установлена перемычка, замыкающая контакты 4 и 5 разъемы Х25. Иначе ПК не увидит USB-устройство. Утилита MfgTool, которую можно найти в файле [[tion-pro28#документация_и_файлы| утилит раздела "Документация и файлы"]], позволяет записать образ ОС во внутреннюю флеш через интерфейс USB. Для этого необходимо выполнить следующие шаги: 1. Записать Файлы образа ОС:\\ - Ядро 2.6.35 : файлы imx28_ivt_linux.sb и rootfs.tar.bz2 поместить в папку "\Mfgtools-Rel-\Profiles\MX28 Linux_2.6.35 Update\OS firmware\files\";\\ - Ядро 4х : файлы u-boot.sb, zImage, imx28-tionpro28.dtb, rootfs.tar.bz поместить в папку "\Mfgtools-Rel-\Profiles\MX28 Linux Update\OS firmware\files\";\\ 2. Подключить Тион-Про28 с помощью USB-кабеля к ПК (соединить разъем интерфейса USB0 с портом USB ПК);\\ 3. Выбрать с помощью перемычек режим загрузки USB0;\\ 4. Запустить MfgTool, в меню "Options\Configuration..." настроить используемый порт USB. В разделе "Status Information" главного окна программы выбрать "MX28 Linux_2.6.35 Update" или "MX28 Linux Update";\\ 5. Подать питание на Тион-Про28. В программе MfgTool должно быть обнаружено "HID-совместимое устройство";\\ 6. Нажать кнопку "Start". Дождаться окончания процесса записи;\\ Контролировать процесс записи можно с помощью отладочной консоли. Более подробную информацию можно найти в документации на утилиту MfgTool. == Из ОС Linux == Для записи ОС данным способом необходимо загрузить ОС Linux на Тионе. Она может быть загружена с SD-карты, через NFS, через USB (sbloader) и т.д. Для записи ядра Linux выполнить следующие команды: $ flash_eraseall /dev/mtd0 $ kobs-ng init imx28_ivt_linux.sb imx28_ivt_linux.sb - файл образа ОС Linux. Для записи КФС выполнить команды: $ ubidetach /dev/ubi_ctrl -m 1 $ ubiformat -y /dev/mtd1 $ ubiattach /dev/ubi_ctrl -m 1 $ ubimkvol /dev/ubi0 -n 0 -N rootfs0 -s 220MiB $ ubimkvol /dev/ubi0 -n 1 -N data -m $ mkdir -p /mnt/ubi0 $ mount -t ubifs ubi0_0 /mnt/ubi0 (в случае возникновения ошибки, добавить ключ -n после mount) $ tar -jxf rootfs.tar.bz2 -C /mnt/ubi0 $ chown root.root -R /mnt/ubi0 $ umount /mnt/ubi0/ rootfs.tar.bz2 - образ КФС. ===== Создание загрузочной SD-карты ===== ====C ОС Linux ==== Создать загрузочную SD-карту можно с помощью утилиты cfimager.exe, либо с помощью скрипта "mk_mx28_sd_v2". == С помощью утилиты cfimager.exe ( из ОС Windows) == Для загрузки ОС на SD-карту необходимо записать u-boot, ядро и КФС. Это делается с помощью программы cfimager.exe, которую можно найти в составе [[tion-pro28#документация_и_файлы| утилит раздела "Документация и файлы"]]. В этом же разделе можно найти образы u-boot, ядра и КФС. Для записи загрузчика u-boot выполните команду cfimager -f imx_ivt_uboot.sb -d <имя диска> где <имя диска> - буква, соответствующая имени диска sd карты в ОС Windows. Также может быть указан параметр "-а", если необходимо отформатировать SD карту. Форматировать рекомендуется при первой записи загрузчика, при использовании SD-карты для записи образа ОС, либо в случае возникновения сбоев при записи. Далее на SD-карту нужно записать образ ОС (uImage) с помощью проводника, а также разархивировать файл rootfs.tar.bz2 (КФС) в корень первого раздела SD-карты. Далее MicroSD карту нужно вставить в разъем Тиона-Про28, установить перемычки в режим загрузки "SD/MMC SSP0 3.3V", включить устройство. Следующие команды необходимо давать загрузчику u-boot. Устанавливаем переменные окружения: setenv bootargs 'console=ttyAM0,115200n8' setenv mmc_root /dev/mmcblk0p1 rw rootwait - указывает раздел, на котором хранится КФС setenv bootargs_mmc 'setenv bootargs ${bootargs} root=${mmc_root}' setenv bootcmd_mmc 'run bootargs_mmc; fatload mmc 0 ${loadaddr} uImage' - загружаем файл образа ОС uImageв RAM Тиона. setenv bootcmd 'run bootcmd_mmc; bootm' Сохраняем настройки u-boot saveenv Запускаем загрузку ОС boot == С помощью скрипта mk_mx28_sd_v2 == Для использования скрипта нужно установить ltib, либо использовать виртуальную машину, доступную в разделе [[tion-pro28#документация_и_файлы| "Документация и файлы"]]. Устанавливаем переменные окружения в u-boot: setenv bootargs 'console=ttyAM0,115200n8' setenv mmc_root /dev/mmcblk0p3 rw rootwait setenv bootargs_mmc 'setenv bootargs ${bootargs} root=${mmc_root}' setenv bootcmd_mmc 'run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000' setenv bootcmd 'run bootcmd_mmc; bootm' Сохраняем настройки u-boot saveenv Запускаем загрузку ОС boot ===== Сборка Linux ===== ==== Linux 4.x ==== Для сборки ОС Linux, U-Boot и КФС рекомендуется использовать Ubuntu 18.04. == Репозитории: == Buildroot: https://github.com/Zaozeoru/imx28_buildroot.git \\ Linux (branch linux_4.14.13) https://github.com/Zaozeoru/imx28_linux.git \\ U-Boot (uboot_2018.05) https://github.com/Zaozeoru/imx28_u-boot.git \\ == Сборка с помощью Buildroot == Для сборки необходимо на компьютер, где будет выполняться сборка образов, установить необходимые для Buildroot пакеты:\\ https://buildroot.org/downloads/manual/manual.html#requirement \\ Далее выполните следующие команды: git clone https://github.com/Zaozeoru/imx28_buildroot.git cd imx28_buildroot make tionpro28_imx28_defconfig make Собранные образы можно найти в папке output/images ===== Программное обеспечение ===== ==== Windows CE 6.0 ==== == Список поддерживаемых интерфейсов: == - RAM DDR2\\ - NAND Flash\\ - TFT, VGA (драйвер для дисплеев 5.7" 640х480, VGA 640x480, 3.5" 320x240)\\ - USB 2.0 Host/Client/OTG\\ - 2 порта Ethernet\\ - UART/RS-232/RS-485/RS-422\\ - SPI\\ - I2C\\ - Резистивный сенсорный экран\\ - GPIO\\ - SD-карта\\ - CAN\\ == Утилиты удаленного управления == В образ ОС Windows CE включены средства удаленного контроля, позволяющие управлять одноплатным компьютером удаленно, через Ethernet: * Telnet Server, обеспечивающий доступ к интерфейсу командной строки; * Удаленный дисплей (CERDISP), позволяющий получать изображение с компьютера без подключения к нему дисплея; * SMB Server, предназначенный для обмена файлами; * Возможность использовать Remote Tools, входящие в состав Visual Studio; ==== Linux ==== == Список поддерживаемых интерфейсов: == - RAM DDR2\\ - NAND Flash\\ - TFT, VGA(драйвер для дисплея 5.7" 640х480)\\ - USB 2.0 Host\\ - 2 порта Ethernet\\ - UART/RS-232/RS-485/RS-422 (В данный момент Порт 1 работает в режиме RS-232, Порт 2 - RS-485)\\ - Резистивный сенсорный экран\\ - GPIO\\ - SD-карта\\ - I2C\\ Загрузчик U-boot 2009.08 не поддерживает NAND Flash! Компиляторы : [[linux#imx28|iMX28]] ===== Интерфейсы ===== === RS-232/RS-485/RS-422 === ТионПро28 оснащен двумя портами RS-232/RS-485/RS-422. Каждый порт может находиться в одном из 4 режимов: - Выключен - RS-232 - RS-485 - RS-422 Назначение контактов разъемов следующее (X16 - Порт 1, X17 - Порт 2): ^ № ^ RS-232 ^ RS-485 ^ RS-422 ^ |1| | | | |2|RTS| |TX+| |3|GND|GND|GND| |4|TX| |TX-| |5|RX|A|RX+| |6||B|RX-| |7|CTS| | | |8| | | | Выбор режима осуществляется средствами ОС: В **Windows CE** режим задается ключами реестра\\ [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM3] (Порт 1) и [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4] (Порт 2) "Mode"=dword:0 Возможные значения: 0 - Выключен, 1 - RS-232, 2 - RS-485, 3 - RS-422; Исходное значение - 0.\\ После изменения значений требуется перезагрузка устройства.\\ Название устройств, соответствующее портам - COM3: и COM4: В ОС **Linux** Порт 1 находится в режиме RS-232, Порт 2 - RS-485. \\ Устройства, соответствующие портам: Порт 1 - /dev/ttySP1, Порт 2 - /dev/ttySP2 \\ Изменить режим можно, отредактировав файл /etc/rc.d/rc.serial, изменением строк \\ set_uart_mode /dev/ttySP1 1 set_uart_mode /dev/ttySP2 2 , где последний параметр задает режим работы порта - 0 - Выключен, 1 - RS-232, 2 - RS-485, 3 - RS-422. === Настройки дисплея === В ТионПро28 реализована поддержка 3-х видов дисплеев:\\ - OSD057 5.7" 640x480 \\ - VGA 640x480 \\ - SH320240T/PH320240T 3.5" 320x240 \\ Выбор режима осуществляется средствами ОС: В **Windows CE** режим задается ключами реестра\\ [HKEY_LOCAL_MACHINE\System\GDI\Drivers] "DisplayType"=dword:0 Возможные значения: 0 - OSD057 5.7" 640x480, 1 - VGA 640x480, 2 - SH320240T/PH320240T 3.5" 320x240.\\ В **Linux** режим задается строкой в [[u-boot#параметры_ядра | cmdline]] начиная с svn2819\\ video=mxs-fb:tag=3.5 Возможные значения: 3.5, 5.7, VGA.\\ В Linux дисплей отключается через 10 минут, для энергосбережения. Чтобы этого избежать, необходимо добавить в автозагрузку команду: echo -e "\033[9;0]" > /dev/tty0 Включить дисплей, если он выключился, можно командой\\ echo 0 > /sys/class/graphics/fb0/blank === Ethernet === В ОС **Linux** интерфейс eth0 запускается автоматически. Параметры сети следующие: IP-адрес: 192.168.1.28 Шлюз: 192.168.1.1 Маска: 255.255.255.0 Задаются параметры сети в файле /etc/rc.d/rc.conf. В ОС **Windows CE** интерфейсы Eth0 и Eth1 запускаются автоматически. Настройка параметров сети - DHCP. === USB === Тион-Про28 имеет 2 порта USB 2.0. \\ Порт USB1 работает в режиме Host. \\ Порт USB0 может работать как в режиме Host, так и Client. Для перевода порта в режим Host необходимо замкнуть контакты 4 и 5 разъема Х25 (установить перемычку). === Цифровые порты ввода-вывода (GPIO) === В **Windows CE** управление портами можно осуществить 2-мя способами:\\ - С помощью драйвера GPIO. Пример работы с драйвером можно посмотреть [[wince-dev| на этой странице]].\\ - Через библиотеку cspddk.dll (входит в состав образа ОС). Подробнее об использовании библиотеки можно прочитать в документе "EVK_imx28_WinCE60_RM.pdf" (Раздел 6). Документ находится в архиве "Документация по ОС WinCE 6.0 от Freescale" в разделе [[tion-pro28#Документация и файлы]] Инструкцию о работе с портами в ОС **Linux** можно найти в документации на ОС Linux, файл Documentation\gpio.txt ===== Документация и файлы ===== [[https://www.zao-zeo.ru/media/files/docs/tion-pro28-v1.1.pdf|Руководство пользователя]] \\ Схема электрическая принципиальная: [[https://www.zao-zeo.ru/media/files/docs/tion-pro28_rev1_schematic.pdf| версия 1(rev 1)]] [[https://www.zao-zeo.ru/media/files/docs/tion-pro28_rev1.1_schematic.pdf| версия 1.1(rev 1.1)]] [[https://www.zao-zeo.ru/media/files/docs/tion-pro28_rev1.2_schematic.pdf| версия 1.2(rev 1.2)]] \\ [[http://www.zao-zeo.ru/media/files/docs/tion-pro28-drawing-v1.1.pdf|Чертеж платы]] \\ Назначение контактов разъемов и мультиплексирование интерфейсов:[[https://www.zao-zeo.ru/media/files/docs/tion-pro28-pins-v1_0.xls|Версия 1.0]] [[https://www.zao-zeo.ru/media/files/docs/tion-pro28-pins-v1_2.xls|Версия 1.2]]\\ [[https://www.zao-zeo.ru/media/files/docs/freescale_imx28_linux_docs.zip|Документация по ОС Linux 2.6.35 от Freescale]] \\ [[https://www.zao-zeo.ru/media/files/docs/Freescale_imx28_wince_docs.zip|Документация по ОС WinCE 6.0 от Freescale]] \\ [[https://www.zao-zeo.ru/media/files/soft/Freescale_iMX28_utils.zip|Утилиты для записи образов Mfgtool (Windows)]]\\ [[https://www.zao-zeo.ru/media/files/soft/ltib.zip|LTIB (Linux)]]\\ [[linux#imx28| Компиляторы для Linux]]\\ Виртуальная машина для сборки Linux 2.6.35: [[https://www.zao-zeo.ru/forum/index.php?topic=735]] == Образы WindowsCE == {{filelist>wince/wince600_tion-pro28_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1}} \\ == Образы Linux 2.6.35 == {{filelist>linux/2.6.35/tion-pro28_linux_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=ctime}} \\ == U_boot для Linux 2.6.35 == {{filelist>linux/2.6.35/tion-pro28_uboot_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=ctime}} \\ == Корневые файловые системы для Linux 2.6.35 == {{filelist>linux/2.6.35/tion-pro28_rootfs_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=ctime}} \\ == Образы Linux 4.x == {{filelist>linux/4.14/tion-pro28_linux_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=ctime}} \\ == U_boot для Linux 4.x == {{filelist>linux/4.14/tion-pro28_uboot_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=ctime}} \\ == Корневые файловые системы для Linux 4.x == {{filelist>linux/4.14/tion-pro28_rootfs_*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&direct=1&sort=name}} \\ :!:**Внимание!** Полную версию средств разработки и документацию для данного изделия можно найти на сайте [[https://www.nxp.com|NXP]] в разделе iMX28. ===== Информация о памяти NAND Flash ===== В Тионе-Про28 применяется память NAND Flash. Для данного типа памяти допускается образование испорченных блоков (bad block). Испорченные блоки могут быть как у новой микросхемы, поставляемой производителем, так и образовываться во время эксплуатации. Максимальное количество таких блоков, допускаемое производителем, для памяти 2 Гбит, установленной на Тионе-Про28, не превышает 40 (из 2048). Таким образом, не является браком появление испорченных секторов в количестве, не превышающих 40. ===== Известные проблемы ===== 1. Скорость обмена по Ethernet - 60 МБит, при одновременном использовании 2-х портов - 30 МБит.\\ ===== Изменения в версиях изделий ===== Версия изделия указана на плате.\\ \\ ==Тион-Про28:== Версия 1.2:\\ - Изменен тип разъема Х5 (USB-A). Вместо одинарного разъема устанавливается двойной.\\ - Изменен тип разъема MicroSD.\\ - Изменен тип разъемов Х11 и Х24. У разъемов нового типа контакты находятся снизу, а светодиоды сверху.\\