Jump to content

    

Odiemus

Участник
  • Content Count

    40
  • Joined

  • Last visited

Posts posted by Odiemus


  1. доводилось купить эмулятор 3,5" флопиков через USB Flash, т.е. к компу (древний встроенный комп в формфакторе PC104) через интерфейс гибких дисков подключена флешка. На эмуляторе даже сделали возможность создания до 99 образов дискет на одной флешке и переключение между этими образами с помощью кнопок. Так что - ничего особенного, просто редкая задача.

    С подобными флоппиками всё гладко поскольку там допотопный MFM-интерфейс.

    Это всё для компов!

    Компы работают в IDE, который через переходники проходит туда-обратно без проблем.

    Мой хост карту и в хвост и в гриву имеет через mmio, как я понимаю, это в ide не преобразуешь.

    поэтому и возникла проблема.

  2. а генерирующее устройство - чужой закрытый черный ящик из которого только один CF наружу торчит и надо непременно им прикидываются или доступны ещё какие-нибудь другие интерфейсы?

     

    генератор данных именно "черный ящик" на который повлиять невозможно и из выходов есть только на CF-карточку, которую он понимает.

  3. Я погорячился. SATA 1 — это до 150 Мбайт/с. Такие объемы через гигабитный линк не пролезут.

    Надо понимать, сколько данных в секунду генерирует ваша установка.

    непрерывный поток на запись порядка 60-70 мб/сек.

    Чтобы CF-карты могли писать такое без запинок им приходится делать "предпрогрев" allocate'ом большого файла с уже последующей записью внутрь файла самих данных.

     

  4. Как вам вариант с выгрузкой данных по гигабитному проводному ethernet? Я так понимаю, у вас в основном односторонний поток данных на карту.

    такое очень даже прокатит, если будет работать то были идеи и попробовать разнести оптическим линком CF от всего остального в пространстве, оптоволокно намного легче меди, намного эластичнее и расстояния допускает бОльшие.

     

    А есть переходник CF->Ethernet?

     

  5. В диапазоне от 100Гб до 4Тб кроме HDD/SSD трудно что-то представить.

     

     

    Вас бы устроил более качественный адаптер CF-SD с нормальной скоростью и надежностью работы?

    Но даже при наличии 2-4 карт объем все равно будет ограничен и не дотянет до нескольких сотен гигабайт.

    100 гиг это скорее на время отладки, а при эксплуатации чем больше, тем лучше, и 4 тера, и 12, сморя на какой хард у меня денег хватит.

    Вот по причине объёма sd и не устраивают.

    Для замены накопителя надо всю установку обесточивать, поэтому хочется накопитель пореже сменять, оптимально раз в сутки.

  6. так может просто SD без wifi?

    чтобы геморрой по поддержке разных форматов CF взял на себя CF->SD готовый адаптер.

    тем более что по wfif не обязательно в реальном времени все данные прокачивать, SD карта может быть просто буфером на сотню ГБ.

    я почитал отзывы об этом совсем недавно появившемся адаптере....

    он от силы 10 мб/сек скорость даёт, и жутко ненадёжный.

    В общем его в топку!

     

  7. Народ, уже прочитавший тему и прочитающий, я сейчас поясню.

     

    Проблема не в том чтоб IDE интерфейснуть через CF, это я и сам могу спаять на рассыпухе за день.

     

    CompactFlash поддерживает два дополнительных режима работы, PC Card Memory Mode и PC Card I/O Mode,

    которые для неё являются основными,

    и эти режимы работы карты просто так рассыпухой или релюшками в IDE (PATA) не утаптываются.

    IDE режим, в котором CF в самоделках чаще всего использует, является лишь подмножеством первых двух.

     

    И таки есть устройства которым критична работа с картой именно в memory mode и i/o mode, например, фотокамеры.

    Если к подобным устройствам подрубить IDE то они не будут с ним работать.

     

    Отсюда ноги и растут у проблемы:

    Требуется именно реализовать полный и очень корректный интерфейс CompactFlash, со всеми его регистрами и сигналами,

    и уж далее, как хранилище, к нему пристроить что-то недорогое, простое и доступное.

     

    Вот по причине интерфейса CF я и упомянул плис...

    Я подозреваю, что на плисах сата1-сата2-сата3 уже чуть ли не в готовых библиотеках присутсвует, ибо распространено.

    Открытый вопрос: есть ли полная поддержка всего протокола CF, и соотв вопрос в том во что выльется реализация CF если её еще нет.

     

    Все ваши переходники предназначены для того, чтобы CF карту превратить в винчестер IDE или SATA.

    Человеку же надо винчестер превратить в CF карту. )))

    Мое имхо, что для IDE винчестера это вполне просто сделать, т.к. формат IDE и CF - практически одно и тоже. Т.е. простой переходник с некоторой логикой.

    Значительно сложнее это реализовать с винчестером SATA, да еще и без потери скорости. Широко известные конвертеры SATA <-> IDE

    китайского производства работают только в режиме SATA-1 (до 1.5Гб). Винты SATA2-3 с ними часто вообще не работают.

    Таким образом необходимо искать приличную микросхему-преобразователь из SATA в IDE с поддержкой протоколов UDMA-133 и SATA2-3

    Если делать это на ПЛИС - у топик стартера глаза из орбит вылезут, когда он узнает стоимость микросхем ПЛИС с трансиверами на 6гб/с

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

     

    Для начала можно и на PATA сваять, UDMA6 до 133 мб/с поддерживает, если взлетит то тогда уже можно будет думать о sata.

    Если SATA, то и SATA3 не обязательно, даже SATA1 вполне хватит по производительности.

    Почему не прокатит просто "провода кинуть" - выше объяснил.

    Небольшие потери скорости допустимы, но стабильные и предсказуемые.

     

    Вместо HDD/SSD можно применить и любой другой накопитель,

    главное требование к накопителю - распространённость, чтобы можно было купить недорого на любой барахолке, скорость, надёжность хранения (не терять уже записанное при пропадании элетропитания, не умирать от вибрации).

    Сами CF-карты в принципе, всему удовлетворяют, кроме цены,

    ну и где-нить в деревенском магазине хард еще можно купить, а вот CF с большим объёмом и приличной скоростью - фиг.

     

    Франкенштейны из переходников CF-SD + SD-WiFi рассматривались, но, во-первых, работающее по отдельности не всегда гладко работает будучи собранным в комплекс, во-вторых, у вайфай непредсказуемые задержки, нестабильная и не оч большая скорость работы, особенно в городских условиях помех, эт основное, что отвращает по SD-WiFi, ну и питание там... нехилое получится, может сжирать больше чем CF.

    Я, как сетевой инженер, знаю что такое вайфай, он в данном приложении не прокатит абсолютно никак,

    прокатят исключительно проводные или оптические интерфейсы,но оптика не дешевая.... хотя.....

     

    И я не просто так попросил озвучить примерные сроки и стоимость, не забывайте анек:

    каждый бедный по-своему: кто-то бедный - хлеб неначто купить, а кто-то бедный - бриллианты мелковаты.

    Посему мне надо четко представлять во что этот проект может вылиться, соотв имеет смысл затеваться или нет.

  8. Может готовый какой-нибудь переходник есть? У китайцев смотрели? Или в компьютерном магазине. Ищите в компьютерном магазине.

    Смотрел, везде смотрел, нету нигде ни у кого.

     

    Именно по этой причине и создал тему.

     

  9. Требуется разработать собрать и предоставить реально работающий собранный физически образец прототипа устройства, не абстрактную модель.

     

    Устройство предполагается построить по принципу "прокладки":

    с одной стороны (лицевой) на шлейфе имеет 50-pin CF-разъём и при подключении выглядит как обычная CompactFlash-карта, работающая в любом из трёх режимов (которые упомянуты в документации CF-карт),

    с другой стороны подключен накопитель (жёсткий диск (sata/pata любой)), на который пишутся-читаются записываемые-читаемые через CF-интерфейс данные.

    В каком формате данные будут храниться на самом накопителе роли никакой особой не играет, главное чтобы скорость передачи не проседала сильно, т.е., если накопитель допускает 150мб/сек запись, то со стороны CF скорость должна составлять хотя бы 90% от скорости накопителя. Прочитать записанные данные мы потом сможем подключив наше устройство к обычной читалке CF-карт.

    Объёмы подключаемых (и эмулируемых) накопителей в районе от 100Гб до 4Тб, размер накопителя опрелеляется при старте устройства.

    Энергопотребление самого устройства в районе нескольких ватт.

    Критичным для устройства является чрезвычайно корректная реализация CF-интерфейса.

    От CF-хоста питание потребляться не должно, питание устройства и накопителя будет собственное (аккумуляторное).

    Пользовательский интерфейс представляет из себя разъёмы CF, IDE (SATA или PATA), +12V питание и тумблер Вкл-Выкл.

    Работающий образец может быть выполнен как угодно, в рамках разумного, хоть франкенштейн на макетке лежащей в картонной коробке от обуви, но чтоб суммарно все компоненты устройства занимали примерный объём, скажем, пары телефонов iPhone5 сложенных стопкой, работало по нажатию тумблера Вкл.

    Реализовывать на плис или чём-то еще это на усмотрение проектировщика.

    Cколько эт может затянуть по срокам, по финансам?

    Какова стоимость первого физического прототипа?

     

    Я сам нахожусь в москве.

    Где находятся разработчики мне, по большому счёту, всёравно, мне главное получить работающее устройство, с полной схемой, BOM, исходниками прошивки, скомпилированной прошивкой.

    Для вопросов и связи пишите здесь или в личку, далее свяжемся по тлф.

    После появления работающего образца далее уже будут вопросы оптимизации по материалам, размерам, изготовление pcb etc.

     

  10. Может память битая? У других вроде работает.

     

    ЗЫ. У меня получилось и для HY57V561620FTP-H и для HY57V561620BT-H SDRAMC Configuration Register = 0x2A913959

    может и память.. а может и что-то другое....

    память вполне может быть виновна так как была выпаяна из DIMM'ов

    но на моей плате так же почему-то не получается ничего прошить во flash, вылетает по ошибке.

    как раз flash новый ставился, купленный.

    u-boot даже не может его проверить - сразу exception вылазит.

    а так как пока нет возможности выпаять микросхемы неповредив ничего рядом я попробую собрать еще одну плату... посмотрю, там я уже поставлю память новую и flash пока только 1 чип повешу, чтоб в случ чего не загубить второй, дорогие они :(

  11. Разве эти настройки не для Heavi с 16 мБ? В Bootloader с сайта Heavi-online это значение.

    У Вас, как Вы писали гдето на форуме, HY57V561620BT-H - 64 мБ?

    кстати, у меня стоит 2 штуки HY57V561620 - мне из неё удалось использовать только первые 16 метров :(

    попытки доступа выше оканчиваются крахом системы. :(

  12. 1. если под tool-chain понимается компилятор + libc - пересобирать ничего не надо.

    если компилятор компилит а линкер линкует - значит все работает!

    2. утилита mkimage собирается автоматом при сборке u-boot.

    3. какой дистрибутив - абсолютно фиолетово! в который раз уже говорю!

     

    4. Если я хочу использовать ядро 2.6.21.1, то мне нужно http://www.kernel.org/pub/linux/kernel/v2.....6.20.1.tar.bz2 и на него наложить http://maxim.org.za/AT91RM9200/2.6/2.6.21-at91.patch.gz я правильно понимаю ?

     

    нет. неправильно.

    если берется самое последнее ядро с kernel.org то оно, как правило, уже содержит в себе все пачти от всяких maxim.org.za и иже с ними. патчи надо накладывать только если по какой-то причине это еще не вошло в ядро.

  13. Запустил таки rainbow v1.1., загрузил по сети Linux, смонтировал initrd и запустил с него busybox :)

    Flash 2 шт. at45db642d = суммарно 16 метров, чипы новые, куплены в магазине.

    память 2 шт. HY57V561620FTP-H = суммарно 64 метра, выпаяна из модуля DIMM методом электроплитки.

    кварц 18.432 MHz.

     

    Есть пара неясных моментов омрачающих жизнь:

     

    1. RomBoot во Flash прописывает себя нормально, U-Boot он тоже прописывает нормально, из Flash потом они прекрасно друг друга грузят!

    Но как только я пытаюсь, следуя инструкциям с heavy-online, прошить и ядро во flash я вылетаю по -F- Data Abort detected.

    При этом когда я делаю Erase Dataflash то никаких ошибок не происходит.

     

    2. Память работает!, но тоже странно.

    При указании в u-boot её объёма 16 метров всё работает нормально.

    Если же я указываю что у меня 32 метра, или (честно) 64 метра - тест памяти тоже практически сразу после начала вылетает по -F- Data Abort detected.

     

    Аналогично если я пытаюсь работать с Flash:

    U-Boot> fsinfo
    ### filesystem type is JFFS2
    Scanning JFFS2 FS: \ -F- Data Abort detected

     

    вроде после первых непропаев памяти, после устранения которых все заработало, я сидел с увеличительным стеклом и проверял и пайку Flash, и пайку памяти, и пайку CPU.

    Как узнать что же это именно глючит?

  14. Кварц на 16, памяти 64 мегабайта (2 чипа HY57V561620CT-H).

    ----

    Перепаял кварц на 18.432, после чего успешно стартанул u-boot от heavy:

     

    AT91F_LowLevelInit(): Debug channel initialized

    press any key to enter bootloader

    Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000]

    Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTя

     

    U-Boot 1.1.1 (May 4 2006 - 11:47:26)

     

    U-Boot code: 20F00000 -> 20F1BC3C BSS: -> 20F20554

    RAM Configuration:

    Bank #0: 20000000 32 MB

    Unknown flash manufacturer 0x00900090

    Flash: 0 kB

    DataFlash:AT45DB642

    Nb pages: 8192

    Page Size: 1056

    Size= 8650752 bytes

    Logical address: 0xC0000000

    Area 0: C0000000 to C0007FFF (RO)

    Area 1: C0008000 to C001FFFF (RO)

    Area 2: C0020000 to C0027FFF

    Area 3: C0028000 to C083FFFF

    *** Warning - bad CRC, using default environment

     

    In: serial

    Out: serial

    Err: serial

    eth: setting MAC address to 12:34:56:78:9a:bc

    PHY not connected!!

    Link: 100baseTX Full Duplex

    Hit any key to stop autoboot: 0

    ## Booting image at 10020000 ...

    Bad Magic Number

    u-boot>

     

    ------------

     

    Но меня смущает

    RAM Configuration:

    Bank #0: 20000000 32 MB

    Сколько памяти на плате прописывается в bootrom при компиляции. эту цифру он потом и выводит, можно хоть 512 метров прописать :)

    У меня-то памяти 64 :07:

     

    mtest тоже ругается:

     

    Testing 20000000 ... 21ede000:

    Iteration: 1

    FAILURE (read/write) @ 0x20edddac: expected 0x003b776c, actual 0xffc48894)

     

    вот это похоже на непропаи ножек памяти! у меня примерно такое было с самодельным тестом памяти - пишем одно а читается совсем другое.

  15. ознакомся с следующими топиками (в них мы рассматривали момент присеоединения ramdisk ) :

    http://electronix.ru/forum/index.php?showtopic=25634

    http://electronix.ru/forum/index.php?showtopic=29261

     

    это я уже чуть ли не наизусть изучил... вдоль и поперек перечитывал... до дыр в мониторе...

     

    + к всему в ядре нада включить поддержку initrd обязательно, или при помощи initramfs

    ессно поддержки всяких initrd и initramfs включены! иначе стал бы я спрашивать в чем засада?

    похоже собака порылась в двух местах:

    1. параметры mkfs при создании в образе ext2fs. похоже всякие закручивания гаек типа минимума размера секторов и прочей служебной инфы (чтоб высвободить побольше места на самом образе диска) возимели действие и, похоже, это было тоже составляющей невидимости образа диска в памяти.

    2. изначально я сделал размер образа диска initrd около 1 метра, похоже что ядру этого было слишком-мало, что ли?... увеличил до 2 Мб вроде как что-то стало работать.

     

    что именно, п.1 или п.2 виноват, я точно сказать не могу, так как после какого-то момента стало выдавать не сообщение о том что не может обнаружить образ рамдиска, а то что:

    "RAMDISK: Loading 1024KiB [1 disk] into ram disk..." не прокатывает.

    после того как я очутился на этом этапе я выполнил п.2 и у меня образ диска увиделся. теперь всё умирает на невидимости linuxrc и busybox вообще:

     

    ......
    ds1307 0-0068: setting the system clock to 2007-05-25 03:39:09 (1180064349)
    RAMDISK: ext2 filesystem found at block 0
    RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
    VFS: Mounted root (ext2 filesystem).
    Freeing init memory: 108K
    Failed to execute /linuxrc.  Attempting defaults...
    Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

     

    хотя я кернелу честно передал все параметры и '/linuxrc' - это как раз и есть значение переданое в переменной 'init':

     

    U-Boot> printenv
    ......
    bootargs=mem=16M initrd=0x20800000,0x500000 root=/dev/ram init=/linuxrc rw
    .......
    U-Boot>

     

    если смонтировать образ initrd то всё честно лежит на местах:

     

    root@usbr:/usr/src/arm/busybox# mount -o loop ./initrd2.img /mnt/initrd/
    root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/
    total 17
    drwxr-xr-x    2 root     root         2048 May 25 03:20 bin
    drwxr-xr-x    3 root     root         1024 May 25 03:39 dev
    lrwxrwxrwx    1 root     root           11 May 25 03:39 linuxrc -> bin/busybox
    drwx------    2 root     root        12288 May 25 03:39 lost+found
    drwxr-xr-x    2 root     root         1024 May 25 03:20 sbin
    drwxr-xr-x    4 root     root         1024 May 25 03:20 usr
    root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/bin/busybox 
    -rwxr-xr-x    1 root     root       581684 May 25 03:20 /mnt/initrd/bin/busybox
    root@usbr:/usr/src/arm/busybox# file /mnt/initrd/bin/busybox
    /mnt/initrd/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), stripped
    root@usbr:/usr/src/arm/busybox#

     

    да, еще кернел ругался что не может открыть initial console, но я ему помог её открыть уже не ругается...

    буду далее разбираться что за фигня о5 происходит... :-/

    получается что ramdisk ядро смонтировало, видит, но вот linuxrc или что-то еще выполнить ну никак не может :(

  16. это уже инетереснее..

    т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?...

    я правильно понял?

    Я правильно понял!

    Net RESET33 засадил на землю джампером, предварительно вообще сняв с платы J19, включил питалово - заработал x-modem !!!

    дальше как обычно прошил romboot :)

    всё, вопрос исчерпан.

    благодарю! плата живёт!

  17. Для того, что бы активизировать встроенный загрузчик и отключить загрузку с флэшки я при закороченом переферийном ресете перезагружал сам контроллер.

    это уже инетереснее..

    т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?...

    я правильно понял?

  18. Странно, разве что D16-D31 стали outpiut-ами, проверить питание есть ли 3.3V, 1.8V и генерацию кварцев

    с утра питание успел проверить - в норме!

    за осцилографом.. хм... полезу сегодня вечером, но у меня осцил до 5 MHz макс :(

  19. Сидел ковырялся в romboot'е и, сдуру, закоментил (ifdef'ами) в коде инициализации SDRAM такой кусочек:

    static void AT91F_InitSdram()
    {
            int *pRegister;
    #if 0
            //* Configure PIOC as peripheral (D16/D31)        
            AT91F_PIO_CfgPeriph(
                    AT91C_BASE_PIOC, // PIO controller base address
                    0xFFFF0030,
                    0
            );
    #endif
            
            //*Init SDRAM

     

    После прошивки такого ромбута плата перестала подавать всякие признаки жизни :crying:

    Как-то можно её резетнуть? как-то обнулить flash? как-то вообще узнать что с ней происходит?

    При включении питания она CCC X-Modem'а, как раньше, не выдаёт. Просто тишина на консоли.

    ни на DBGU, ни на последовательном порту (проверял перестановкой джамперов).

    Пробовал разные комбинации джамперов J2/J3/J13 - ноль реакции :crying:

    Что могло случиться? Проц умер? Память накрылась? Flash? что???

  20. у меня поднялись на моей плате нормально... щяс он тикают

    ядро 2.6.19

    что б поднялись нада включить I2C и в RTC саму 1307

    Главное не ставить галочку - "тестировать часы"

    и на ФС сделать

    mknod -m 777 /dev/rtc c 254 0

    а потом через date зарядить время и

    hwclock -w (важно: busybox должен дыть с поддержкой этой команды) и

    а вот мне пока так и не удалось заставить ядро увидеть ramdisk :(

    вот ужо которую ночь бъюсь.. :(

     

    2COMA: конфиг ядра пока здесь

  21. Добрый день,

    кто-нибудь запустил DS1307 на плате RainBow?

    Работает!

    в ядре 2.6.21.1 есть даже родная поддержка!

    ........
    at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
    AT91 Real Time Clock driver.
    i2c /dev entries driver
    ds1307 0-0068: rtc core: registered ds1307 as rtc1
    at91_i2c at91_i2c: AT91 i2c bus driver.
    ........
    ds1307 0-0068: setting the system clock to 2007-05-14 21:53:52 (1179179632)
    .........

    как видно даже время из часов прочиталось!

  22. Ага, давайте делать для инициализации файлы на все материнки, которые существуют, в i686... Пусть пользователи радуются жизни, добавляя конкретно свою плату! Ну вот чем i686 настолько отличается, что правки конфига достаточно? У них что, одинаковые мосты? Контроллеры питания и температур? У всех один набор шин?

    Там общего только архитектура.

    На ix86 сделано так потому что делалось с оглядкой на конечных пользователей, которые не будут новый конфиг для каждой конкретной платы писать. На ix86 есть статусные и информационные регистры из которых можно всегда прочесть какими характеристика обладает та или иная железка (например, сколько строк/колонок у памяти). А вообще поддержка кадой индивидуальной платы закладывается в OS, это прост Вам, наверное, не приходилось заводить какунить PC-шную мать пытаясь использовать все установленные на ней сенсоры и прочие финтифлюшки. Посмотрите, для примера, комментарии в CVS changelog для кода и сам код инициализации чипсетов во freebsd... там ужас что творится!

    Но со встраиваемыми решениями это нормальная ситуация, плату один раз собрали, в софт сразу, зная что есть на плате, заложили все параметры, настроили чтоб работало, встроили и забыли.

  23. В адресах 0xC0000000 проверять нечего. Это логический адрес флешки. Не более.

    А с памятью - попробуйте мой тест. Я его тут где-то выкладывал. Мне помог.

    запустил таки!!

    оказалось проблемы с непропаями и с инициализацией SDRAM.

  24. Добрый день,

    кто-нибудь запустил DS1307 на плате RainBow?

    Смотря под чем запустить ;)

    Под u-boot часики запустились.

    по команде date первый раз ругнулось что "RTC oscillator has stopped" и с этого момента начало тикать (как я понял).

    потом я уже выставил в них правильно дату, и сейчас тикают от батарейки, даже если питало с платы снять время не теряют.

    вот как они будут под linux'ом работать пока не знаю... но линуксовый драйвер их пока не нашел.