Про…

Я постійно страшенно зайнятий і постійно нічого не встигаю…
Ну, як і належить хай не зовсім вже неробі, але лінивій людині точно.
На попередній своїй сторінці я написав “потихеньку я тут порядок наведу, а поки-що пропоную свіжу версію avreal”. Будемо вважати, що я почав наводити порядк, але вже тут, в новому місці.
І через десять років… Рекорд? Чи він ще попереду? ;-)
Але я як мінімум зрушив з місця.

39 Responses to “Про…”

  1. Hakan Cunier коментує:

    Hello,

    We found your site while searching for DLPortIO. We have an old style coded MsDos 6.22 application and it uses int86 function from dos.h And our documentation says if we want to use it on Windows OS we need to use DLPortIO.SYS + DLPortIO.dll. But the problem is we want to port our application to Linux. Our device communication made on 0230 H address. I want to ask you if is Avreal a replacement of DLPortIO.sys+DLPortIO.dll on both Windows and Linux? Also im not sure that 0230H is a LPT port or am i wrong? Our application uses int86 directly for this address i guess. Can we port this functionality to linux by using Avreal?

    Thank you in advance,

    Hakan Cunier

    • Hakan Cunier коментує:

      And one more note is our system is 32bit and running Lubuntu 14

    • ReAl коментує:

      No, avreal is AVR micros programmmer. It just uses DLPortIO.* on Windows.
      0230H is not a standard LPT port, but it does not matter — you can use any non-system address your needs.

      On Linux you can use direct access by assembly in/out commands. You must enable access to required ports by ioperm() and program should run with root privileges.

      Another way, as far as I know, is to write your driver and use ioctl() requests but I never did so. Avreal uses access to LPT by ioctl() requests to built-in Linux parport driver (/dev/parport* devices).

  2. Ігор коментує:

    Перепрошую, що знову.
    Atmega8a,нещодавно придбані, після декількох десятків хвилин роботи “вмирають” – використовуються в схемі, як вимірювач напруги на цифровий світлодіодний індикатор.
    Брак у мікроконтролері, чи знову мені “щастить”?
    Дякую.

    • ReAl коментує:

      Вмирають як?
      Злітає прошивка чи тихо дохнуть чи перегріваються-горять?
      Кілька десятків хвилин… Дивний час.

      Не повинні. Принаймні, у мене такого ніколи не було.
      Зараз у мене в ходу ATmega48PA, ATtiny26L-8, троши ATtiny24/44. Раніше були ATmega8515, ATmega64, ATmega8, ATmega48 (ще старі, не A), ATtiny13.

  3. Олег коментує:

    Всі ми ледачі. Але було б цікаво почитати вашу історію, чим займаєтесь, як до цього дійшли, де працювали, як, де і скільки вчилися? (Це для КГБ треба)

    • ReAl коментує:

      «кому треба» і так все знають :-)
      Якісь уривки можна знайти на електроніксі і десь на шаразі про мене писали, якщо я зараз щось скажу навскоси до того, то «хто треба» лише дужче зацікавиться…

  4. Ігор коментує:

    Перепрошую, підкажіть, будь-ласка, яким чином включити Timer/Counter0 у ATtiny261A, бо не можу цього зробити й у Simulator AVR Studio 4, проте з ATtiny26 не виникає таких проблем.
    Дякую.

    • ReAl коментує:

      Я з ATtiny261 не працював.
      Може, Ви ненароком біти CS пишете в TCCR0A, а не в TCCR0B ?
      Там же не просто додалися регістри до TCCR0, а він посунувся на місце B.

      p.s. Треба б навести на сайті порядок і зробити окрему сторінку для запитань, що стосуються мікроконтролерів, але не стосуються avreal. Бо зараз вони в різних місцях випливають. Тільки от не сильно є коли.

      • Ігор коментує:

        Дякую, проте періодично з місяць пробував на контролері різні варіанти та все перевірив по Register Summary.
        Потім вирішив через “студію”, тому дві маленькі програмки.
        .INCLUDE “tn26def.inc”
        .CSEG
        .ORG 000
        ldi r16,low (RAMEND)
        out SP,r16
        ldi r16,$01
        out TCCR0,r16
        Sle: sleep
        nop
        nop
        rjmp Sle
        .EXIT
        В ній лічильник симулюється, а в наступній ні:
        .INCLUDE “tn261adef.inc”
        .CSEG
        .ORG 000
        ldi r16,low (RAMEND)
        out SPl,r16
        ldi r16,$01
        out TCCR0b,r16
        Sle: sleep
        nop
        nop
        rjmp Sle
        .EXIT

        А вдосконалений мікроконтролер дуже непоганий за заявленими характеристиками та й ціна менша ніж попередників.

        • ReAl коментує:

          Оце лише сьогодні доліз. Як по документації, то все має працювати в такому варіанті.

          На щастя, у мене у віртуальній ХР-шці вже стояла 4-та студія, то це зайняло небагато часу.

          Друга програмка, для tiny261A, у мене нормально симулюється. Якщо в «Select platform and device» вибрати «AVR Simulator 2»
          Якщо ж вибрати «AVR Simulator», то десь в перших тактах встановлюються флаги OCF0A, OCF0B, а сам TCNT0L не міняється.
          Думаю, це помилка в якихось файлах опису мікроконтролера в симуляторі.
          Ну а чому в залізі не працювало, то то треба розбиратися.

          • Ігор коментує:

            Дякую, сьогодні буду пробувати теж.

            • Ігор коментує:

              Запрацювало й у “залізі”, бо моя помилка була в тому, що виводи починаються з одиниці, а біт 0 в порту В – старію, проте документацію по цій мікросхемі майже напам’ять вивчив.
              Щиро Вам вдячний за чергову допомогу.

  5. Ігор коментує:

    Перепрошую, лише у мене виникають останнім часом проблеми з Atmega8A?
    Одні відмовляються програмуватись, а інші – ніби програмування проходить без проблем, проте на виході “пусто”.

    • ReAl коментує:

      Я лише одну ATmega8A взяв для перевірки, бо залишилося ще з пів десятка старих ATmega8, а вони й ті мені зараз не дуже потрібні.
      Проблем з тим екземпляром не було.
      А що саме не так, що не йде?

      • Ігор коментує:

        Я вже декілька раніше Atmega8A програмував – не виникало ніяких проблем. А декілька місяців раніше, після першого стирання визначалась через всі FF, а сьогодні не синхронізується (можливо під час випаювання була перегріта).
        Вчора, я замінив Atmega8L на Atmega8A в пристрої, який успішно працював, вона запрограмувалась без проблем, проте сам пристрій не запрацював. Я її випаяв і впаяв попередню – робота пристрою відновилась.
        Сьогодні та ж Atmega8A на макетній платі запрацювала на примітивній програмі, тому завтра впаяю її в іншій перевірений пристрій, а далі, якщо запрацює, спробую повернутись до невдач 13 червня.

        • ReAl коментує:

          Перегріти не так просто.
          Треба уважно з fuses, може десь щось не так. Тип генератора не той, CKDIV8 забули зняти.
          Я час іноді в якусь плату програму зашиваю, а fuses виставити забуваю.
          Можливо варто не розраховувати на те, що в новій стоять відповідно документації. Я сам не наривався на таке, але, кажуть, іноді в дрібних партіях, що невідомими шляхами невідомо звідки прийшли, зустрічається усяке.

          • Ігор коментує:

            Я дещо шокований – працюють нормально, що було тринадцятого … не знаю, а з тією, що не синхронізується (яка після першого стирання не визначалась як атмега), попрацюю пізніше, бо вона лише одна. Всі мікросхеми з імраду.
            Перепрошую, вдячний за відповіді.

  6. Владимир коментує:

    День добрый!
    Уважаемый автор, будет ли работать avreal с ft232″H”? она тоже имеет MPSSE, но в документации почему то указаны только ft2232 и 4232…

    и планируется ли поддержка ft245?

    • ReAl коментує:

      FT245A/B и родственная им FT232 имеют только «асинхронный бит-банг» и совершенно не интересны.

      FT245R и FT232R имеют «синхронный бит-банг» и могут быть использованы, прикидки кода делались, но «всё руки не доходят» довести до ума и добавить в релиз.

      FT232H: я только обратил внимание, что она появилась, но не смотрел описание. Думал, по сравнению с 232R только скорость добавилась. Оказывается, она — половинка от FT2232. Раз есть MPSSE, то добавить несложно. Спасибо за наводку.

      Только… Я сглупил и начал кое-что правть прямо по trunk… И там сейчас всё в растрёпанных чувствах…
      Ну ничего, возьму копию tag/1.28r7 и в ней добавлю, а потом оттуда «backport» в trunk сделаю.

    • ReAl коментує:

      А у Вас под рукой FT232H есть?
      Там неопределённость некоторая, в свежем описании MPSSE (AN-108) команды отключения/включения предделителя на 5 сидят в «FT2232H / FT4232H ONLY». И непонятно — толи забыли туда вписать FT232H, толи у неё такого предделителя нет и она всегда работает в диапазоне тактирования 458 Гц … 30 МГц, как FT2232H с отключенным делителем. Но тогда она не совместима ни с FT2232C/L/D, ни с FT2232H, которая для совместимости с предшественниками стартует с включенным делителем.

      Я могу добавить FT232H «в тёмную» как имеющую делитель, но потом надо будет проверить с осциллографом реальную частоту для разных значений в ключе -o.

  7. Andrew коментує:

    Доброго времени суток, рискну вопрос не в тему, не приходилось ли уважаемому автору работать с монстриком AT89C55WD, в частности его затирать?

    • ReAl коментує:

      Приходилось, с AT89C начиная с AT89C51 через AT89C55WD и до AT89C51RC. Больше не было нужно.
      Работал с ними программатором FlexPro от ICS (только у меня светленький, из первых партий, зав. № толи 27, толи 29).

      • Andrew коментує:

        Ок, спасибо за ответ, а история вкратце такая. С 89-ми дружу года наверно с 98-го, в общем по мере их развития. Параллельный прог-матор свой, тоже эволюционировал от ISA в сторону LPT, обрастал доп.питанием 6,5V и всё бы ничего, да осталась проблемка. Просто ради интереса как-то попробовал упомянутый 55WD, все чтения/записи пошли сразу и легко, только не получалось тереть. В нете нашел описания той же проблемы по миру, но ни одной подсказки в тему. Я конечно тру его, но абсолютно хакерски и плюс занимает массу времени найденный алгоритм. Не слышали ли Вы чего о подобных историях ? С ув., Andrew.

        • ReAl коментує:

          Ой, не знаю… Да, где-то в те же года был переход с УФ-стираемых 27Cxx рядом с i80C31 и i87C51FA на AT89.
          Проблем никаких не помню. Правда, довльно быстро предел 20КБ был перекрыт и на замену AT89C55WD были взяты AT89C51RC, но какое-то время 55WD использовались.
          Припоминаю, что авторы упомянутого программатора (или квазаровского UniPro, который на работе был — уже не помню) оправдывали задержку с добавлением какого-то из контроллеров изменением алгоритмов. Наверно, это были таки 55WD, так как они отлодились в памяти особо.

          Но дальше для меня всё было просто, поставил микросхему, ткнул кнопку, вынул микросхему.
          На глаз отличий во времени стираия/прошивки для 89C55WD по сравнению с AT89C55, AT89C51RC не помню, уж это отложилось бы.

          • Andrew коментує:

            Ладно, буду неторопливо и дальше почитывать сеть. Кстати, поделюсь открытием, но сначала анекдот… Разговаривают два программиста: Ану реши задачку, допустим у тебя есть 1000 долларов, или нет, пускай для ровного счёта 1024 :) Теперь к 55WD, так вот, когда я слышу про 20КБ, представляю себе на кристалле матрицу 4х4, т.е.16 и рядом еще один квадратик, ну полностью геометрически иррациональная конструкция. А т.к. программатор собственный, мне очень недолго выяснить адрес последней физической ячейки поля ПП. Так вот, мои 55WD (в основном 2008г.вып.) принимают 32КБ без проблем, правда любопытно?

            • ReAl коментує:

              Интересно.
              Непонятен путь — неужели это отбраковка по флешу кого-то более толстого, того же AT89C51RC? Странно.

              • Andrew коментує:

                sorry, не заметил сразу Вашего поста, мои домыслы таковы, что готовилась 32K, в которую вкрался дефект, не понимаю почему их успели “натипографить”, может опаска отстать от конкурентов по нише, ну а потом… к вечеру вероятно проснулся менеджмент и запозиционировал изделие в категорию “лоу кост”, не в переплавку же :) да и чип все равно вышел лучше масочных ROMов, которые, до сих пор доступны в прайсах.

              • ReAl коментує:

                Ну, с одной стороны, — вполне может быть.
                С другой — ведь и AT89C55 были, и их-то у меня несколько сот прошло, и AT89C55WD (уже с двумя DPTR, ближе к AT89C51RC, чем к AT89C52). Т.е. разные в остальном кристаллы, но оба с 20К.
                Ну да ладно, если пытаться вникнуть во все загогулины «траекторий» разработки всех фирм, то и работать некогда будет :-)

              • Andrew коментує:

                да, на 52-х закончилась “классика”, так сказать “доWATCHDOGовая эра”, а отличий WD и RC д/быть два, первое развеялось, осталось пощупать ASMом верхние 256 байт RAM у WD, интрига принимает сконцентрированные формы :) надо будет заглянуть туда при случае, опять же, wr./erase cycl. endurance заявлен по-разному, ну явно переходный этап; а вообще-то хорошо что AVR-ки всё дешевеют, при их потреблении и быстроте – чего еще желать

        • ReAl коментує:

          «Щось мені муляло» и я таки полез по старым коробкам. Боюсь, ввёл в заблуждение.
          Нашлось десятка два AT89C55-24JI, оставшихся от замены на AT89C51RC. Cреди них ни одной 55WD.
          Вполне может быть, что 55WD запомнились как раз тем, что проблемы с ним у производителя программатора окончателно подтолкнули к переходу на 51RC :-)
          Горсть 55-тых осталась от последней партии, в которую решили ставить уже 51RC. Если бы мы 55WD использовали, то (почти) все они должны были бы быть WD.

          • Andrew коментує:

            В принципе, на одном китайском сайте я нашел рекомендацию подтянуть 5V до 5,6 кроме того 6,5V “присадить” до 6,2. Но поскольку китайского я не знаю ( и не собираюсь ;) ), а точнее ещё и руки не доходят проверить… Всё, не хочу Вас больше отвлекать на эти второстепенные проблемы. Удачи во всех делах и позитива!

  8. Александр коментує:

    Здравствуйте!
    Возьметесь ли Вы доработать программу для обеспечения возможности считывания микросхем памяти с последовательным интерфейсом.
    Готов оплатить эту работу.

    • ReAl коментує:

      Речь идёт об SPI-флеш серий “25″ (M25Pxx, которые известны и как альтеровские EPCSxx, SST25VFxxx и так далее) ?

      Тут так:
      • В принципе, в неспешных планах эти микросхемы у меня и так есть. Но всё в планах и в планах. Так что стимулирование поможет со сроками, а то когда ещё этот «впринцип» реализуется… :-)
      • Если уж это будет написано, то, независимо от «стимулирования», оно попадёт в общедотупную программу.

      Так что всё подлежит обсуждению (в том числе тип микросхем, если я не угадал), но это уже лучше в почте.

Leave a Reply

[flagcounter image]