Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-iMX233
SK-iMX233 телодвижения ...
Pavel Ivanchenko
Добавлено 04.02.2010 16:08 Редактировалось 14.05.2010 21:12
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Наконец взялся сегодня за прототип платы на основе FreeScale iMX233, схема:
Attachment file: uploads/forum/forum-SInq9a28rR-7.pdf

На первый взгляд система ожила - генераторы запускаются, избыточного потребления не наблюдается, в терминальной программе вижу сообщение:
Код
0x80508002

Что говорит о том что загрузчик запускается как ему положено и не находя приложение во внешних носителях останавливается.
Если подключить к PC через USB, плата определяется хостом как HID устройство, что тоже есть гуд.
Дальше, стал копать сайт freescale на предмет утилиты (SAM-BA-подобной) для программирования внешних флешек процессора через USB, которая довольно быстро отыскалась, называется она у них Advanced Toolkit (АТК), но вот досада - iMX23 семейство она не поддерживает (хотя и лежит в файловом разделе для их отладочной платы).
Написал в тех саппорт, ответили, что ATK iMX233 не поддерживает ввиду радикальных отличий загрузчика от других семейств, грузитесь с SD карточки и только после этого из линуха можно обновить NAND флешку, так же в скорости пообещали утилиту “Universal Updater” с помошью которой уже можно будет по USB шить NAND флешку.
Вобщем, пока похоже придется "ждать у моря погоды" пока они не разродятся утилитой программирования ...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 05.02.2010 11:11 Редактировалось 05.02.2010 11:15 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Сегодня из freescale прислали некую утилиту "Mfg Tool", видимо она может чем то помочь, положил сюда.
Теперь нужно понять как это хозяйство привести в чувства, внимательно пока не успел изучить, запустил (похоже, что профиль настроен на iMX233), залез в настройки, определил порт на котором появляется моя жетезяка, ткнул там галку, вижу:

Жму старт, идет прокрутка бара, в терминалке в это время появляется:
Код
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFC
Каких либо движений на CS нанд флешки не наблюдаю, в иттоге:

Лог:
Код
Friday, February 05, 2010 11:57:52
2 - Panel A Start processing Singlechip NAND <LIST/>.
2 - Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware.".
2 - Panel A DoBoot() - Failed to load C:\tmp\mfg-1.6.0.003a\Profiles\BSP Firmware Updater\Linux Update\updater.sb to Recovery mode device. (err=2)
2 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware." FAIL code=2.
Panel A: Updater Error 0x2 (2) - 3 - Panel A Finished processing Singlechip NAND <LIST/> : FAIL code=2.

Не понял пока, вроде как по логике она залить не может (рас бар прокручивается и в терминалке происходит что то напоминающее процесс загрузки), но в своем окне говорит
Код
Updater Error 0x2 (2) - Не удается найти указанный файл.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 05.02.2010 17:30 Редактировалось 05.02.2010 19:27 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Я сагитировал человека с техсаппорта FreeScale присоединиться к обсуждению этой темы, далее формулирую актуальные задачи (и вопросы):
1) Нужно хоть "что то" записать в NAND флешку
2) Записать "что то внятное" (по аналогии с атмелом - бутстрап) в NAND флешку и уже крутить настройки DDR
3) все остальное пока не важно до момента исполнения первых пунктов

1. Разбирательства с MFG утилитой
1.а. Пытаюсь залить "что то" исходя из того что понял из мануала на утилиту
После ознакомления с мануалом возникает вопрос чем операция "UPDATE" отличается от "UTP_UPDATE", так же не понятно, USB Product ID стоит 0xA010 (а профиль явно для iMX233) а в мануале на USB загрузчик приводится 0x3700.
Для начала решил отредактировать профиль на запись в NAND флешку:
  • создал операцию UPDATE со следующими аргументами:

    Насколько я понимаю, Step 2 указывает что нужно шить, а Step 3 чем iMX233 это будет шить (его создание это уже пункт 2 текущих задач, просто взял из имевшихся с утилитой).
    Запускаю, в терминалке вываливается строка
    Код
    HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFC

    Сама MFG выдает "Updater Error 0x2 (2) - Не удается найти указанный файл.", в логе появляется
    Код
    Friday, February 05, 2010 18:25:42
    Panel A: Updater Error 0x2 (2) -

    Ничего не понимаю, как она не может открыть то что сама предложила, хотя ... в мануале говорится про имена дисков которые присваиваются устройствам, в моем случае это поле остается пустым.
    При манипуляциях с MFG никакой активности на CS NAND чипа я не наблюдаю, единственно, напряжение лог. еденицы становится меньше на ~300МВ, появления напряжения питания на DDR я так же не наблюдаю (но до этого наверное еще далеко, т.к. наверняка за это уже "бутстрап" отвечает)
  • Спуститься к концу Подняться к началу
    Персональная информация
    FreeScale
    Добавлено 08.02.2010 11:46 Сообщение: 4
    FreeScale
    0

    Регистрация: 05.02.2010
    Всем привет !

    По поводу mfg tool - обратите внимание на два момента :
    - выбор USB устройства на инструментальной (host) PC, т.к. очень легко можно пытаться работать с USB мышкой (и MX233 и мышка - оба HID устройства);
    - надо убрать опцию Restrict operations to profile devices.

    Выбор USB устройства : Options-> Configuration... -> USB ports

    Далее : Options-> Configuration... -> General.
    Спуститься к концу Подняться к началу
    Персональная информация
    Pavel Ivanchenko
    Добавлено 08.02.2010 12:33 Редактировалось 08.02.2010 12:35 Сообщение: 5
    Pavel Ivanchenko
    Admin
    4.39

    Пункты: 92788
    Регистрация: 24.03.2009
    Пол: Мужчина
    Ух шайтан!!!
    В пятницу я вроде там и так все галки без результатно перекрутил, а тут стоило убрать опцию Restrict, как что то "забегало", в терминалке наблюдаю:
    Цитата
    HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFCLLCDec 30 200913:47:52
    EMI_CTRL 0x1C084040
    FRAC 0x92926152
    init_ddr_mt46v32m16_133Mhz
    power 0x00820710
    Frac 0x92926152
    start change cpu freq
    hbus 0x00000003
    cpu 0x00010002
    LLLLLLLFCLFLJUncompressing Linux.............................................................................. done, booting the kernel.

    После чего MFG встает (операция "Loading updater.sb...")
    Вобщем, сейчас надо толком осмыслить что происходит ...
    По состоянию железа, вижу что запускается DC/DC преобразователь, питание на DDR подается.
    Спуститься к концу Подняться к началу
    Персональная информация
    sasamy
    Добавлено 08.02.2010 12:49 Редактировалось 08.02.2010 13:17 Сообщение: 6
    sasamy
    4.71

    Пункты: 83534
    Регистрация: 14.08.2009
    Код
    Uncompressing Linux.............................................................................. done, booting the kernel.


    Цитата

    После чего MFG встает (операция "Loading updater.sb...")


    Ядро уже стартануло - это его загрузчика сообщения вверху, соответственно внешняя память похоже работает, потому что образ ядра уже во внешней памяти разворачивается и к тому же done говорит о том что контрольная сумма совпала. Естественно после этого ни о каком апдейтере не может быть речи.

    Хотя конечно они в боард-файле могли что-то написать, я с наскоку в исходниках не могу разобраться. Где патчи конкретно для i.mx233 не могу понять.
    Спуститься к концу Подняться к началу
    Персональная информация
    FreeScale
    Добавлено 08.02.2010 13:21 Сообщение: 7
    FreeScale
    0

    Регистрация: 05.02.2010
    А boot мода правильно выбрана (recovery) ?
    Спуститься к концу Подняться к началу
    Персональная информация
    Pavel Ivanchenko
    Добавлено 08.02.2010 20:24 Сообщение: 8
    Pavel Ivanchenko
    Admin
    4.39

    Пункты: 92788
    Регистрация: 24.03.2009
    Пол: Мужчина
    Уфф, что то сегодня меня "засуетило", так до платы и не добрался, завтра продолжу.
    Спуститься к концу Подняться к началу
    Персональная информация
    FreeScale
    Добавлено 09.02.2010 10:23 Сообщение: 9
    FreeScale
    0

    Регистрация: 05.02.2010
    Возможно будет проще работать с программкой sb_loader.exe для загрузки приложения в ОЗУ.
    Ниже приведены ссылки для загрузки i.MX233 WinCE. Там в дистрибутиве есть папка TOOL,
    где находится полезный инструментарий.

    Страничка загрузки самих пакетов:

    < http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX23EVK&nodeId=0162468rH31143ZrDR780E&fpsp=1&tab=Design_Tools_Tab >

    Имя пакета :
    WCE600_09.12.00_SDK
    (2009.12 Windows Embedded CE 6.0 Source Code)


    Страничка документации:

    < http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX23EVK&nodeId=0162468rH31143ZrDR780E&fpsp=1&tab=Documentation_Tab >

    В частности :

    i.MX23_EVK_WINCE_USER_GUIDE
    (Application description and procedures, including download)


    Для удобства вышлю Павлу упомянутую папку TOOL (то что касается i.MX233).
    Спуститься к концу Подняться к началу
    Персональная информация
    Pavel Ivanchenko
    Добавлено 09.02.2010 12:04 Сообщение: 10
    Pavel Ivanchenko
    Admin
    4.39

    Пункты: 92788
    Регистрация: 24.03.2009
    Пол: Мужчина
    2 FreeScale
    Спасибо за участие, eboot (по русски не читать ) уже был среди бинарников MFG, в нем пока нет нужды.
    У меня к Вам вопрос, я правильно понял, сама MFG не шьет флешки, она просто запускает "продуманные" бинарники которые уже потом, так сказать изнутри, программируют NAND флешку, так?

    Вобщем, выяснилась причина моих пятничных неудач, как оказалось, система получилась довольно чувствительна к уровню питающего напряжения, в моем случае уже при 4,9В она уходит в "спячку" при малейших USB транзакциях (если нажать PWSWITCH, снова "просыпается"). Слегка поднял (до 5,5В), теперь все стабильно.
    Утилита MFG, как выяснилось, тоже со своим "характером", любые изменения в профиле лучше сопровождать ее полной перезагрузкой, после часа танцев с бубном, вуаля :
    Код
    Aug 21 200914:45:42
    poweron_pll
    EMI_CTRL 0x1C084040
    FRAC 0x92926152
    init_clock
    init_ddr_mt46v32m16_133Mhz
    exit self refresh timeout
    power 0x00310710
    Frac 0x92926152
    start change cpu freq
    hbus 0x00000003
    cpu 0x00010002
    LLLLLLLFCLFLJUncompressing Linux................................................................ done, booting the kernel.
    Linux version 2.6.28-403-ga9d5505-updater-00009-ge5a3d59-dirty (b20596@shlinux) (gcc
    version 4.1.2) #1 Fri Aug 21 14:43:17 CST 2009
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: STMP378X
    Memory policy: ECC disabled, Data cache writeback
    Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
    Kernel command line: console=ttyAM0,115200 ubi.mtd=1 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms350 ssp2=gpmi
    PID hash table entries: 256 (order: 8, 1024 bytes)
    console [ttyAM0] enabled
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 64MB = 64MB total
    Memory: 58672KB available (1784K code, 233K data, 80K init)
    Calibrating delay loop... 97.89 BogoMIPS (lpj=489472)
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    regulator: core version 0.5
    regulator: vddd: 800 <--> 1575 mV fast normal
    regulator: vddd_bo: 800 <--> 1575 mV fast normal
    regulator: vdda: 1500 <--> 2275 mV fast normal
    regulator: vddio: 2800 <--> 3575 mV fast normal
    regulator: overall_current: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-keyboard-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx_ts-1: 0 <--> 2147483 mA fast normal
    regulator: stmp37xx-appuart-1: 0 <--> 2147483 mA fast normal
    regulator: stmp37xx-dbguart-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx_wdt-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-rtc-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-fb-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-bl-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-rotdec-1: 0 <--> 2147483 mA fast normal
    regulator: i2c_stmp-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-persistent-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-dcpboot-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-dcp-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-mtest-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-battery-1: 0 <--> 2147483 mA fast normal
    regulator: stmp3xxx-pxp-1: 0 <--> 2147483 mA fast normal
    regulator: mmc_ssp-1: 0 <--> 2147483 mA fast normal
    regulator: mmc_ssp-2: 0 <--> 2147483 mA fast normal
    regulator: charger-1: 0 <--> 2147483 mA fast normal
    regulator: power-test-1: 0 <--> 2147483 mA fast normal
    regulator: cpufreq-1: 0 <--> 2147483 mA fast normal
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    Unpacking initramfs... done
    Freeing initrd memory: 4096K
    JFFS2 version 2.2. (NAND) (SUMMARY) &#194;© 2001-2006 Red Hat, Inc.
    msgmni has been set to 122
    io scheduler noop registered
    io scheduler cfq registered (default)
    stmp37xx-dbguart.0: ttyAM0 at MMIO 0xf0070000 (irq = 0) is a Debug UART
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    __stmp3xxx_reset_block(f000a000): timeout when resetting
    ecc8_init: initialized
    NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
    Scanning for NCB...
    GPMI: Checking page 0x00000000
    Checking BB on common-formatted flash
    Scanning device for bad blocks
    Bad eraseblock 1383 at 0x0ace0000
    GPMI: Trying to store NCB at addr 0
    GPMI: Erased, storing
    GPMI: NCB update succeeded (0).
    cmdlinepart partition parsing not available
    gpmi gpmi: Using static partition definition
    Creating 2 MTD partitions on "gpmi":
    0x00000000-0x01400000 : "Boot#0"
    0x01500000-0x10000000 : "UBI#0"
    UBI: attaching mtd1 to ubi0
    UBI: physical eraseblock size: 131072 bytes (128 KiB)
    UBI: logical eraseblock size: 126976 bytes
    UBI: smallest flash I/O unit: 2048
    UBI: VID header offset: 2048 (aligned 2048)
    UBI: data offset: 4096
    UBI: empty MTD device detected
    UBI: create volume table (copy #1)
    UBI: create volume table (copy #2)
    UBI: attached mtd1 to ubi0
    UBI: MTD device name: "UBI#0"
    UBI: MTD device size: 235 MiB
    UBI: number of good PEBs: 1879
    UBI: number of bad PEBs: 1
    UBI: max. allowed volumes: 128
    UBI: wear-leveling threshold: 4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes: 0
    UBI: available PEBs: 1857
    UBI: total number of reserved PEBs: 22
    UBI: number of PEBs reserved for bad PEB handling: 18
    UBI: max/mean erase counter: 0/0
    UBI: background thread "ubi_bgt0d" started, PID 193
    Freeing init memory: 80K
    init started: BusyBox v1.11.2 ()
    starting pid 204, tty '': '/etc/rc.d/rcS'
    Mounting /proc and /sys
    Setting the hostname to freescale
    Mounting filesystems
    mount: mounting shm on /dev/shm failed: No such file or directory
    mount: mounting rwfs on /mnt/rwfs failed: Invalid argument
    mount: mounting devpts on /dev/pts failed: No such device
    mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
    starting pid 230, tty '': '/sbin/getty -L ttyAM0 115200 vt100'
    process '/sbin/getty -L ttyAM0 115200 vt100' (pid 230) exited. Scheduling for restart.
    starting pid 231, tty '': '/sbin/getty -L ttyAM0 115200 vt100'
    Спуститься к концу Подняться к началу
    Персональная информация
    Форум » starterkit.ru » Отладочные платы » SK-iMX233