Новые образы для прошивки модулей на базе 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 |
Документация по прошивке
Скрипт создания загрузочной SD карты
Патч для ревизии r586 к TISDK версии 07.00.00.00
Встроенный в модуль 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)
Патч для ревизии r564 к TISDK версии 06.00.00.00
Скрипт создания загрузочной SD карты
Образы для прошивки модулей (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.imgnand write 0x81000000 0x80000 0x200000;
Загрузка uImage по UART и прошивка в NAND:loady 0x81000000
Ctrl+a, s, y modem, выбрать файл uImagenand write 0x81000000 0x280000 0x500000;
!!!Не рекомеднуем, так как по UART это будет очень долго!!!
Загрузка ubi.img по UART () и прошивка в NAND:loady 0x81000000
Ctrl+a, s, y modem, выбрать файл ubi.imgnand 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 карты памяти.
Образы для прошивки.
Прошивка образов в 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)
Загрузка образов по сети и прошивка в 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 на плате.
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