Embedded Linux для модуля MTAX-SOM-AM335x

Embedded Linux для модуля MTAX-SOM-AM335x. ⭐ Процессорные модули Axonim Devices. ☎ Заказ: +375 17 270-69-00.

Новые образы для прошивки модулей на базе TI SDK 07.00.00.00

MLO

u-boot.img

u-boot-spl.bin

zImage

rootfs_full.tar.gz

ubi.img

am335x-mtax.dtb

Модификации модуля и MBMLOu-boot.imgu-boot-spl.bin.zImagerootfs.tar.gzubi.imgDeviceTree
модуль:v4, MB:v2MLOu-boot.imgu-boot-spl.binzImagerootfs_full.tar.gzubi.imgam335x-mtax.dtb

Документация по прошивке

https://drive.google.com/file/d/0B1nl8q4_-tA-dkVMY3lESHc1cVU/view?usp=sharing&resourcekey=0-IHL8JVtCgDoNXDvktFKXtg

Скачать: 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

Скачать: 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

Скачать: 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.

Новые образы для прошивки модулей

MLO

u-boot.img

u-boot-spl.bin

uImage

rootfs_full.tar.gz

ubi_full.img

am335xv4_MBv2_r564.tar.gz

Модификации модуля и MBMLOu-boot.imgu-boot-spl.bin.uImagerootfs.tar.gzubi.imgАрхив с прошивками
модуль:v4, MB:v2, Исправлена работа сети для модулей с PHYMLOu-boot.imgu-boot-spl.binuImagerootfs_full.tar.gzubi_full.imgam335xv4_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

Перейти: 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

Скачать: 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

Скачать: https://drive.google.com/file/d/0B1nl8q4_-tA-NlpBazJyZUNqWlk/view?usp=sharing&resourcekey=0-z1rTUw588FLaSMOl-lanIQ

Образы для прошивки модулей (SDK v.6.00.00.00)

MLO

u-boot.img

u-boot-spl.bin

uImage

rootfs.tar.gz

ubi.img

am335xv4_512M_MBv2.tar.gz

MLO

u-boot.img

u-boot-spl.bin

uImage

rootfs.tar.gz

ubi.img

am335xv4_256M_MBv2.tar.gz

MLO

u-boot.img

u-boot-spl.bin

uImage

rootfs.tar.gz

ubi.img

am335xv1_MBv1.tar.gz

MLO

u-boot.img

u-boot-spl.bin

uImage

rootfs.tar.gz

ubi.img

MLO

u-boot.img

u-boot-spl.bin

Модификации модуля и MBMLOu-boot.imgu-boot-spl.bin.uImagerootfs.tar.gzubi.imgАрхив с прошивками
модуль:v4, MB:v2, ОЗУ:512МБMLOu-boot.imgu-boot-spl.binuImagerootfs.tar.gzubi.imgam335xv4_512M_MBv2.tar.gz
модуль:v4, MB:v2, ОЗУ:256МБMLOu-boot.imgu-boot-spl.binuImagerootfs.tar.gzubi.imgam335xv4_256M_MBv2.tar.gz
модуль:v1, MB:v1, ОЗУ:256МБMLOu-boot.imgu-boot-spl.binuImagerootfs.tar.gzubi.imgam335xv1_MBv1.tar.gz
модуль:v4, MB:v1, ОЗУ:512МБMLOu-boot.imgu-boot-spl.binuImagerootfs.tar.gzubi.img
модуль:v4, MB:v2, ОЗУ:256МБ(300MHz)MLOu-boot.imgu-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 карты, необходимы файлы:

В результате работы скрипта на карте памяти создается 2 раздела с файловыми системами FAT и ext3. Первый должен содержать файлы:

На втором разделе создается корневая файловая система из архива 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

Скачать: 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) и настроить:

INTERFACES="usb0 usb1 eth1"
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 start

6. Скопировать файлы в каталог /tftpboot:

7. Включить питание и дождаться загрузки и прошивки всех образов.

8. Для подготовки своего сценария востановления образов по сети можно проделать следующие шаги:

# 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 на плате.

Скачать: ap.cfg.gz

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, файловые системы)

Перейти: Настройка RSE (Remote System Explorer)

Перейти: Описание выводов разъемов модуля

Перейти: Часто задаваемые вопросы