Про…

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

41 коментар to “Про…”

  1. manikandan сказав:

    Hi Sir..im manikandan..from india….im new to embedded systems…i have some doubts and queries in embedded systems…will you please help me to get clarification…kindly share your email id please…i have send this message also in stackoverflow…thank you…

    • ReAl сказав:

      Hi Manikandan,

      I’m sorry, I have no time to provide such support/mentoring by email.

      From time to time I have some half an hour of free time and can answer on Stack Overflow or even here. But another week I’m very busy and don’t even log in Stack Overflow or this blog.
      It would be better for you to ask Stack Overflow. If I have time, I answer. And someone else can answer too.

  2. 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).

  3. Ігор сказав:

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

    • ReAl сказав:

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

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

  4. Олег сказав:

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

    • ReAl сказав:

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

  5. Ігор сказав:

    Перепрошую, підкажіть, будь-ласка, яким чином включити 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 в порту В – старію, проте документацію по цій мікросхемі майже напам’ять вивчив.
              Щиро Вам вдячний за чергову допомогу.

  6. Ігор сказав:

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

    • ReAl сказав:

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

      • Ігор сказав:

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

        • ReAl сказав:

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

          • Ігор сказав:

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

  7. Владимир сказав:

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

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

    • ReAl сказав:

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

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

      FT232H: я только обратил внимание, что она появилась, но не смотрел описание. Думал, по сравнению с 232R только скорость добавилась. Оказывается, она — половинка от FT2232H. Раз есть 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.

  8. 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. Но поскольку китайского я не знаю ( и не собираюсь 😉 ), а точнее ещё и руки не доходят проверить… Всё, не хочу Вас больше отвлекать на эти второстепенные проблемы. Удачи во всех делах и позитива!

  9. Александр сказав:

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

    • ReAl сказав:

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

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

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

Leave a Reply

[flagcounter image]