====== Руководство по платформе 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)