Pull to refresh

Comments 66

Думаю хаб ненормальное программирование был бы тут к месту!
Вот это я понимаю — настоящий программист!
Занятно, тоже делал такое, но для PIC'ов микрочиповских.
Хотел подколоть автора запросив видео, но когда увидел, что оно есть очень сильно его (автора) заувожал. Сюжет для неплохого техно-кино (добавить сцену падения самолета и спасения программиста)
увожил-увожил, конечно
Ага, новый сериал снимут с авиакрушением на острове: «Lost Programmer»… :)
Я одному студенту задачу дал, прошить много PIC по аналогичной системе, в качестве наказания за прогул лекций. Принес через 2 дня, все полностью и правильно рабочие! Этот засранец их через Arduino «шил»!
Прошивка состояла из повторяющихся строк «я больше не буду забивать лекции»?
)) Все должны быть разные, тк это заготовки для лаб.
Вспомнились журналы радио, где простынями на несколько страниц был напечатан код из единиц и нулей. Вооружившись линейкой и карандашиком вбивали прошивку в ручную. Вероятность ошибки ввода была весьма высока, но самое страшное если была опечатка в самом журнале.
Все-таки тогда были в ходу программаторы: клавиатура + пара регистров (иногда еще индикатор) позволяли вбивать прошивку сразу в хексах, что было гораздо быстрее и проще, чем по одному биту.
Так-то оно да, быстрее.
Но и набивать нужно было, как правило, существенно больше пары-тройки машинных слов…

Помню, из книжки с хексов набирал CP/M.
На несчастных 8 килобайт ушло несколько недель.
Приходилось набивать программы для спектрума с подшивок ZX-ревю.
Но там было проще: в каждой строке (или блоке, забыл уже) проверялась контрольная сумма, и найти ошибки было элементарно. Но убогие ксерокопии иногда просто не позволяли прочитать символ, приходилось методом тыка перебирать…
UFO just landed and posted this here
А там не шестнадцатериные ли коды были?
Самому довелось так 8Кб интерпретатора BASIC набирать. И там поблочные контрольные суммы имелись.
Не, там колонка с контрольной суммой вроде была…
Не всегда. Такая колонка появилась немного позднее. Если не ошибаюсь, надо было сделать фиктивную запись на магнитофон и посмотреть контрольную сумму для всей программы. Обычно последние коды подбирались так, чтобы контрольная сумма была равна нулю.
Отдельный топик — программирование азбукой морзе
В молодости прошивал 573РФ2 при помощи кучи выключателей с адресом, переключателей с данными и кнопкой «Запись»
Интересное было занятие на внимательность!

При ошибке привязывал ПЗУ на метровую палочку и шел к знакомому сварщику. Подержишь несколько минут окошко к месту сварки — проверишь. Если все стерлось, значит можно по новой программировать.
Вот такие технологии были на необитаемом острове под названием СССР.
Да ладно, все так шили. Не только у нас, но и у них.
Насчет так шили, то да, у всех так было.

Интересно было стирать ульрафиолетом от электросварки, сам это придумал.
Главное в этом процессе поймать баланс, чтобы информация стерлась и кристалл не получил большого облучения, иначе ресурс по количеству записей резко уменьшится, а их и так было немного совсем.
Получалось как при радиации — не нахватать лишней дозы.
Лампу ультрафиолетовую тогда так и не приобрел, а разбивать ДРЛ тоже не стал.
Так и прошел этот период рядом со сварщиком.
А я к медикам на кварцевание кабинетов носил. Сварщиков по близости не было, а медики знакомые были.
К медикам, это хорошо!
У них кроме кварцевой лампы были иглы от шприца — для рисования плат,
таблетки аспирина — для очистки изоляции эмалированных проводов,
спирт — очистка плат и приготовления спирто-канифольного флюса.
Наверняка еще что-то можно вспомнить.
Скальпель же! Универсальный инструмент по сути. И зажимы хирургические — для монтажа удобнее пинцетов во много раз.
Точно, про скальпель забыл, очень многие радиолюбители его использовали.
У меня вместо него применялось заточенное ножовочное полотно.
Пинцет еще был очень удобный, почему-то он назывался медицинским. Наверное и был оттуда.
А вот зажимом хирургическим не удалось попользоваться, но в других руках видел, хозяин сего приспособления был доволен.
Груша медицинская до сих пор в ходу — ей удобно выдувать пыль из всех щелей и высасывать воду с ковриков в машине.
Зубными бормашинками сверлили платы.
UFO just landed and posted this here
Жаль сейчас на одноразовые перешли.
Старый добрый массивный многоразовый труднее найти стало.
У меня осталось несколько штук.
Стекло выбиваешь, волоски-паутинки от кристалла удаляешь, чтобы каждая ножка «висела», а затем к ножкам короткими проволочками припаиваешь современный контроллер в исполнении SO.
Получается наездник «новый на старом».
Решение использую для написания программ на этапе отладки, так как программатор ChipProg, а переходники отсутствуют.
Старые РФ-ки можно использовать для изготовления переходника к программатору для внутрисхемного программирования.
UFO just landed and posted this here
Понравилась фраза «толпа РФ», вначале прочитал как Российская Федерация.

Да я знаю про технологии, которые были в СССР, очень отличные технологии! Участвовал в программе «Буран», так что повидал многое.
Но с одной стороны был Буран, а с другой пришлось делать прибор, который проверял логические микросхемы при покупке на рынке! Был большой процент брака и обидно, когда потратишь целый день на покупку микросхемы, а дома убеждаешься, что она неисправна. Поэтому проверял, не отходя от кассы.
Видимо их таскали с завода до контроля ОТК, или брали из кучи бракованных.
Лампу тоже можно было сделать, но массово не работали. Синклеры, АОНы да звоночки музыкальные для себя делали.
UFO just landed and posted this here
Рынок был основным поставщиком деталей, больше брать было негде, если не считать радиосвалки, разобранные телевизоры и дядю, продающего детали из-под полы, как в фильме «Иван Васильевич меняет профессию».
Одним словом — необитаемый остров, как в теме автора.
Да и рынки гоняли с места на место, прекрасно помню этапы его становления в Москве: Детский мир, магазин Пионер, ..., и далее, вплоть до Митинского. Как толпы радиолюбителей ездили в метро до Белорусской, чтобы прокатившись полчаса на электричке, добраться до очередного временно разрешенного места.

Мне показалось, что основная мысль рассказа была не только показать основы программирования, а также то, что инженер должен использовать любую возможность и способ, чтобы найти выход из сложившейся ситуации.
UFO just landed and posted this here
Конечно, ситуация описанная в рассказе в жизни не произойдет, но я считаю, что автор нашел красивый способ для подачи основ программирования.
Программно-фантастический рассказ, который вызвал большой отклик у жителей острова Хабра.
Благодаря таким топикам, хабр все еще торт.
Добавление устройства для чтения перфолент могло бы упростить задачу ввода большого объема данных в контроллер. Нужно лишь фотодиод найти, а ленту и вручную протягивать можно.
А зачем фотодиод, можно и железный контакт сунуть же, ну и вроде раньше слышал как то спиливали транзисторы дабы этот светодиод получить.
Да обычный транзистор в металлическом корпусе верхнюю крышку спиливаешь и все. Сам по себе P-N переход светочувствительный.
Не на всяком необитаемом острове есть транзисторы, как и фотодиоды. А вот железный контакт — это может прокатить.
Конечно, я не про необитаемый остров, а на конкретный вопрос про фотоприемник ответил.
C тактовыми кнопками вместо RS-триггера можно использовать одновибратор:
Вот так
На счет дребезга — более простое, хотя и менее качественное решение, — подключить параллельно кнопке емкость. Как правило для МК этого бывает достаточно.
низзя так делать
там через контакты кнопки бешеные токи текут
и всплески напряжения превышающие максимум рейтинги

блин, а я тут все выходные дебаунсил геркон. в итоге сделал программную маску на 400-500мс, потому что хардовый дебаунс прекрасно выглядел на экране осцилла, но все равно было многократное срабатывание. Я так и не понял почему. Дело осложнялось тем, что геркон стоит в счетчике горячей воды. Т.е. чтобы нормально потестить, надо во-первых ждать, а во-вторых сливать в канализацию недешевую горячую воду. Плюнул.
И что страшного может произойти из-за емкости?
Спасибо за ссылку.
Тем не менее, хотя я и не агитирую именно за аппаратный дебаунс, но он имеет право на существование. Для чувствительных контактов (случай описанный в статье) вводят резистор.
Собственно, описание в контр-статье :)
www.labbookpages.co.uk/electronics/debounce.html
Вот там не зря стоит буффер после всей этой лабуды. Потому что 100кОм пуллап + серийный резистор создают неплохой такой делитель напряжения вместе с входным напряжением МК. В итоге при разомкнутом контакте на входе МК без буффера имеем вместо VDD какой-нить VDD/2.

Я не то что думаю что он «имеет право на существование», я думаю, что в немаленьком количестве проектов это вообще маст.
«Сам по себе процесс сборки был весьма поучитель-
ным, он содержал в себе курс по цифровой логике, ис-
кусству пайки, а также дух новизны. Проблема была в
том, что даже если вам удавалось собрать компьютер,
то все что вы имели в результате представяло собой
коробку с мигающими светодиодами и с 256 байтами
памяти. Программа в нем размещалась только после
того, как вы вводили восьмиричные числа при помо-
щи крохотных тумблеров, которыми легко можно было
сломать ногти, а в случае проблемы, о ней можно бы-
ло узнать только по перемигиванию светодиодов, ко-
торые также выводили информацию в восьмиричном
виде. Но, какая, к черту, разница, как это приходилось
делать? Это было начало начал, и это был компьютер.»
С.Леви. «Хакеры — герои компьютерной революции»
Круто! Ещё можно пищалки добавить при нажатии на клавиши, получится музыка.
Так можно почти любой синхронный протокол реализовать — I2C будет чуть веселее.
Благодаря таким топикам несмотря на все еще веришь в наше будущее. Автору спасибо.
Собственно, эта картинка и стала источником идеи к написанию статьи.
Эххх. Вот такие люди как автор могут из умывальника, мотка проволоки и магнита собрать какую-нть фазер-мазер-пушку… Завидую :)
Тему надо назвать «SPI с ручным приводом».
Хорошо не с педальным :)
классно:) пожалуй, добавлю в избранное)
Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymore, needless to say, is a Real Programmer.

© Real Programmers Don't Use Pascal
Найти бы еще способ, чтобы на необитаемом острове в описанной ситуации, прочитать этот топик из закладок.
главное — правильно преподнести — перевод странички SPI Serial Programming из даташита) Молодец — разобрался, можешь теперь свой программатор сделать
Программирование побитово? Ух ты, я серьезно с детства, как только узнал о битах/байтах, мечтал увидеть, в чем это действительно заключается при программировании. Не пришлось как-то до сих пор.
Огромное спасибо за статью!
Спасибо! Очень наглядно. Если кто не понимал, как устроен SPI — то сейчас вопросов не осталось бы никаких.
Шикарно, просто шикарно… Спасибо автор.
Где эта статья была, когда я пытался делать свой программатор…
Sign up to leave a comment.

Articles