Содержание
Руководство по платформе Atoll для новичков
Данное руководство проверено в дистрибутиве Ubuntu 9.10 и гарантирует 100% работоспособность.
Данное руководство описывает общие правила для всех платформ семейства Atoll (Lite, Deluxe).
Данное руководство повторяет инструкции, описанные здесь: http://elinux.org/BeagleBoardBeginners
Семейство базовых плат Atoll предназначено для разработки и последующей отладки программного обеспечения для процессорного модуля BlueShark OMAP3530.
Проверка комплектации
Отладочный комплект Atoll поставляется в следующей комплектации:
- Процессорный модуль BlueShark OMAP3530
- Базовая плата Atoll (Lite, Deluxe)
- SD-карта с загрузчиком u-boot, ядром Linux, файловой системой
- Кабель Mini-USB
- Кабель Ethernet (зависит от конфигурации модуля BlueShark)
- Диск с ПО
- Сетевой адаптер 220В/5В
Проверка аппаратуры
Чтобы убедится в рабоспособности комплекта выполните следующие действия:
- Переведите переключатель SW1 в положение OFF
- Убедитесь, что модуль BlueShark правильно вставлен в базовую плату
- Вставьте модуль в SO-DIMM разъем под углом около 45гр. до упора
- Нажмите на модуль, чтобы боковые фиксаторы SO-DIMM разъема защелкнулись
- Вставьте SD-карту в слот
- Подключите сетевой адаптер
- Переведите переключатель SW1 в положение ON
Если все действия выполнены правильно, то:
- На базовой плате загораются светодиоды 5V и 3V3
- На модуле сразу же загорается красный светодиод VD1 (4V2)
- На модуле спустья несколько секунд загорается зеленый светодиод VD2 (RDY)
Если при выполнении прочих условий светодиод VD2 (RDY) не загорается, то возможны следующие причины:
- SD-карта не содержит нужное ПО
- Неисправны Модуль или Базовая плата
Подключение сериального кабеля
Все базовые платы от МЕНТОР ЭЛЕКТРОНИКС поставляются возможностью терминального подключения через USB-serial микросхему (FTDI FT232R), уже установленную на Базовой плате. Поэтому, для подключения вам поребуется Mini-USB кабель (поставляется в комплекте) и компьютер с операционной системой Linux или Windows. Обычно, ОС Linux уже содержит необходимый драйвер для микросхемы USB-serial, поэтому дополнительно не требуется действий по установке и настройке. Для ОС Windows обязательно потребуется установить драйвер для FT232R, который скачивают здесь: http://www.ftdichip.com/Drivers/VCP.htm.
Базовая плата имеет два mini-USB разъема:
- Обозначен как «USB-S», предназначен для подключение сериального кабеля
- Обозначен как «USB-D», выполняет функцию USB-device и может выполнять ряд функций
Чтобы установить терминальную связь с процессором OMAP3530 вставьте Mini-USB кабель в разъем «USB-S» на базовой плате, а другую часть кабеля в свободный слот USB-HOST на ПК.
Примечание: данное подключение потребляет единицы миллиампер.
Первое включение платы
Подключите mini-USB кабель к разъему «USB-S» на базовой плате. Другой конец кабеля вставьте в свободный слот USB-HOST на ПК.
Для ОС Windows рекомендуется использовать программу Putty вместо HyperTerminal.
Для работы с платформой потребуется задать следующие параметры в терминальной программе:
- скорость 115200
- 1 стоповый бит
- без контроля четности
- без контроля потока
Описание настроек программы minicom в ОС Linux (потребуются права суперпользователя, поэтому используйте команду sudo):
# sudo minicom -s You'll get a screen as follows: +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Выберите «Serial port setup»:
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/ttyS1 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 9600 8N1 | | F - Hardware Flow Control : Yes | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+ | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Нажмите «А», чтобы изменить устройство на ttyUSB0 (в зависимости от количества подключенных USB-serial адаптеров последняя цифра может быть не ноль).
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/ttyUSB0 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+ | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Теперь нажмите «E», чтобы изменить настройки:
+-----------[Comm Parameters]------------+ +---------------| |--------------+ | A - Serial | Current: 115200 8N1 | | | B - Lockfile L| | | | C - Callin P| Speed Parity Data | | | D - Callout P| | | | E - Bps/Par| A: 300 L: None S: 5 | | | F - Hardware F| B: 1200 M: Even T: 6 | | | G - Software F| C: 2400 N: Odd U: 7 | | | | D: 4800 O: Mark V: 8 | | | Change whic| E: 9600 P: Space | | +---------------| F: 19200 Stopbits |--------------+ | Screen| G: 38400 W: 1 | | Save s| H: 57600 X: 2 | | Save s| I: 115200 Q: 8-N-1 | | Exit | J: 230400 R: 7-E-1 | | Exit f| | +-------| | | Choice, or <Enter> to exit? | +----------------------------------------+
Вы должны получить «115200 8N1», для этого нажмите последовательно кнопки I, L, V и W на клавиатуре. Затем нажмите ENTER.
Теперь нажмите F, чтобы установить «Hardware Flow Control» в состояние «Off»
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/ttyS1 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+ | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Нажмите Enter, чтобы покинуть этот экран, и выберите «Exit», чтобы выйти из Minicom.
Теперь снова запустите minicom как root:
# sudo minicom
Вы должны получить следующий экран:
Welcome to minicom 2.2 OPTIONS: Compiled on Sep 8 2008, 17:03:34. Port /dev/ttyS0 Press CTRL-A Z for help on special keys Texas Instruments X-Loader 1.41 Starting OS Bootloader... U-Boot 1.3.3 (Jul 10 2008 - 16:33:09) OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz OMAP3 Beagle Board + LPDDR/NAND DRAM: 128 MB NAND: 256 MiB In: serial Out: serial Err: serial Audio Tone on Speakers ... complete OMAP3 beagleboard.org #
Примечание: в зависимости от версии u-boot и аппаратной конфигурации Модуля возможны отличия от приведенной распечатки.
Если всё правильно сделано и u-boot допускает ввод команд, то можно набрать команду «help», чтобы узнать какие команды доступны в u-boot:
OMAP3 beagleboard.org # help
Подробное описание команд u-boot с примерами см. на странице FAQ
В случае, если после перезагрузки платы или других сбоев, minicom перестает реагировать на нажатия на клавиатуре, то нажмите «Ctrl+A q», чтобы выйти из minicom. Заустите его заново.
Подготовка SD карты
Процессор OMAP3530 поддерживает несколько способов загрузки. Наиболее удобным и простым является загрузка с SD карт. Допустимо применять как обычные SD, так и SDHC карты (для последних проверьте совместимость с вашим считывающим устройством). Если вы хотите загружать Angstrom Linux с SD карты, то потребуется карта объемом не менее 1ГБ (лучше взять карту 2ГБ, тогда будет место, чтобы записать видеоролики и т.п.).
Примечание: т.к. файловая система для Ångström Linux может быть записана лишь на партицию с файловой системой ext3, то подготовку SD карты возможно выполнить лишь в Linux.
С помощью скрипта
Рекомендуемый метод!
Преимуществом данного метода является простота и скорость разметки карты. Однако вы теряете возможность менять параметры и контроллировать весь процесс. Скачайте скрипт http://www.angstrom-distribution.org/demo/beagleboard/mkcard.txt
Для создания разметки на карте выполните следующие шаги в среде Linux:
1) Сделайте скрипт исполняемым:
$> chmod a+x mkcard.txt
2) вставьте карту в кард-ридер и убедитесь, что карта отмонтирована, т.е. не используется системой. Далее посмотрите какое устройство создала система с помощью команды:
$> dmesg | tail [ 158.346741] USB Mass Storage support registered. [ 158.347353] usb-storage: device found at 2 [ 158.347354] usb-storage: waiting for device to settle before scanning [ 163.346516] usb-storage: device scan complete [ 163.349406] scsi 3:0:0:0: Direct-Access Generic Storage Device 0.00 PQ: 0 ANSI: 2 [ 163.350032] sd 3:0:0:0: Attached scsi generic sg1 type 0 [ 163.366028] sd 3:0:0:0: [sdb] 3842048 512-byte logical blocks: (1.96 GB/1.83 GiB) [ 163.371586] sd 3:0:0:0: [sdb] Write Protect is off [ 163.371588] sd 3:0:0:0: [sdb] Mode Sense: 03 00 00 00 [ 163.371590] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 163.401000] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 163.401003] sdb: sdb1 [ 163.426398] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 163.426402] sd 3:0:0:0: [sdb] Attached SCSI removable disk
Видно, что вставленная карта создана в системе как sdb, поэтому выполним следующую команду:
$> sudo LANG=c ./mkcard.txt /dev/sdb
Если вы ошибетесь и случайно укажите не тот раздел (например, карта sdc, а второй раздел HDD - sdb), то уничтожите все данные на разделе.
Работа скрипта может занять 1-2мин, после чего карта готова к использованию.
Вручную
ВНИМАНИЕ! Данный способ подходит, если вы опытный пользователь Linux и хорошо разбираетесь в системных утилитах. В случае ошибочных действий вы можете уничтожить все данные на жестком диске! Рекомендуем воспользоваться предыдущим методом, используя скрипт.
Сперва надо сделать SD карту с загрузочной партицией. Чтобы создать загрузочную карту SD/MMC, совместимую с OMAP3 boot ROM, необходимо указать специальную геометрию в таблице разметки диска. Для этого используют утилиту fdisk и «Expert mode»:
Очистим таблицу разделов:
================================================================================ # fdisk /dev/sdb Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) ================================================================================
Распечатаем информацию о карте:
================================================================================ Command (m for help): p Disk /dev/sdb: 128 MB, 128450560 bytes .... ================================================================================
Обратите внимание на размер в байтах, он потребуется ниже..
Теперь переходим в режим эксперта:
================================================================================ Command (m for help): x ================================================================================
Теперь надо настроить геометрию на: 255 головок, 63 сектора и расчитать кол-во цилиндров для конкретной карты SD/MMC:
================================================================================ Expert command (m for help): h Number of heads (1-256, default 4): 255 Expert command (m for help): s Number of sectors (1-63, default 62): 63 Warning: setting sector offset for DOS compatibility ================================================================================
Следующий шаг требует особого внимания:
Сначала расчитайте кол-во цилиндров по формуле:
- B - размер карты в байтах
- C - Число цилиндров
C=B/255/63/512
Здесь необходимо округлить до меньшего. Например, если получилось 108.8, то вы берете 108.
================================================================================ Expert command (m for help): c Number of cylinders (1-1048576, default 1011): 15 ================================================================================
В этом примере использована карта 128М (fdisk показал 128450560 байт). Поэтому 128450560 / 255 / 63 / 512 = 15.6, округляем до 15 цилиндров. Здесь использованы числа:
- 255 головок
- 63 сектора
- 512 байт на сектор
Следующий шаг это создание разделов на карте: один раздел загрузочный и второй для хранения файловой системы ОС.
Вернитесь в обычный режим fdisk, нажав «r»:
================================================================================ Expert command (m for help): r Command (m for help): ================================================================================
Создайте FAT32 раздел для копирования файлов из Windows, сделайте раздел загрузочным:
================================================================================ Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [1] First cylinder (1-15, default 1): [(нажмите Enter)] Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-15, default 15): [+10M] Command (m for help): [t] Selected partition 1 Hex code (type L to list codes): [c] Changed system type of partition 1 to c (W95 FAT32 (LBA)) Command (m for help): [a] Partition number (1-4): [1] ================================================================================
Создайте Linux раздел для хранения файловой системы.
================================================================================ Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [2] First cylinder (52-245, default 52): [(нажмите Enter)] Using default value 52 Last cylinder or +size or +sizeM or +sizeK (52-245, default 245):[(нажмите Enter)] Using default value 245 ================================================================================
Просмотрите информацию о разделах и сохраните все изменения.
================================================================================ Command (m for help): [p] Disk /dev/sdb: 2021 MB, 2021654528 bytes 255 heads, 63 sectors/track, 245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 * 1 51 409626 c W95 FAT32 (LBA) /dev/sdb2 52 245 1558305 83 Linux Command (m for help): [w] The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. ================================================================================
Теперь у нас есть 2 раздела на карте и их надо отформатировать.
# mkfs.msdos -F 32 /dev/sdb1 -n OMAP_BOOT mkfs.msdos 2.11 (12 Mar 2005) # mkfs.ext3 /dev/sdb2 -L OMAP_FS mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 195072 inodes, 389576 blocks 19478 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=402653184 12 block groups 32768 blocks per group, 32768 fragments per group 16256 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: ================================================================================
Теперь можно вытащить карту из считывающего устройства и снова вставить обратно. Операционная система Ubuntu сама подмонтирует разделы карточки в папке «/media»
Запуск Ångström Linux
Теперь у вас есть карта с двумя разделами. Первый раздел используют для хранения первоначального загрузчика, ядра Linux и пр. файлов, необходимых для старта процессора. На втором разделе будет хранится файловая система для Ångström Linux.
Прежде всего скачайте необходимые файлы отсюда:
http://mentorel.ru/downloads/blueshark/demo/
Нам понадобятся:
- файловая система Angstrom-Beagleboard-demo-image-….
- MLO (он так же называется «x-loader»)
- Загрузчик u-boot.bin
- Ядро uImage-2.6.XX-rXX-beagleboard.bin, переименуйте его в uImage
- Архив модулей для ядра той версии, что вы скачали (modules-2.6.XX-rXX-beagleboard.tgz)
Теперь скопируйте на первый раздел карты файлы в следующем порядке:
- MLO
- u-boot.bin
- uImage
Если во время копирования вы ошиблись, то придется заново форматировать раздел на карте, т.к. файл MLO должен быть в первом секторе на карте.
Подмонтируйте оба раздела карты (если Linux еще не смонтировал их автоматически):
# sudo mount -t vfat /dev/sdb1 /mnt/boot # sudo mount -t ext3 /dev/sdb2 /mnt/rootfs
Если вы пользовались скриптом mkcard.txt, то он создает две партиции с названиями «boot» и «rootfs»
Скопируйте требуемые файлы на первый раздел:
# cp MLO /mnt/boot # cp u-boot.bin /mnt/boot # cp uImage /mnt/boot
Перейдите на второй раздел карты:
# cd /mnt/rootfs
Для доступа к этой партиции обязательно нужны права суперпользователя. Используйте команду «sudo».
Распакуйте файловую систему:
# cd /mnt/sdb2 # sudo tar -jxvf ~/Downloads/Angstrom-Beagleboard-demo-image....
Распакуйте модули ядра modules-2.6.X-rX-beagleboard.tgz в корень второго раздела карты:
# sudo tar -xvf ~/Downloads/modules-2.6.X-rX-beagleboard.tgz
Для сохранения изменений на карте надо отмонтировать разделы:
# sudo umount /mnt/boot # sudo umount /mnt/rootfs
Вставьте SD карту в слот на базовой плате. Загрузите u-boot, чтобы появилась командная строка:
OMAP3 BlueShark #
Установите требуемое разрешение дисплея (это пример!):
# setenv dvimode 1280x720MR-16@60
Возможные значения разрешений для DVI-монитора (этот список не полный и зависит от версии ПО):
- 640x480MR-16@60
- 800x600MR-16@60
- 1024x768MR-16@60
- 1280x1024MR-16@60
Для HDTV надо указать значение:
- setenv dvimode hd720
Чтобы сохранить переменные окружения u-boot набирают команду:
OMAP3 BlueShark # saveenv
Теперь выключите питание платы, вставьте SD карту в слот на плате, подсоедините DVI кабель от монитора и подайте питание.
- На консоле появляется приглашение ввода логина и пароля: по умолчанию это root без пароля.
- Чтобы заработала сеть с DNS выполните команду udhcpc
- В графической среде обычно логин beagle, пароль «1». Набирать можно на USB-клавиатуре, либо мышью на экране
Angstrom Demo DSP/SGX
Koen Kooi предоставляет демо сборки, которые включают поддержку DSP и 3D ускорителя PowerVR. Чтобы запустить эту сборку выполните следующие действия:
- Подготовьте карту, как описано выше
- Скачайте файловую систему http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2 и запишите её на раздел rootfs, как описано выше.
- Скачайте модули http://www.angstrom-distribution.org/demo/beagleboard/modules.tgz и запишите её на раздел rootfs, как описано выше.
- отмонтируйте оба раздела карты, чтобы сохранить все изменения
Теперь вставьте SD карту в слот на плате, подсоедините DVI кабель от монитора и подайте питание.
Чтобы включить DSP, выполните инструкции, описанные здесь: blueshark_dsp
Важная информация по USB
- Для платы Atoll-Lite требуется USB-hub с поддержкой USB HiSpeed 2.0
Через него можно подключать низкоскоростные устройства (мышь, клавиатура)
- На плате Atoll-Deluxe уже установлен USB-hub и он работает намного надежнее внешнего
Дополнительные сведения
Основные материалы по BeagleBoard:
- TI maintained [http://beagleboard.org/ BeagleBoard home] and [http://code.google.com/p/beagleboard/ Google wiki for BeagleBoard]
- Community maintained eLinux wiki (see wiki article overview for a list of existing articles)