Post:#249920 Date:07.06.2010 (20:24) ... Хочу завести себе свою ветку, чтобы не распыляться. Идей много, а на проверку времени мало. Вот захотелось проверять все вечняки в математике, а потом смотреть где ошибка закралась. Если есть интересующие - присоеденяйтесь.
Обсуждаться будет только один ЧЁРТЁЖ или ЭКСКИЗ единовременно. Пока один агрегат не будет расколупан до конца, дальше ни-ни. Если нет возможности рисовать - сам потом нарисую или картинку вставлю. Весь словесный понос подтверждать оффициальными ссылками. Ссылка на дурдомопедию (википедию) в крайнем случае давать. На сайтах производителей и институтов инфы хватает. Всяких дибилов самоназваных с Ахрененными межгалактическими дипломами не приводить в пример.
Надеюсь энергия потом с кондёра не порёт, и ахренесово колесо вечно не поедет - наука штука точная. КПД устройства для взлома искать больше 20% (КПД1,2).
Нельзя взламывать секреты приборов производимых на постсоветском пространстве. Ибо тут всё просто - турма (Поддержим отечественного производителя!). А заграничные стандарта ISO для нас практически недосягаемы, мы со своим ГОСТОМ на рынке условия не диктуем. Поэтому взлом иностранной технологии в нашей "Раше" приравнивается к шлепку буржую по заду - только щёчки порозовеют . Наши технологии "ломать" только с разрешения собственника либо если инфа открыта для пользования.
Ламачче невозможное проверить при помощи формул теоретически либо элементарно практически также не выкладывать.
Расшифровка предупреждений:
ПИП - первое израильское предупреждение;
ВИП - второе израильское предупреждение;
ТрИП - третье израильское предупреждение;
ЧИП - вставляем имплантант биоботу;
ППЦ - биоботу пипец.
shura-i Пост: 288321 От 07.Feb.2011 (13:38)
Язык C действительно удобен и для меня лучший выбор, но текст на ассемблере, на мой взгляд, лучше отражает все детали происходящих процессов и архитектуры.
Текст на С уже сам по себе выглядит более-менее структурированным. А о программе на АСМе этого не скажешь, вся структура держится в голове в момент написания, а готовая выглядит линейно. Чтобы подправить чужую программу, сначала придется ее "свернуть в клубочки" и полностью понять замысел автора. Я для себя делаю промежуточный вариант: алгоритмы рисую на бумажках с свободном виде, блоки помечаю буковками, а потом пишу на АСМе и эти буковки уходят в метки. Так сохраняется образное мышление "в общем плане", где и что должно делаться, и быстро доступна детализация, как именно это делается, с возможностью правки любого кусочка кода без потери концепции
_________________ И мню аз яко то имать быть, что сам себе всяк может учить.
Очень даже практично.
Из Сей надо брать процедуру вызова- единообразно используемые регистры, через которые передаем параметры, тогда все заготовленные модули легко связываются.
Язык C действительно удобен и для меня лучший выбор, но текст на ассемблере, на мой взгляд, лучше отражает все детали происходящих процессов и архитектуры.
Выражу своё сугубое мнение относительно языков высокого уровня. Некогода мучал Делфи6 с паскалем... После Бейсика что в детсве баловался показалось полной чушью. Наворотов в высокоуровневых языках тьма, а большинство из них пустые. Там всё чисто под математику заточено и графику, а для железа такой "перламутр" нафик не нужен. Чего только стоит прописывание переменных и их значение для памяти? Могли бы уже сделать числовые и символьные выражения, а колличество символов тупо в скобочках указывать, чтобы отладчик сам установил параметры и размер памяти.
По поводу примочек. Кончно хорошо иметь плату управляемую некой прогой, но для прикладных задач толку с неё? Если я захочу сделать портативный кардиорегистратор с проверкой через лептоп или смартфон, то прогу самому один фиг придётся учиться писать.
По поводу асемблера. Громоздкие проги конечно долго придётся писать, зато жёсткий контроль будет. Выходит что в Протеусе лучше всего моделировать процесс, в виду возможности обвязки схемы нестардартными элементами.
_________________ Не хватит никакого здоровья, чтобы приспособиться к этому глубоко больному обществу(Кришна Мурти)/Горшки не Боги обжигают (многовековая классика)
shura-i Пост: 288183 От 06.Feb.2011 (17:37)
А вот еще AT89C51ED2, AT89C51RD2 забавные штучки в этом отношении, как оказалось. У них есть ПЗУ с (всегда готовым) кодом бутлодера, в который проц отправляется программно или аппаратно, и есть Атмеловская программа FLIP под Windows/Linux для общения с этим бутлодырем. То есть, берем новый пустой чип, впаиваем его в свое устройство с RS232, соединяем с компом, на компе запускаем FLIP, на устройстве замыкаем перемычку, делаем ресет, и - вуаля - читаем-пишем чип без программатора.
Ну это в теории. На практике пока не пробовал, сейчас как раз собираюсь (достался модуль из модема ZyXEL 841C, там для этого всё уже готово).
Попробовал, всё так и оказалось. Очень приятные процы, из 51-х приятнее не припомню. Дороговаты только, сабаки.
Кстати, оказалось, есть процы с подобной методикой ISP через интерфейсы CAN (напр. AT89C51CC03) и USB (напр. AT89C5131). Все они поддерживаются программой FLIP. В случае CAN комп должен иметь CAN-интерфейс (адаптер) с драйвером. В случае USB - нужно установить драйвер микроконтроллера (в винде появляется устройство например AT89C5131). Насколько я понял, все такие контроллеры на сайте Atmel в параметрических таблицах обозначены "Self Program Memory: API". Это касается только 51х Атмелов; среди других архитектур Атмела я такой фичи не обнаружил.
shura-i Пост: 288422 От 07.Feb.2011 (22:09)
"Self Program Memory: API". Это касается только 51х Атмелов; среди других архитектур Атмела я такой фичи не обнаружил.
Это и есть начальный загрузчик (бутлодырь) - поскольку сам протокол УСБ или КАН програмный,
порядка 2 кБ занимает , добавили сразу и прошивалку -программатор.
В других атмелах есть процики с бутлодырем, можешь зашить туда свой,
заказать на заводе с прошивкой, или как вариант тот же Аурдино.
Но это выполняет только самую примитивную задачку, с которой справляются 5 проводков и Авреал. Но Авреал может еще и фузы шить и локи ставить... еще и крестиком вышивать может (с)
dedivan, не путай. В других чипах с возможностью бутлодыря я своими действиями могу этот бутлодырь добавить, МОГУ и истребить - и всё, к программатору. В этих же - нет! Здесь бутлодырь в ПЗУ и всегда готов, хоть с завода, хоть после самого любого сбоя. Здесь принципиально НЕ нужен программатор в привычном смысле. Фузы и локи здесь тоже доступны.
5 проводков, к сожалению, уже не всегда достаточно. LPT порты ставить в компы перестают. (впрочем, RS232 тоже уже не везде есть). Напряжение питания МК уже может сильно отличаться от 5В. Ну и вообще, вопрос пяти проводков лучше ставить по-другому: а нафига вообще этот бутлодырь придумали, когда и пяти проводков достаточно?
shura-i Пост: 288476 От 08.Feb.2011 (10:20)
могу этот бутлодырь добавить, МОГУ и истребить - и всё, к программатору. В этих же - нет!
Так я и говорю- можешь заказать на заводе неистребимый бутлодырь,
они пережгут перемычку. А есть просто АВРы с заводским зашитым УСБ или КАН. Тоже неистребляются.
Здесь принципиально НЕ нужен программатор в привычном смысле
Я про то, что для разработки этого мало, нужен отладчик.
А для запланированной работы и программатор на фиг не нужен.
То ресурсы и задержки в работе.
В АвРках в принципе есть зашитый начальный автомат- именно он
определяет при включении режим работы или программирования.
Кстати очень непонятно и темно работает- после включения по тактам
от 6 до 14 тактов непонятно что делает, и только потом переходит на выполнение программы. И сколько тактов будет "думать" непрогнозируемо.
Очень сложно запаралелить работу нескольких процев от одного тактового источника. Переходят к выполнению программы в разное время.
Реалтайм- это сурово.
.
То есть даже простенький автомат уже доставляет проблеммы,
а что уж говорить про сложную программу.
shura-i Пост: 288476 От 08.Feb.2011 (10:20)
а нафига вообще этот бутлодырь придумали, когда и пяти проводков достаточно?
Тут уже один шаг до тотального контроля. Подсаживают народ на автоматику - мол, думать не надо, всё само делается. Потом сделают автозагрузку кода с интернета, и всё ваше оборудование будет жить столько, сколько захочет производитель чипа. Видел в фильмах наверно, как в любом космическом корабле в компьютер может проникнуть вирус! Базаров, в твой сварочник может залезть вирус?
_________________ И мню аз яко то имать быть, что сам себе всяк может учить.
dedivan Пост: 288478 От 08.Feb.2011 (10:30)
Так я и говорю- можешь заказать на заводе неистребимый бутлодырь,
они пережгут перемычку. А есть просто АВРы с заводским зашитым УСБ или КАН. Тоже неистребляются.
Хм. Что-то я для себя такой возможности не вижу, честно. Покажи пример или дорогу. Как получить, скажем, ATmega88A с нерушимым загрузчиком? И назови AVR с USB, который из магазина готов к прошивке прямо по USB. Я, возможно, что-то недоглядел.
==Кстати очень непонятно и темно работает- после включения по тактам
от 6 до 14 тактов непонятно что делает, и только потом переходит на выполнение программы. И сколько тактов будет "думать" непрогнозируемо.
Очень сложно запаралелить работу нескольких процев от одного тактового источника.==
Dedivan это у всех AVRок такая беда и если знаете как с этим обстоят дела у PIC?
leshik Пост: 288486 От 08.Feb.2011 (10:59)
как с этим обстоят дела у PIC?
Проверь- нужен внешний тактовый генератор и простая программка-
выдать нолик на выходе. Этот выход сбрасывает проц, и начинает все сначала.
Время между этими импульсами будет плавать- это и есть непонятная работа автомата для программирования.
Этого автомата нет у одноразово прошиваемых процев.
Такие есть в ПИКах, а у Атмела есть серия которая имеет только высоковольтное программирование.
Dedivan проверить не вопрос, я проверял на наших мкшках - исправно работают, а про PIC и AVR спрашиваю потому что нет у меня под них программатора, а Вы я вижу с этим уже игрались.
а у Атмела есть серия которая имеет только высоковольтное программирование
Естественно - нету.
Хотя все равно непонятно.
Есть начальный автомат, который при включении считывает регистры фузов,
выставлят по ним частоту внутреннего генератора, или внешнее тактирование, сторожевой таймер.... и прочее и после этого
запускает начало программы- устанавливает програмный счетчик в ноль
и разрешает на него тактовые импульсы.
Но работает это автомат строго отведенное число тактов.
А вот с определением режима внешнего программирования строго не получается.
Причем этот момент не описан в даташитах, типа ноухау.