====== Руководство по платформе 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 рекомендуется использовать программу [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|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 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 сама подмонтирует разделы карточки в папке <> ===== Запуск Å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. Чтобы запустить эту сборку выполните следующие действия: * Подготовьте карту, как описано выше * Запишите на карту (раздел boot) [[http://www.angstrom-distribution.org/demo/beagleboard/MLO|MLO]], [[http://mentorel.com/downloads/blueshark/demo/u-boot.2010.v3.tgz|u-boot.bin]] и [[http://mentorel.com/downloads/blueshark/demo/uImage-2.6.32-r78+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869-beagleboard.bin|uImage]] * Скачайте файловую систему 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 [[http://elinux.org/BeagleBoard|eLinux wiki]] (see [[http://elinux.org/BeagleBoard#Beagle_wiki_pages|wiki article overview]] for a list of existing articles)