Отладочная плата EV-AM1707
Плата на процессоре AM1707 (ARM9) или OMAP-L137 (ARM9+C674x)
Обновлено 24 мая 2012
Пример подключение FT232RL или MAX3232 для консоли или для программирования NAND Flash/SPI Flash памяти uart.pdf
Можно использовать готовый данный адаптер.
Разъем расширения X5, назначение контактов.
Номер контакта | Назначение сигнала | Номер контакта | Назначение сигнала |
---|---|---|---|
1 | UART2_RXD (Вход) | 2 | UART2_TXD (Выход) |
3 | UART1_RXD (Вход) | 4 | UART1_TXD (Выход) |
5 | I2C0_SDA/UART0_RXD | 6 | I2C0_SCL/UART0_TXD |
7 | GPIO4_8 | 8 | GPIO2_15 |
9 | GPIO2_0 | 10 | GPIO2_4 |
11 | GND | 12 | 3V3 |
В качестве консоли используется UART2. Сигналы TXD/RXD умеют уровни 3.3В. Для подключения к компьютеру требуется использовать преобразователь на микросхеме MAX3232 или переходник UART-USB. Проверялась работа с переходниками на микросхеме FT232 - результат положительный.
Buildroot для сборки ядра, u-boot, rootfs
На компьютере с ОС Линукс или в виртуальной машине с ОС Линукс (рекомендуется Ubuntu 10.04LTS)
Создайте папку, например ev-am1707
Скопируйте туда файлы buildroot-2012.02.tar.bz2 и buildroot-2012.02-ev-am1707.patch
Распакуйте архив buildroot-2012.02.tar.bz2
tar xjvf buildroot-2012.02.tar.bz2
Наложите патч buildroot-2012.02-EV-AM1707.patch
patch -p0 -i buildroot-2012.02-EV-AM1707.patch
Зайдите в директорию buildroot-2012.02 и выполните
make ev-am1707_defconfig
Все необходимые пакеты будут загружены и установлены (в зависимости от скорости подключения к интернету, данная операция может занять значительное время)
Если подключение медленное, создайте в директории buildroot-2012.02 папку dl и скопируйте туда архив. Разархивируйте архив с пакетами.
Исходные файлы u-boot находятся в /EV-AM1707/buildroot-2012.02/output/build/uboot-v2009.11_DAVINCIPSP_03.20.00.14
Исходные файлы ядра находятся в /EV-AM1707/buildroot-2012.02/output/build/linux-DAVINCIPSP_03.20.00.14#
Для старта сборки в директории buildroot-2012.02 запустите
make
После окончания сборки в директории /EV-AM1707/buildroot-2012.02/output/images/ будут находится файлы
uImage - собранное ядро
u-boot.bin - собранный u-boot
rootfs.tar - собранная файловая система
Файл u-boot в формате elf находится в /EV-AM1707/buildroot-2012.02/output/build/uboot-v2009.11_DAVINCIPSP_03.20.00.14#/
Его надо переименовать в u-boot.out, в дальнейшем он будет использоваться в AISGen с AISGen.
На компьютере с ОС Windows устанавливаем утилиту aisgen.zip.
Запускаем AISgenD800K003. Устанавливаем Boot mode: NAND 8-bit. Или Загрузите конфигурационный файл с настройками (AISgenD800K003→File→Load Configuration From…)
Укажите файл u-boot.out в строке Application.
Укажите выходной файл в строке AIS File (например uboot_nand.bin)
Нажмите кнопку Generate AIS.
Устанавливаем переключатели в положение загрузка по UART2 (0101)
Если запустить терминальную программу (115200, 8) то при подаче питания или нажатии кнопки Reset в терминале будет приглашение
BOOTME
Закрываем терминальную программу.
Скачиваем утилиту для программирования flasher1707.zip, распаковываем архив. Туда же копируем созданный AISgen файл uboot_nand.bin.В архиве есть подготовленные bat-файлы для стирания/программирования NAND и SPI Flash. Сейчас будет рассматриваться случай записи u-boot в NAND Flash.
Запускаем erase_nand.bat для стирания всей NAND Flash памяти.
Запускаем nand_noubl.bat для записи созданного файла uboot_nand.bin.
sfh_OMAP-L137.exe -targetType AM1707 -flashType NAND -p COM16 -flash_noubl uboot_nand.bin
После записи выставляем переключатели на загрузку с NAND (1110).
Форматируем флешку и распаковываем на нее архив EV-AM1707-burn_from_usb.tar.bz2
В Линукс
tar xjvf EV-AM1707-burn_from_usb.tar.bz2 -C /кудасмонтированафлешка
В Windows - средствами проводника
В файле \EV-AM1707\uboot.env содержатся настройки переменных окружения
Вставляем флешку в нижний порт USB (USB 2.0 High Speed)
Запускаем терминальную программу
Подключаем питание к плате. u-boot автоматически считает и запишет в NAND Flash ядро (uImage) и файловую систему (rootfs.tar.gz)
Если по каким-то причинам автозапуск не произошел, выполняем следующие команды
setenv bootargs 'console=ttyS2,115200 rw ip=off root=/dev/ram0 mem=64M' setenv autoboot "usb start; fatload usb 0:1 0xc0700000 /EV-AM1707/boot/uImage; bootm 0xc0700000" setenv burn "mtdparts default; nand erase uboot_env; nand erase kernel; nand erase ubi; run autoboot" run burn
Осталось ввести логин-пароль (root/root)
EV-AM1707 login: root Password: root
Теперь можно извлечь флешку и перегрузить плату
root/root #: reboot
setenv ipaddr 192.168.0.107 - Назначьте плате сетевой адрес setenv serverip 192.168.0.103 - Укажите адрес сервера, на котором запущен TFTp сервис setenv ethaddr 11:22:33:44:55:66 - Назначьте плате MAC адрес setenv bootcmd "tftp 0xc0700000 uImage1707-nash; bootm 0xc0700000" setenv bootargs "mem=64M rw console=ttyS2,115200 ip=192.168.0.107:192.168.0.103:255.255.255.0:am1707 root=/dev/nfs nfsroot=192.168.0.103:/tftpboot/rootfs" saveenv
Подготовка файла u-boot в AISGen для программирования в SPI Flash.
В качестве исходного (u-boot.out) использовать elf файл!
sfh_OMAP-L137.exe -targetType AM1707 -flashType SPI_MEM -p COM16 -erase
sfh_OMAP-L137.exe -targetType AM1707 -p COM16 -flash ubl_AM1707_SPI_MEM.bin u-boot.bin
sfh_OMAP-L137.exe -targetType AM1707 -flashType SPI_MEM -p COM16 -flash_noubl u-boot.bin
sfh_OMAP-L137.exe -targetType AM1707 -flashType SPI_MEM -p COM16 -flash_noubl u-boot.binsfh_OMAP-L137.exe -v -p COM16 -targetType AM1707 -flash -flashType NAND ubl_AM1707_NAND.bin u-boot.bin