Embedded Linux для модуля MTAX-SOM-AM335x
Embedded Linux для модуля MTAX-SOM-AM335x. ⭐ Процессорные модули Axonim Devices. ☎ Заказ: +375 17 270-69-00.
Новые образы для прошивки модулей на базе TI SDK 07.00.00.00
| Модификации модуля и MB | MLO | u-boot.img | u-boot-spl.bin. | zImage | rootfs.tar.gz | ubi.img | DeviceTree |
|---|---|---|---|---|---|---|---|
| модуль:v4, MB:v2 | MLO | u-boot.img | u-boot-spl.bin | zImage | rootfs_full.tar.gz | ubi.img | am335x-mtax.dtb |
Документация по прошивке
https://drive.google.com/file/d/0B1nl8q4_-tA-dkVMY3lESHc1cVU/view?usp=sharing&resourcekey=0-IHL8JVtCgDoNXDvktFKXtg
Скрипт создания загрузочной SD карты
https://drive.google.com/file/d/0B1nl8q4_-tA-NkxNYnBjOVp2TFk/view?usp=sharing&resourcekey=0-aJ6wDWLvL66dTUChl4gafA
Патч для ревизии r586 к TISDK версии 07.00.00.00
https://drive.google.com/file/d/0B1nl8q4_-tA-YWZxYW9yQlFZSjQ/view?usp=sharing&resourcekey=0-g2WsM2LFSBzMMTZpDyDnbQ
Встроенный в модуль PHY
Для работы сети через встроенный в модуль PHY (TLK106) в Linux необходимо подменить файл конфигурации утройств board-support/linux-3.12.10-ti2013.12.01/arch/arm/boot/dts/am335x-mtax.dts на am335x-mtax_phyinternal.dts.
Новые образы для прошивки модулей
| Модификации модуля и MB | MLO | u-boot.img | u-boot-spl.bin. | uImage | rootfs.tar.gz | ubi.img | Архив с прошивками |
|---|---|---|---|---|---|---|---|
| модуль:v4, MB:v2, Исправлена работа сети для модулей с PHY | MLO | u-boot.img | u-boot-spl.bin | uImage | rootfs_full.tar.gz | ubi_full.img | am335xv4_MBv2_r564.tar.gz |
Скрипт установки SDK версии 7.00.00.00 (1.9GB)
http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/07_00_00_00/exports/ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install.bin
Патч для ревизии r564 к TISDK версии 06.00.00.00
https://drive.google.com/file/d/0B1nl8q4_-tA-dzVvXzE3ckVRTWM/view?usp=sharing&resourcekey=0-t1vDwnIK0weXqZiuvVVgWQ
Скрипт создания загрузочной SD карты
https://drive.google.com/file/d/0B1nl8q4_-tA-NlpBazJyZUNqWlk/view?usp=sharing&resourcekey=0-z1rTUw588FLaSMOl-lanIQ
Образы для прошивки модулей (SDK v.6.00.00.00)
| Модификации модуля и MB | MLO | u-boot.img | u-boot-spl.bin. | uImage | rootfs.tar.gz | ubi.img | Архив с прошивками |
|---|---|---|---|---|---|---|---|
| модуль:v4, MB:v2, ОЗУ:512МБ | MLO | u-boot.img | u-boot-spl.bin | uImage | rootfs.tar.gz | ubi.img | am335xv4_512M_MBv2.tar.gz |
| модуль:v4, MB:v2, ОЗУ:256МБ | MLO | u-boot.img | u-boot-spl.bin | uImage | rootfs.tar.gz | ubi.img | am335xv4_256M_MBv2.tar.gz |
| модуль:v1, MB:v1, ОЗУ:256МБ | MLO | u-boot.img | u-boot-spl.bin | uImage | rootfs.tar.gz | ubi.img | am335xv1_MBv1.tar.gz |
| модуль:v4, MB:v1, ОЗУ:512МБ | MLO | u-boot.img | u-boot-spl.bin | uImage | rootfs.tar.gz | ubi.img | |
| модуль:v4, MB:v2, ОЗУ:256МБ(300MHz) | MLO | u-boot.img | u-boot-spl.bin |
Загрузка u-Boot по UART
1. Удостовериться что в терминальной программе (будем рассматривать только minicom в OC Linux) после включения питания выводятся символы “CCCCCC”. Если этого не происходит, то следует установить первоочередной режим загрузки с UART0, (например перемычкой XBOOT1(2-3) или соединением через резистор X3:29 и X3:80 - 00011 - UART0,SPI0,XIP,MMC0) до включения питания. 2. Выключить питание модуля. 3. В minicom надо настроить размер буферов (1K) для передачи по XMODEM/YMODEM: Ctrl-a o, File transfer protocols, и прописать команды sx -vv -k и sb -vv -k. 4. Передаем по Xmodem стартовый загрузчик: Ctrl-a, s, xmodem выбираем файл u-boot-spl.bin (двойным пробелом выбирается и переходит по каталогам) и нажимаем ввод. 5. включаем питание, и ожидаем увидеть бегущие проценты скачивания 6. После удачной загрузки ROM код запускает стартовый загрузчик, который ожидает передачи загрузчика u-Boot по протоколу Yмодем. 7. После второго “CCCC” посылаем по Yмодем: Ctrl-a, s, ymodem выбираем файл u-boot.img и нажимаем ввод. 8. При удачной загрузке увидим приглашение U-Boot#
Загрузка образов по UART и прошивка NAND
Для стирания NAND flash: nand erase 0 0x780000
Загрузка MLO по UART и прошивка в NAND: loady 0x81000000
Ctrl+a, s, y modem, выбрать файл MLO: nand write 0x81000000 0x0 0x020000; nand write 0x81000000 0x20000 0x020000; nand write 0x81000000 0x40000 0x020000; nand write 0x81000000 0x60000 0x020000;
Загрузка u-boot.img по UART и прошивка в NAND: loady 0x81000000 Ctrl+a, s, y modem, выбрать файл u-boot.img nand write 0x81000000 0x80000 0x200000;
Загрузка uImage по UART и прошивка в NAND: loady 0x81000000 Ctrl+a, s, y modem, выбрать файл uImage nand write 0x81000000 0x280000 0x500000;
!!!Не рекомеднуем, так как по UART это будет очень долго!!! Загрузка ubi.img по UART () и прошивка в NAND: loady 0x81000000 Ctrl+a, s, y modem, выбрать файл ubi.img nand write 0x81000000 0x780000 ${filesize};
После reset и выбора порядка загрузки NAND должен загрузиться Linux с корневой файловой системой ubi/ubifs в NAND.
Загрузка образов c SD карты и прошивка NAND
Запись прошивок для AM335x на SD карту (для Linux пользователей).
1. Вставьте micro SD карту в компьютер. 2. Запустите утилиту dmesg чтобы удостовериться что карта определиласьи доступна в системе. Консольный вывод (последние строки) должен быть похож на:
[438112.009168] sd 25:0:0:0: Attached scsi generic sg4 type 0 [438112.012077] sd 25:0:0:0: [sde] 7716864 512-byte logical blocks: (3.95 GB/3.67 GiB) [438112.012624] sd 25:0:0:0: [sde] Write Protect is off [438112.012628] sd 25:0:0:0: [sde] Mode Sense: 03 00 00 00 [438112.013168] sd 25:0:0:0: [sde] No Caching mode page present [438112.013171] sd 25:0:0:0: [sde] Assuming drive cache: write through [438112.016163] sd 25:0:0:0: [sde] No Caching mode page present [438112.016167] sd 25:0:0:0: [sde] Assuming drive cache: write throughЭтот вывод означает что карта доступна в системе через файл устройства /dev/sde.
3. Для форматирования SD карты, создания 2 разделов и копирования файлов можно запустать скрипт:
sudo ./mksd-ti335x.sh /dev/sde MLO u-boot.img uImage rootfs.tar.gz
Параметры для запуска скрипта:
- Файл устройства SD карты: например /dev/sde;
- Бинарный образ загрузчика MLO;
- Бинарный образ загрузчика u-bool.img;
- Образ ядра Linux - u-Image;
- архив корневой файловой системы rootfs.tar.gz
Кроме указанных в параметрах файлов для подготовки SD карты, необходимы файлы:
- pointercal - для пропуска утилиты калибровки touch screen;
- ubi.img - образ ubi для прошивки в NAND.
В результате работы скрипта на карте памяти создается 2 раздела с файловыми системами FAT и ext3. Первый должен содержать файлы:
- MLO
- ubi.img
- u-boot.img
- uImage
- pointercal
На втором разделе создается корневая файловая система из архива rootfs.tar.gz Для прошивки более полного образа корневой файловой системы можно использовать rootfs_full.tar.gz
Созданную SD карту можно извлечь из компьютера, вставить в разьем на материнской плате MTAX-MB. Если задать способ загрузки с SD карты (например перемычкой XBOOT3(1-2) или соединением через резистор X3:31 и X5:38) и подать питание, ОС Linux должна загрузиться c карты памяти.
Образы для прошивки.
Все образы: https://drive.google.com/drive/folders/0B1nl8q4_-tA-UWJDNk9jVVAtNm8?resourcekey=0-vsvHwkC-qtZQoZnJMPrY6Q&usp=sharing
Прошивка образов в NAND flash при загрузке с SD карты.
1. Подключить USB кабель в разъем XUSBFT1, вставить SD карту и подать питание. Запустить терминальную программу (TerraTerm, PUTTY, minicom) и настроить для работы с соответствующим последовательным портом компьютера. Для Linux запустить: minicom -D /dev/ttyUSB1.
Настройки последовательного порта: 115200n8 (нажать Ctrl+a, s и выбрать соответствующие настройки). 2. Нажать ввод, чтобы остановить автоматическую загрузку Linux и войти в командрый режим u-Boot. 3. В консоли u-Boot выполнить команду для стирания NAND flash. nand erase.chip
4. Выполнить команды для прошивки бинарных образов в NAND: mmc rescan; fatload mmc 0 0x81000000 MLO; nand write 0x81000000 0x0 ${filesize}; nand write 0x81000000 0x20000 ${filesize}; nand write 0x81000000 0x40000 ${filesize}; nand write 0x81000000 0x60000 ${filesize}; fatload mmc 0 0x81000000 u-boot.img; nand write 0x81000000 0x80000 ${filesize}; fatload mmc 0 0x81000000 uImage; nand write 0x81000000 0x280000 ${filesize}; saveenv;
для v7.0:
mmc rescan load mmc 0:2 0x81000000 /boot/MLO nand write 0x81000000 NAND.SPL ${filesize} nand write 0x81000000 NAND.SPL.backup1 ${filesize} nand write 0x81000000 NAND.SPL.backup2 ${filesize} nand write 0x81000000 NAND.SPL.backup3 ${filesize} load mmc 0:2 0x81000000 /boot/u-boot.img nand write 0x81000000 NAND.u-boot ${filesize} load mmc 0:2 0x81000000 /boot/am335x-mtax.dtb nand write 0x81000000 NAND.u-boot-spl-os ${filesize} load mmc 0:2 0x81000000 /boot/zImage nand write 0x81000000 NAND.kernel ${filesize} saveenv
5. Прошивка корневой файловой системы UBI: load mmc 0:2 0x81000000 ubi.img nand write 0x81000000 NAND.file-system ${filesize}
Замечание: При скачивании файлов по сети с помощью tftpboot необходимо указывать размер файлов явным образом без ${filesize}.
6. После перезагрузки должен загрузиться Linux из NAND, при условии что выбран соответствующий режим загрузки.
Лог загрузки из NAND
Лог загрузки (am335xv4_512M_MBv2)
Перейти: Лог загрузки (am335xv4_512M_MBv2)
Загрузка образов по сети и прошивка в NAND (Восстановление прошивки по сети)
1. Установить загрузку с EMAC1 (если к EMAC1 подключен PHY контроллер в режиме MII, например TLK106 как на модуле MTAX-SOM-AM335x или на отладочной плате MTAX-MB-AM335x-v2, но не оба одновременно). Для этого можно выбрать порядок загруки SYSBOOT=b01011 (USB0-NAND-SPI0-MMC0).
2. Настроить интерфейс eth1 на Linux PC, например - статический IP:192.168.100.1/24. 3. Установить tftp сервер и настроить каталог /tftpboot как каталог по умолчани, например в файле /etc/xinetd.d/tftp:
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no }При использовании TI SDK и запуске скрипта setup.sh указанные выше настройки tftp сервера установятся автоматически. 4. Установить dhcp-server (пакет isc-dhcp-server) и настроить:
- В файле /etc/default/isc-dhcp-server прописать интерфейсы для DHCP:
INTERFACES="usb0 usb1 eth1"- В файле /etc/dhcp/dhcpd.conf прописать настройки DHCP для eth1 и загрузки файлов по tftp.
subnet 192.168.100.0 netmask 255.255.255.0 { interface eth1; range dynamic-bootp 192.168.100.100 192.168.100.200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.100.255; option routers 192.168.100.1; option root-path "/tftpboot"; if substring (option vendor-class-identifier, 0, 10) = "DM814x ROM" { filename "u-boot-spl.bin"; # Check for PG2.0, CPSW or USB RNDIS } elsif substring (option vendor-class-identifier, 0, 10) = "AM335x ROM" { filename "u-boot-spl.bin.restore"; } elsif substring (option vendor-class-identifier, 0, 17) = "AM335x U-Boot SPL" { filename "u-boot.img.restore"; } else { filename "uImage"; } }5. Запустить dhcp server:
sudo service isc-dhcp-server start6. Скопировать файлы в каталог /tftpboot:
- u-boot-spl.bin.restore (образ u-boot-spl, собранный с поддержкой загрузки по EMAC1)
- u-boot.img.restore (образ u-boot.img, собранный с поддержкой загрузки по EMAC1 и debrick.scr)
- debrick.scr (скрипт для загрузки образов MLO, u-boot.img, uImage, ubi.img и прошамки их в NAND)
- MLO, u-boot.img, uImage, ubi.img - образы для записи в NAND.
7. Включить питание и дождаться загрузки и прошивки всех образов.
8. Для подготовки своего сценария востановления образов по сети можно проделать следующие шаги:
- Создать файл debrick.txt с командами u-boot, например:
# erase NAND nand erase.chip # get MLO tftp 0x81000000 MLO nand write 0x81000000 0x0 0x20000 nand write 0x81000000 0x20000 0x20000 nand write 0x81000000 0x40000 0x20000 nand write 0x81000000 0x60000 0x20000 # get u-boot.img tftp 0x81000000 u-boot.img # write the whole block (4*MLO + u-boot.img) to NAND nand write 0x81000000 0x80000 ${filesize} # get uImage tftp 0x81000000 uImage nand write 0x81000000 0x280000 ${filesize} # get ubi.img tftp 0x81000000 ubi.img nand write 0x81000000 0x780000 ${filesize}создать из него образ, понятный для u-boot:
mkimage -A arm -O U-Boot -C none -T script -d debrick.txt debrick.scr
Возможно, перед mkimage потребуется указать полный путь, например /home/user/ti-sdk-am335x-evm-06.00.00.00/board-support/u-boot-2013.01.01-psp06.00.00.00/tools/mkimage.
Настройка WIFI в режимет AP(точки доступа)
1. Скачать файл конфигурации( ap.cfg.gz). Распаковать его и записать на носитель доступный из Linux на плате.
2. Запустить команду для применения конфигурации:
unifi_config –dev /dev/unifiudi1 –setap_cfg /home/root/ap.cfg
3. Сгенерировать KEY, например для пароля «88888888» и точки доступа «testpoint» выполняем команду:
wpa_passphrase testpoint 88888888
В результате получится
network={ ssid="testpoint" #psk="88888888" psk=fa9c7090ea11704cec8e01fd5a06148c21f6c7dd0aff38ab2082155884af2651 }4. Вводим команду для перевода WIFI в режим AP:
iwpriv wlan0 AP_SET_CFG ASCII_CMD=AP_CFG,SSID=«testpoint»,SEC=«wpa2-psk»,KEY=fa9c7090ea11704cec8e01fd5a06148c21f6c7dd0aff38ab2082155884af2651,
CHANNEL=4,PREAMBLE=1,MAX_SCB=2,END
5. Запускаем: iwpriv wlan0 AP_BSS_START
(Для остановки: iwpriv wlan0 AP_BSS_STOP)
6. На компьютере ищем сеть «testpoint» и вводим пароль «88888888».
Как разрабатывать своё приложение под Linux Embedded на платформе AM335x
Перейти: Как разрабатывать своё приложение под Linux Embedded на платформе AM335x
- Подробное описание модуля
Перейти: Подробное описание модуля
- Создание пустого проекта для модуля
Перейти: Создание пустого проекта для модуля
- Средства сборки ПО для модуля
Перейти: Средства сборки ПО для модуля
- Лог загрузки из NAND
- Исходные коды для модуля MTAX-SoM-AM335x (загрузчик, linux, файловые системы)
Перейти: Исходные коды для модуля MTAX-SoM-AM335x (загрузчик, linux, файловые системы)
- Настройка RSE (Remote System Explorer)
Перейти: Настройка RSE (Remote System Explorer)
- Описание выводов разъемов модуля
Перейти: Описание выводов разъемов модуля
- Часто задаваемые вопросы