Jump to content

    

Odiemus

Участник
  • Content Count

    40
  • Joined

  • Last visited

Everything posted by Odiemus


  1. С подобными флоппиками всё гладко поскольку там допотопный MFM-интерфейс. Это всё для компов! Компы работают в IDE, который через переходники проходит туда-обратно без проблем. Мой хост карту и в хвост и в гриву имеет через mmio, как я понимаю, это в ide не преобразуешь. поэтому и возникла проблема.
  2. генератор данных именно "черный ящик" на который повлиять невозможно и из выходов есть только на CF-карточку, которую он понимает.
  3. непрерывный поток на запись порядка 60-70 мб/сек. Чтобы CF-карты могли писать такое без запинок им приходится делать "предпрогрев" allocate'ом большого файла с уже последующей записью внутрь файла самих данных.
  4. такое очень даже прокатит, если будет работать то были идеи и попробовать разнести оптическим линком CF от всего остального в пространстве, оптоволокно намного легче меди, намного эластичнее и расстояния допускает бОльшие. А есть переходник CF->Ethernet?
  5. 100 гиг это скорее на время отладки, а при эксплуатации чем больше, тем лучше, и 4 тера, и 12, сморя на какой хард у меня денег хватит. Вот по причине объёма sd и не устраивают. Для замены накопителя надо всю установку обесточивать, поэтому хочется накопитель пореже сменять, оптимально раз в сутки.
  6. я почитал отзывы об этом совсем недавно появившемся адаптере.... он от силы 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 если её еще нет. Для начала можно и на 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. может и память.. а может и что-то другое.... память вполне может быть виновна так как была выпаяна из DIMM'ов но на моей плате так же почему-то не получается ничего прошить во flash, вылетает по ошибке. как раз flash новый ставился, купленный. u-boot даже не может его проверить - сразу exception вылазит. а так как пока нет возможности выпаять микросхемы неповредив ничего рядом я попробую собрать еще одну плату... посмотрю, там я уже поставлю память новую и flash пока только 1 чип повешу, чтоб в случ чего не загубить второй, дорогие они :(
  11. кстати, у меня стоит 2 штуки HY57V561620 - мне из неё удалось использовать только первые 16 метров :( попытки доступа выше оканчиваются крахом системы. :(
  12. 1. если под tool-chain понимается компилятор + libc - пересобирать ничего не надо. если компилятор компилит а линкер линкует - значит все работает! 2. утилита mkimage собирается автоматом при сборке u-boot. 3. какой дистрибутив - абсолютно фиолетово! в который раз уже говорю! нет. неправильно. если берется самое последнее ядро с kernel.org то оно, как правило, уже содержит в себе все пачти от всяких maxim.org.za и иже с ними. патчи надо накладывать только если по какой-то причине это еще не вошло в ядро.
  13. Премного благодарен!!! Попробую!!
  14. Запустил таки 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. Как узнать что же это именно глючит?
  15. Сколько памяти на плате прописывается в bootrom при компиляции. эту цифру он потом и выводит, можно хоть 512 метров прописать :) вот это похоже на непропаи ножек памяти! у меня примерно такое было с самодельным тестом памяти - пишем одно а читается совсем другое.
  16. это я уже чуть ли не наизусть изучил... вдоль и поперек перечитывал... до дыр в мониторе... ессно поддержки всяких 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 или что-то еще выполнить ну никак не может :(
  17. Я правильно понял! Net RESET33 засадил на землю джампером, предварительно вообще сняв с платы J19, включил питалово - заработал x-modem !!! дальше как обычно прошил romboot :) всё, вопрос исчерпан. благодарю! плата живёт!
  18. это уже инетереснее.. т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?... я правильно понял?
  19. с утра питание успел проверить - в норме! за осцилографом.. хм... полезу сегодня вечером, но у меня осцил до 5 MHz макс :(
  20. Сидел ковырялся в 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? что???
  21. а вот мне пока так и не удалось заставить ядро увидеть ramdisk :( вот ужо которую ночь бъюсь.. :( 2COMA: конфиг ядра пока здесь
  22. Работает! в ядре 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) ......... как видно даже время из часов прочиталось!
  23. На ix86 сделано так потому что делалось с оглядкой на конечных пользователей, которые не будут новый конфиг для каждой конкретной платы писать. На ix86 есть статусные и информационные регистры из которых можно всегда прочесть какими характеристика обладает та или иная железка (например, сколько строк/колонок у памяти). А вообще поддержка кадой индивидуальной платы закладывается в OS, это прост Вам, наверное, не приходилось заводить какунить PC-шную мать пытаясь использовать все установленные на ней сенсоры и прочие финтифлюшки. Посмотрите, для примера, комментарии в CVS changelog для кода и сам код инициализации чипсетов во freebsd... там ужас что творится! Но со встраиваемыми решениями это нормальная ситуация, плату один раз собрали, в софт сразу, зная что есть на плате, заложили все параметры, настроили чтоб работало, встроили и забыли.
  24. запустил таки!! оказалось проблемы с непропаями и с инициализацией SDRAM.
  25. Смотря под чем запустить ;) Под u-boot часики запустились. по команде date первый раз ругнулось что "RTC oscillator has stopped" и с этого момента начало тикать (как я понял). потом я уже выставил в них правильно дату, и сейчас тикают от батарейки, даже если питало с платы снять время не теряют. вот как они будут под linux'ом работать пока не знаю... но линуксовый драйвер их пока не нашел.