Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » SK-iMX233
Вопросы о iMX233 перед первым включение
Nikita4000
Добавлено 27.01.2011 12:59
0
Сообщение: 1
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Здравствуйте!
Вчера пришёл iMX233.
Посмотрел что на диске. Посмотрел документацию. Почитал форум.
Вопросы:

Вопрос №1 - источник питания.
В документации IMX23RM.pdf в Table 2-3. Recommended Power Supply Operating Conditions написано:
VDD5V Supply Voltage (5V current < 100 ma) 5.00 - 5.25V
Тут написано http://starterkit.ru/html/index.php?name=forum&op=view&id=7550, что лучше питать от 6В из-за падения на диоде VD1 в 0.2-0.3В. Так 6В-0.3В=5.7В - как бы многовато.
У меня источник импульсный 5Вx4А выдаёт на холостом ходу 5.3В. Пойдёт или нет? 5.3-0.3=5В Вроде нормально должно быть.
Может ли что-то аппаратно выйти из строя из-за и в каком случае?
Какой диапазон питающих напряжений допустим?
А потребление у платы какое? Что-то нигде не написано.

Вопрос №2 - загрузка.
На плате установлена DD3 - RAM и DD4 - ROM или NAND FLASH.
http://starterkit.ru/html/index.php?name=forum&op=view&id=7548
NAND flash - J7,J8,J6 разомкнуты, J9 замкнут
SD/MMC карта - J6,J7,J8 замкнуты, J9 разомкнут
А если USB, то J6-8 разомкнуты, а J9 тоже разомкнут?
Не понятно.
Надо полагать, что в NAND flash всё прошито как надо и при подаче питания всё должно работать. Правильно?
По поводу загрузки с SD/MMC есть вопросы.
Как я понял из http://www.starterkit.ru/html/index.php?name=forum&op=view&id=7655 для того, чтобы загрузиться с SD/MMC не достаточно просто замкнуть J6-J8, а J9 разомкнуть - надо ещё и при помощи утилиты BitBurner изменить некоторые однократно программируемые биты. Правильно? Или нет? Или это для каких-то старых версий? Есть ли какие-то подводные камни сдесь? Например, изменю я эти биты, а потом не смогу грузиться с NAND Flash.
По поводу USB тоже не понятно.
Если J6-J8 разомкнуть, то это тоже самое фактически, что и загрузка с NAND - там такая же конфигурация.
Чтобы загрузиться с USB - надо просто воткнуть FLASH'ку загрузочную в USB порт?
А USB-жёсткие диски поддерживаются типа 320-640 Gbyte?
Я так полагаю, что у FLASH носителей всё-таки ограниченный цикл записей/стираний и лучше тренироваться на USB-FLASH или SD/MMC карточках - их легко заменить, а вот NAND FLASH DD4 не очень. Вот поэтому хочется загрузиться с чего-то другого.

Вопрос №3 - вопросы о ПО.
Можно сконфигурировать всю программную часть на VMware - поставить нужное ПО из официальных репозиториев, сконцигурировать сетевые интерфейсы и т.д. Потом делаем образ и перемещаем его командой dd на SD/MMC или USB-flash. Эти действия делаем на компьютере. После этого вгоняем полученную SD/MMC или USB-flash в плату и по идее всё должно загрузиться и работать. Правильно?
Но, на диске есть утилита MfgTool.exe. Как я понял из форума, она служит для прошивки NAND FLASH DD4. Правильно?
А ещё на диске в папке /Boot/Images есть файлы:
linux_mmc.sb linux_nand.sb readme.txt uboot.sb
Не совсем пока понял что это. Видимо, это готовые прошивки для NAND. А загружаются в NAND они с помощью MfgTool.exe?
Правильно?

Вопрос №4 - видео выход.
Впринципе видео и не нужно. Оно только для отладки пригодилось бы. И всё. Я и дисплей покупать не стал. Тем более есть коаксиальный выход.
Как я понял из беглого просмотра документации - бешеный PDF на 1600 страниц в 19-20 главе видеовыход у нас то ли PAL то ли NTSC с несущей на 108 МГц и шириной спектра в 5.1МГц. Суём коаксиальный кабель в телевизор - настраиваем какой-нибудь канал на 108МГц и типа должны что-то увидеть.
Правильно?
А драйвера для этого композитного видеовыхода уже встроены в ядро, как я понял.

Ну, пока всё.
Не могли бы вы просветить эти вопросы?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 27.01.2011 16:16 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
1) 5.00 - 5.25V это номинальне значения, от 6В она не сгорит.
Цитата
6В-0.3В=5.7В

Просто я решил, что требовать от людей питание 5,5-5,7В будет излишне пунктуально.
Если подадите меньше, ничего естественно не сгорит, но и работать не будет, а если питать меньше чем от 5,3-5,5В, возможны глюки.

2) NAND прошита готовой системой, сорцы, скрипты сборки и образы, это все на диске.
Загрузка с SD описана здесь.

3) http://starterkit.ru/html/index.php?name=forum&op=view&id=7552

4) драйвер есть, есть подготовленный бинарник с выводом на видеовход TV, скрипт system_install_tv его устанавливает через tftp.

Сори, отвечать на все вопросы нет времени, у вас сейчас есть 6 недель на то чтобы определиться, сможете с этим разобраться или нет, подробнее.
Спуститься к концу Подняться к началу
Персональная информация
Nikita4000
Добавлено 08.02.2011 13:20 Сообщение: 3
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Я с некоторыми моментами разобрался.
В частности взял блок питания, поднастроил его, и он стал давать 5.9 В. Вроде, всё работает.
Воткнул Шнурок в COM порт компьютера и в Hyper Terminal увидел загрузочные сообщения.
Включаю. 192.168.0.2 не только пингается, но там ещё и http сервер есть - вижу картинку в браузере.
Потом, чтобы загрузиться с SD/MMC карточки я сделал как тут:
http://starterkit.ru/html/index.php?name=forum&op=view&id=7655
Как на этой картинке:
http://starterkit.ru/html/uploads/forum/forum-UbRJStqMTT-7.jpg
Но есть вопросы:
В VMware запустил гостевую ОС с Debian.
Перешёл в /home/usr/src/что-то там/linux-2.6.31/
Запустил meake_menuconfig и выбрал конфигурацию config_initramfs_mmc. После этого вышел.
Затем запустил:
sh make_system, который вначале запускает script из buildroot-2009.10.
В результате в /tftpboot у меня появились файлы:
[root@Linux SK-iMX233]# ls
linux.sb mnt zImage zlinux

Это я их уже вынул из виртуальной машины в реальную и создал папочку mnt.
По идее linux.sb - это ядро с поддержкой SD/MMC.
zImage - это по идее корневая файловая система.
Но она не монтируется через mount -o loop.

[root@Linux SK-iMX233]# mount -o loop -t ext2 zImage mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

[root@Linux SK-iMX233]# mount -o loop -t ext2 zlinux mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

[root@Linux SK-iMX233]#

Я очистил ваш script от шелухи:

sfdisk --force -uM $1 <<EOF
,16,0x53
,,83
EOF
dd if=/dev/zero of=/dev/sdd1 bs=512 count=4
dd if=linux.sb of=/dev/sdd1 bs=512 seek=4 conv=sync,notrunc
mkfs -t ext2 /dev/sdd2

Получилось вот так.
Я не особо понимаю откуда взять корневую файловую систему.
Скопировать из виртуального Debian'а?
Что-то типа rsync -Pav ...
Вот в этой теме:
http://starterkit.ru/html/index.php?name=forum&op=view&id=7655
Вы грузитесь с NAND Flash размыкаете J9 вставляете SD/MMC и с помощью script'а непосредственно копируете из NAND в SD/MMC файловую систему.
Можно ли образ как-то слить по USB с NAND Flash?

Да, и ещё я не понимаю вот этих манипуляций:
dd if=/dev/zero of=/dev/sdd1 bs=512 count=4
Заполняем 4 сектора нулями.
dd if=linux.sb of=/dev/sdd1 bs=512 seek=4 conv=sync,notrunc
Закидываем ядро linux.sb поверх этих нулей в первый раздел.
Зачем мы вообще нули писали?
В результатие этих действий файловая система в первом разделе отсутствует! Это нормально?
А загрузчик в MBR где? Когда он создаётся?
Про загрузчик ничего нигде не написано.
А можно ли воткнуть эту SD/MMC карточку через cardreader в компьютер и загрузиться с неё, чтобы проверить? Или ARM9 грузиться с первого раздела и ему нет дела до MBR?
Как-то плохо документирован и объяснён процесс загрузки с SD/MMC. Приходится много думать.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.02.2011 13:50 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Приходится много думать.

это первое и необходимое качество для полноценной работы с любым китом..

Цитата
По идее linux.sb - это ядро с поддержкой SD/MMC.
zImage - это по идее корневая файловая система.

откуда такая уверенность? а в бинарники заглядывали? а скрипты сборки смотрели?
а форум почитали?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 08.02.2011 14:32 Сообщение: 5
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата

По идее linux.sb - это ядро с поддержкой SD/MMC.
zImage - это по идее корневая файловая система.


linux.sb это имидж ядра с кодом инициализации в формате неоходимом для встроенного загрузчика imx233

zImage это самораспаковывающийся сжатый имидж ванильного ядра

Цитата

Я очистил ваш script от шелухи:


Поздравляю. Только в следующий раз когда будете пилить сук на котором сидите не ругайте того кто дерево посадил что вам больно.

Цитата

Зачем мы вообще нули писали?


Так требуется для встроенного загрузчика imx233 - почему именно так лучше спросите у Freescale

Цитата

В результатие этих действий файловая система в первом разделе отсутствует! Это нормально?


Откуда она возьмется если мы туда записали raw image

Цитата

А загрузчик в MBR где? Когда он создаётся? А можно ли воткнуть эту SD/MMC карточку через cardreader в компьютер и загрузиться с неё, чтобы проверить? Или ARM9 грузиться с первого раздела и ему нет дела до MBR?


Давно ли на arm-ах начали встраивать PC BIOS ? MBR - для х86 PC.

Цитата

Как-то плохо документирован и объяснён процесс загрузки с SD/MMC. Приходится много думать.


Много думать вредно - тем более в таких вопросах это ни кчему не приведет, есть оригинальная документация Freescale - найти можно на их сайте.
Спуститься к концу Подняться к началу
Персональная информация
Nikita4000
Добавлено 08.02.2011 16:37 Сообщение: 6
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Код
откуда такая уверенность? а в бинарники заглядывали? а скрипты сборки смотрели?
а форум почитали?

Форум я читал, а потом важные моменты сохранил и распечатал и перечитывал несколько раз.
Бинарники не смотрел.
Смотрел скрипты, поэтому пришёл к выводу, что достаточно запустить make_system - этот скрипт все остальные запускает. Мне бы вначале по минимуму разобраться.
Кажется нашёл я корневую ФС.
Эта ФС находится в /home/user/src/buidroot-2010.02/output/target.
Там /usr /home /mnt /bin /root /lib /etc и т.д.
Попробую сделаю сегодня rsync -Pav /home/user/src/buidroot-2010.02/output/target/ "на SD/MMC 2-ой раздел", чтобы сохранить все права, и попробую загрузиться.
Код
linux.sb это имидж ядра с кодом инициализации в формате неоходимом для встроенного загрузчика imx233

То есть zImage и zlinux мне не нужны.
Код
Много думать вредно - тем более в таких вопросах это ни кчему не приведет, есть оригинальная документация Freescale - найти можно на их сайте.

Документация сдесь:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX233&fpsp=1&tab=Documentation_Tab
Наиболее полезны вот эти:
IMX23_EVK10_05_LINUXDOCS_BUNDLE
IMX23_EVK0912_LINUXDOCS_BUNDLE
Но там, видимо, написано для какой-то другой модификации iMX-233. Там плата другая, хотя похожа отдалённо. Видимо, в России своя версия этой платы.
Код
Поздравляю. Только в следующий раз когда будете пилить сук на котором сидите не ругайте того кто дерево посадил что вам больно.

Не, ну, на самом деле. Вы платы продаёте эти, а с документацией туго. Приходится в качестве документации использовать форум.
Разберусь, найду время - напишу вам инструкцию пользователя с картинками по этой плате, а вы где-нибудь её повесьте на сайте.

Код
Откуда она возьмется если мы туда записали raw image

Понятно. Это правильно, значит.
Код
Давно ли на arm-ах начали встраивать PC BIOS ? MBR - для х86 PC.

Ясно. То есть этой плате всё равно, что находится в MBR. Эта плата определяет где первый раздел и передаёт управление первому разделу. Ему и файловая система не нужна - там всё в образе, который залит в начало раздела. В итоге получается RAM FS - ядро в ОЗУ. А второй раздел подмонтируется и используется - там должна быть корневая ФС. А её можно взять, как я догадался из /home/user/src/buidroot-2010.02/output/target/
Буду пробовать.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.02.2011 17:47 Сообщение: 7
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Не, ну, на самом деле. Вы платы продаёте эти, а с документацией туго. Приходится в качестве документации использовать форум.

не занудства ради - приведите слова, где обещана полная документация..
суппорт на форуме - это нормальная практика. кстати, так же нормой стало со многими товарами - не прикладывать бумажное руководство и диски, а отправлять на сайт производителя в раздел download - экономия для конечного пользователя..

Цитата
Разберусь, найду время - напишу вам инструкцию пользователя с картинками

:)
за ~15 лет инета я эту фразу читал "стотыщразпицот".. редкая птица долетит до середины Днепра..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Nikita4000
Добавлено 08.02.2011 20:19 Сообщение: 8
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Возможно, получилось...
Сделал всё как по форуму + смотрел документацию официальную, но если честно, по большей части помог разобраться форум.
Вначале выдал в HyperTerminal вот это при втыкании SD/MMC карточки:
0x80501003
А это:
#define ERROR_ROM_LDR_SIGNATURE (ERROR_ROM_GROUP | ERROR_ROM_LOADER_GROUP | 0x3)
0x80501003 The file signature or file version is incorrect.
Нашёл вот такой ответ:
Код
Re: iMX23 no longer boots from SD/MMC card
2009-12-02 01:19 AM
trying erasing the sd card, or specifically the first partition where the boot stream images are.
doing:
dd if=/dev/zero of=/dev/sdb1
seemed to do the trick when i had problems with the MMC card. Get NFS to work afterwards, saves you some trouble.

Попробовал.
Потом решил взять образ с диска.
SK-iMX233/Boot/Images/linux_mmc.sb
Сделал так:
[root@Linux_USB SK-iMX233]# dd if=/dev/zero of=/dev/sdg1
dd: writing to `/dev/sdg1': No space left on device
37820+0 records in
37819+0 records out
19363328 bytes (19 MB) copied, 7.13017 s, 2.7 MB/s
А потом так:
[root@Linux_USB Images]# dd if=linux_mmc.sb of=/dev/sdg1 ibs=512 seek=4 conv=sync,notrunc
9822+1 records in
9823+0 records out
5029376 bytes (5.0 MB) copied, 1.27957 s, 3.9 MB/s
Вроде, пропёрло.
Теперь по адресу http://192.168.0.136/ вижу не картинку с платой, которая появлялась при загрузке с NAND Flash, а вот такой текст:
PHP - Код
<html>
<
head>
<
title> index.html test page for http server </title>
</
head>
<
body bgcolor="#FFFFFF">
<
h1 align=center> Test Page </h1>
There is a CGI test page <a href=/cgi-bin/test_cgi> here </a>
<
br>
There is a copy of the LTIB FAQ <a href=http://www.bitshrine.org/autodocs/LtibFaq.html> here </a>

<br>
</
body>
</
html>

Видимо, плата загрузилась всё-таки с SD/MMC карточки!

Код
не занудства ради - приведите слова, где обещана полная документация..
суппорт на форуме - это нормальная практика. кстати, так же нормой стало со многими товарами - не прикладывать бумажное руководство и диски, а отправлять на сайт производителя в раздел download - экономия для конечного пользователя..

Ну, вот и я поучавствовал. Купил плату. Почитал документацию. Почитал форум. Понапрягал мозги.
Напишу какое-нибудь руководство.
Информация по форуму разрознена. Согласитесь это так.
И лазить по всем темам и читать разные темы, где кто-то что-то спрашивает, да ещё не факт, что это подходит именно для моего случая, - это муторно. Приходится вдумываться, анализировать и примерять к себе.
Многие моменты вообще нигде не упоминаются или очень редко о них говорится.
Вот, пример:
Где-то видел разговор о терминале. Думал долго что за терминал. Предположил, что это пользователь экран подключил к плате - вот и терминал, а оказывается это HyperTerminal и подключаться надо к COM порту платы.
Я напишу вам инструкцию. Пускай не полную. Но, по крайней мере, обобщающую в некоторой степени тот материал, который разбросан здесь, в кучку, чтоб проще было начинать с этой платой работать.
Спуститься к концу Подняться к началу
Персональная информация
Nikita4000
Добавлено 08.02.2011 20:28 Сообщение: 9
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Вроде, грузится, но при загрузке выдаёт вот это:
0x8020A01D
Ждёт несколько секунд, а потом начинает грузиться.
Вот, что означает:
#define ERROR_DDI_SD_MBR_NOT_FOUND (ERROR_DDI_GROUP | ERROR_DDI_SD_DRIVER_GROUP | 0x1D)
0x8020A01D ?
Не знаю очень ли это критично.
Спуститься к концу Подняться к началу
Персональная информация
Nikita4000
Добавлено 12.02.2011 22:37 Сообщение: 10
Nikita4000
0

Пункты: 270
Регистрация: 17.01.2011
Ещё вопрос:
На диске есть файлик linux_mmc.sb - ядро(2.6.31)+корневая initramfs, драйвер NAND в ядре отключен, возможность монтировать SD/MMC карты.
На компе через CardReader делаю что-то типа этого:
Код
[root@Linux share]# umount /media/disk-2
[root@Linux share]# dd if=/dev/zero of=/dev/sdf1
dd: writing to `/dev/sdf1': No space left on device
37820+0 records in
37819+0 records out
19363328 bytes (19 MB) copied, 6.04828 s, 3.2 MB/s
[root@Linux share]# dd if=linux.sb of=/dev/sdf1 ibs=512 seek=4 conv=sync,notrunc
8887+1 records in
8888+0 records out
4550656 bytes (4.6 MB) copied, 1.03221 s, 4.4 MB/s

Грузится и работает.
Беру linux_mmc.sb - всё классно.
Подключаюсь к плате через telnet - вижу командную строку. Вижу /mnt, а в ней mmcblk0p2 - вижу там файлы.
Делаю touch 12345 - файл появляется на MMC карточке - всё нормально.
В /dev есть устройства /dev/mmcblk0p1 и mmcblk0p2.
Но сам через ./make_menuconfig почему-то никак не могу сделать образ ядра, чтоб раздел MMC карточки монтировался.
Там есть config_mmc_rootfs - по идее rootfs должна браться из раздела mmcblk0p2, но получается почему-то ramfs и даже mmcblk0p2 не монтируется почему-то и в /dev/mmcblk0p2 его почему-то нет, хотя судя по конфигурации он должен быть - в разделе divece driver включена поддердка SD/MMC.
В boot options, кстати прописано это в параметрах:
root=mmcblk0p2
Не подскажите что надо править конфигурации ядра, чтоб rootfs была на mmcblk0p2? Или я что-то не так делаю. Не пойму.

В виртуальном Debian'е:
Запускаю вначале ./make_menuconfig.
Выхожу из него. Потом делаю ./make_system.
У меня появляется в /tftpboot файл linux.sb.
Его я беру и заливаю командой dd в первый раздел так, как описывал в самом начале.

По идее на немонтируемость и отсутствие в /dev раздела mmcblk0p2 влияет ядро. Т.е. надо править ./make_menuconfig. Правильно?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233