Содержание драгоценных металлов в CD-ROM
В таблице указано точное количество драгоценных металлов в граммах на 1 единицу изделия:
Золото (Au) | Серебро (Ag) | Платина (Pt) | Палладий (Pd) |
0,00856 | 0,01882 | 0 | 0,0074 |
CD-ROM содержит в себе 0,00856 г. Золота , 0,01882 г. Серебра , 0,0074 г. Палладия.
Учитывая Курс драгоценных металлов рассчитаем примерную стоимость. Умножаем количество содержания ценных металлов на актуальный курс валют.
Ориентировачная стоимость= 0,00856г*4454.75руб. + 0,01882г*50.46руб. + 0,0074г*3447.44руб.= 64.59 руб.
Если вы собираетесь сдать радиодеталь содержащую драгоценные металлы, учитывайте, что скупщики приобретут у Вас деталь не по цене биржи, а с учетом всех расходов на утилизацию и транспортировку деталей.
А это примерно 20%-30% от стоимости детали. Т.е. фактически Накопитель CD-ROM у Вас выкупят за 12.92 руб.
Также в зависимости от региона цены будут отличаться. Детали которые вы сдадите приемщикам радиодеталей, отправляются на заводы по переработке. Так как заводы есть не в каждом регионе, скупщику необходимо учесть расходы на логистику.
Накопитель CD-ROM ориентировачно стоит на вторичном рынке радиодеталей 64.59 руб. (прямой расчет по бирже ценных металлов).
Скупщики выкупят у Вас Накопитель CD-ROM примерно за 12.92 — 19.38 руб. (примерная стоимость скупки).
Курсы драгоценных металлов по ЦБ РФ на 04.03.2023, в руб.
Золото (Au) | Серебро (Ag) | Платина (Pt) | Палладий (Pd) |
4454.75 | 50.46 | 2312.04 | 3447.44 |
Вот такими не хитрыми способами мы с Вами вычислили сколько стоит CD-ROM в пересчете на драгоценные металлы.
Кто знает, может именно в вашем гараже или подвале запылился какой-нибудь денежный хлам 🙂
Что можно полезного извлечь из CD\DVD рома радиолюбителю?
«Много полезных штук. Как и куда их применить смотрите в интернете, есть куча видео».
Расскажи другу, что существуют штативы, для съемки видео.
А то он как однорукий бандит.
Бля у меня башка закружилась пока смотрел,ну нахер так вообще снимать
OldStuff — Sinclair flat-screen pocket TV c CRT экраном в 2 дюйма 1983 года
Забавный, и в некоторой мере инновационный гаджет выпустил Синклер в 83 году
Обзор от русского ютубера Sinc Lair
СЕГА МАСТЕР СИСТЕМ 8 БИТ + ЧБ СИНКЛАР ФЛАТСКРИН ПОКЕТ ТВ
ИДЕАЛЬНОЕ СОЧЕТАНИЕ ОЛДСТАФФА
Еще фото кинескопа:
Вот такой гаджет я хотел бы в коллекцию)
В копилку доморощенного мастера №2 — Формы для коннекторов
Очень много времени прошло с момента публикации поста «В копилку доморощенного мастера. Литейная форма для штекеров ноутбучных БП» и все потому что я ленивая задница не имел времени.
Но вчера я зарегистрировался на Thinkiverse, и выложил несколько своих моделей. Большой отклик вызвала именно модель литейной формы для штекера ноутбучного БП, посему я решил доделать начатое и сделал на все мне известные круглые штекеры а также на коннектор RJ45 и 3.5 jack папа и мама
Вот список всех форм что есть на данные момент:
Коннектор прямой ноутбучный Ø5.5 mm
Как пользоваться этими формами:
1 — Прежде всего распечатать толщина слоя от 0,05 мм до 0,1 мм сопло 0,5мм (ну или на чпу фрезере с метала выточить)
2 — Спаять коннектор с проводами по схеме питания вашего ноутбука
3 — Смазать формы вазелином или чистым моторным маслом
4 — Вложить спаянный коннектор в одну часть формы, накрыть второй
5 — перетянуть резинкой для банкнот или обвязать ниткой чтобы не раскрывалась
6 — прогреть клеевый пистолет
7 — с помощью пистолета экструдировать горячий клей в литейники
8 — дать остыть минут 20-30
9 — Разобрать форму и достать закорпусенный коннектор, протереть от вазелина или масла моющим средством для посуды
10 — пользуйтесь
Заливать можете даже жидкой резиной с затвердителем.
Эксплуатация коннекторов с покрытием из горячего клея (в простонародии силикон) показала себя отлично. При нагревании от вентилятора ноутбука клей не потек хотя больших температур от него не поступало)
И если кому то интересная статистика по Thinkiverse:
За вчера — 422 просмотра и 40 загрузок
за сегодня (на момент написания поста) — 1202 просмотра 250 загрузок
Ну и в общем:
Просмотры: выше 1K
Добавлений в коллекции: 100
Как то так) Надеюсь и вам, дорогие друзья пикабутяне, мой небольшой труд будет полезным
UPD: Ребята если Вы из Украины и хотите эти формы, но у Вас нет 3D принтера — Пишите мне на вайбер +38ч098ч269ч0ч686 напечатаю Вам в свободное от заказов время по себе стоимости — главное напишите что вы с Пикабу. Мне не жалко напечатать пару штук для пикабушников по себестоимости, а вам большая экономия. (В себестоимость входит: Стоимость пластика, цена за электричество, амортизация)
Какая память была у первых компьютеров?
TRU Проэктор из планшета — осторожно ТехноПрон!
Необычный индикатор HDSP2113
Продолжение прокачки NES Classic Mini от Cluster
В копилку доморощенного мастера. Литейная форма для штекеров ноутбучных БП
Всем привет. Давно я уже не постил ничего годного — я просто ленивая жопа не хватало времени. Но вот на днях нужно было переделать ноутбучный БП с разъёма от гнусмаса Samsung на Asus.
Купили значит на радио рынке штекер. Но качество его просто ужас.
Смотрите сами(у меня был такой же):
Вот такого типа был тот штекер. Кто ставил их, знает что это ещё то дерьмо.
И я решил закорпусить его в силикон, сам металлический штекер оставить, пластик заводской в топку.
Благо теперь у нас есть 3Д принтер.
Фоток как печатал и разрабатывал нет. Сори. Да и кому они «нннада»?
Замерял я оригинальный резиновый корпус штекера и принялся моделировать. Сначала сделал сам штекер, потом из него формы. Вот что вышло
После чего закинул в Куру (Cura 15.04.6RU)
120 слоёв.
Толщина слоя 0.1мм.
Сопло 0.5мм
Заполнение 40%
Пластик ABS
Обдув выключен.
Печатало 1 час 55 минут. Обошлась форма в
5 гривен (с учётом света) или же 10.70 рублей.
После того как напечатало форму, я ёё смазал вазелином, вложил заранее перепаянный штекер (для ноута ASUS) и скрепил две части вместе. Обмотав банковскими резинками для денег. Залил через ОТВЕРСТИЯ горячий силикон из клеевого пистолета. Оставил остывать на час.
Вот что вышло:
Качеством и я и клиент остались довольны.
В общем, друзья, если вам нужна такая литейная форма — скачивайте
Форма рассчитана на штекеры диаметром 5.5 мм
Ссылка на скачку формы — https://drive.google.com/open?id=0B35toAmhEIDNMjREMDhfOGdNYW.
@gepka, думаю, тебе, сие полезно будет)
Как рассмотреть маркировку микросхем? Заметки начинающему радиолюбителю №1
Если у Вас тоже возникали проблемы с рассмотрением маркировки микросхем или других электронных компонентов с лазерной гравировкой маркировки, тогда этот пост — для Вас.
Этот способ весьма дешёвый и эффективный
Ниже пример микросхемы в корпусе SO-8 с лазерной гравировкой. Рассмотреть можно — но трудно. Сейчас мы сделаем маркировку более чёткой
Для этого вам понадобиться корректор
И пинцет. Также нужна коробка спичек. Любых, можно даже без спичек)
Захватываем микросхему пинцетом, чтобы было удобно и микросхема не двигалась по столу.
Наносим корректор. Чем больше тем дольше будет сохнуть. Я наношу небольшую капельку и пока он не засох размазываю соплом корректора по всей площи. Со временем вы поймёте сколько нужно корректора.
Получаем вот такой результат, теперь оставим сохнуть, или же приступаем к следующей микросхеме и проделываем с ней всё точно так же.
Когда наша(и) микросхема(ы) высохнут, приступ к зачистке лишнего корректора.
Возьмите микросхему ногтями двух пальцев.
И потрите о тёрку спичечного коробка.
Пока не получите такой результат. Видите? Уже можно разглядеть маркировку. Но она немного коричневая от тёрки.
Пальцем обтираем микросхему (можно палец смочить немного в воде)
И вуаля) Маркировка чётко видна на нашей микросхеме
Слева для сравнения не обработанная микросхема с лазерной гравировкой.
Справа та которую я покрасил корректором и зачистил тёркой от спичечного коробка.
Этот способ подойдёт тем начинающим радиолюбителям, которые в силу разных обстоятельств не могут (не желают) покупать электронные компоненты, а выпаивают их из плат (как я иногда делаю:-) )
Есть ещё один способ — это нанести на палец немного термопасты белого цвета и потереть микросхему или любой другой электронный компонент с лазерной гравировкой. Но он по моему мнению — дороже.
P.S. Друзья, технобратья! Давайте делится своими маленькими хитростями в нашем любимом деле. Но соблюдайте нумерацию, этот пост №1, следующий значит должен быть под №2 и так далее всегда проверяйте номер последней заметки начинающему радиолюбителю.
Так же в конце названия поста добавте «Заметки начинающему радиолюбителю №. » и используйте тег #ЗНРадиолюбителю
Самодельный станок-расстановщик SMD компонентов на платы
Попалось это видео в новостях ВК, из группы «EasyElectronics — электроника для всех»
Разработка одноплатного компьютера с нуля. Пособие для начинающих
Я занимаюсь разработкой электроники. Начал сравнительно недавно — когда микроконтроллеры от Atmel стали известны благодаря платформе Arduino. Тогда меня это не особо заинтересовало — на тот момент я уже программировал их из AVR Studio, читал истории DiHalt и мечтал о разработке собственного автопилота. 3 курс, Новосибирск, НГУ — это было увлекательно…
Но я с интересом наблюдаю за развитием и ростом индустрии встраиваемых и портативных систем: появление RaspberryPI, многообразия SoC и плат на их основах, системы умного дома, интернет вещей, смартфоны с растущей вычислительной мощностью — все это фантастический простор для деятельности. Результатом наблюдения стало желание поучаствовать: попробовать себя в разработке простой платформы, с целью изучения и накопления опыта.
Проекты на микроконтроллерах мне порядком поднадоели — подводных граблей очень мало, ошибки допустить достаточно сложно, все запускается «из коробки» — ни гибкости, ни сложности. С системами на кристалле — SoC (System on Chip) до этого я дела особо не имел — разве что ядро собрать, да Debian запустить. Поэтому я решил запустить простенький SoC, а именно пройти путь от схемы до рабочего Linux на борту. Да, в последующем я буду не совсем корректно называть SoC процессором, надеюсь, никого это не смутит.
Выбор у меня был небольшой, и определялся сложностью изготовления платы — только выводные корпуса, никаких BGA, максимум четырехслойный дизайн, а все потому, что я собирался прилепить свою платку к одному сравнительно простому рабочему проекту. Еще это означало, что в последующем я получу с производства уже спаянную плату, готовую к экспериментам.
Проектирование
В результате обзора доступных SoC я остановил свой выбор на iMX233 от Freescale. Выводной корпус, 454 МГц, контроллер DDR памяти, интерфейс к карте памяти SD/MMC, отладочный порт — отличный набор новичка. В придачу — композитный видеовыход («тюльпан»), аудио вход/выход, SPI, I2C, UART, USB, LCD. Будет чем заняться на досуге.
После чтения статей о платформе BlackSwift в потенциальных кандидатах появился Qualcom Atheros AR9331, но смутило отсутствие подробной информации в открытом доступе. Жаль, занимательный кандидат.
Меня интересовала минимальная конфигурация, достаточная, чтобы запустить на ней Linux. Соответственно к процессору была выбрана микросхема памяти на 32 МБ (256 МБит) (по тому простому принципу, что она у нас была в наличии). На тот момент я еще не вычитал на десятках форумов о существовании сложностей с этим процессором, только изучил рекомендации производителя по трассировке и, довольный как слон, делал все по рекомендациям.
Вообще, процессор (или SoC, так правильнее) интереснее с той точки зрения, что при его запуске значительно дороже выходят ошибки проектирования. Например, некорректная разводка DDR памяти может выразиться как минимум в последующих ошибках чтения-записи, как максимум — в невозможности инициализации памяти вообще. Цепи питания процессора — ошибка сожжет процессор при первом включении, интерфейсы — потеря периферии на этих интерфейсах, и так далее.
Поэтому начинать проще с изучения готовых отладочных комплектов, например официальной платы и ее документации. Платы у меня не было, но документация доступна всем желающим. В придачу полезно изучить все инструкции по применению, почитать форумы (это уже жизненный опыт :)) — в общем, изучить всю доступную информацию о жертве. После изучения начинается механическая работа — нарисовать схему, а затем и плату. Четыре слоя, минимальная ширина проводника 0.2мм, зазора 0.2мм, отверстия 0.3мм.
Подключил все, что можно подключить безболезненно – аудио входы и выходы, вывел видеосигнал на контактные площадки, всякую простую периферию — микросхему памяти с I2C интерфейсом, еще одну с SPI, держатель для uSD карты, конфигурационные перемычки, обязательно отладочный порт, и потом на свободное место все что осталось. Плата получилась небольшая — 70х40мм, с минимумом компонентов. Для NAND памяти места не осталось, но я планировал запускаться с SD/MMC. Работы на одну ночь.
Получилось страшненько. Слева направо: верхний слой, два внутренних, нижний. Процессор на верхнем слое, память на нижнем; на каждый сигнальный проводник DDR интерфейса по одному переходному отверстию; длины проводников выровнены, их средняя длина в пределах рекомендуемой, полигон земли между процессором и памятью почти без разрывов, и т.д.
Итак, плата спроектирована, документация на нее оформлена, все это передано в производство, и можно начинать готовиться к поступлению плат с производства. Начинаю изучать материалы на предмет нюансов запуска процессора, и натыкаюсь на стостраничные форумы, с описанием проблем и сложностей в запуске.
Становится не по себе — проблемы у людей вплоть до третьей переработки платы, процессор не работает с некоторыми модулями памяти, встроенная подсистема питания очень нестабильна, процессор очень придирчив к питанию, errata (документ, описывающий ошибки на процессор) на многие проблемы отвечает «ничем помочь не можем», софт в открытом доступе кривой, даже внутренний загрузчик нуждается в патче от производителя, в общем, проблемы намечаются серьезные. Выкачиваю BSP (board support package) от производителя — там каша из сотен скриптов и пакетов. Веселье начинается.
Спустя месяц приходят платы, и я начинаю эксперименты. Что-то в уголке подсознания всплывает, связанное с проблемами у монтажного производства.
SoC bringup
Прочь сомнения, подать питание!
И никаких признаков жизни. Это хорошо, хорошо потому, что без дыма. Подпаиваю кнопку «Power», смотрю осциллографом на ножку кварцевого резонатора, запускаю — есть генерация на кварце. 24 МГц, страшненькие, но есть. Щуп осциллографа с делителем, пассивный, спишем на него. «Дедушка старый, ему все равно»
Начинается самое интересное — bringup. Как этот термин лаконично перевести на русский в данном контексте? Попытка вдохнуть жизнь? Не звучит.
В процессоре есть свой первоначальный загрузчик, который при включении проверяет условия старта — откуда и что грузить. Он же отвечает на запросы по шине USB. Его можно сконфигурировать перемычками на плате, или однократно прошиваемой OTP-памятью. Если перемычки перепаять я еще смогу, то перепрошить неперепрошиваемое вряд ли. Распаиваю перемычки, подаю питание, и о чудо — с отладочного порта приходят первые байты данных! Это значит, что процессор доволен питанием, самые базовые его узлы запустились, и можно что-то делать дальше. Что значат эти коды, я узнал из кривоватого заголовочного файла, в виде PDF документа, с невнятными пояснениям, пропусками и за авторством huashan. Все ясно.
Хорошо, чтобы максимально оперативно работать с платой, оптимальнее будет подключить ее по проводам, и загружать исполняемый код по нажатию одной кнопки. Ок, подключаю по USB к компу. И ничего.
Никаких транзакций по шине USB, даже генерации на кварце. Плохо. Начинаю думать, изучаю плату, вспоминаю все тонкие моменты. Например, на этой плате рядом с процессором я поставил свой DC/DC преобразователь, с расчетом на питание какой-либо потребляющей нагрузки, подключил его к шине питания USB 5V, и ничем не нагрузил. Промеряю осциллографом — на входе 5 вольт, на выходе 5 вольт. Всплывают слова с производства, что-то по поводу резистора. Да, так и есть — в цепи обратной связи нет резистора. (- Капитан, капитан, якорь всплыл! — Хммм, скверная примета…)
Паяю резистор, и о чудо! Плата определяется по USB! До этого я смотрел на уровень напряжения шины питания — 5.1 вольт, никаких существенных помех, никаких пульсаций. Но процессору виднее. После запайки резистора заработал и DC/DC источник, пока без нагрузки, но, по крайней мере, перестал мешать процессору. Хорошо, что дальше.
Дальше надо разобраться с первоначальным запуском процессора и проверить работу DDR. Начинаю копать, и в процессе поисков собираю набор утилит и «бутлетов» — исходных кодов, позволяющих проинициализировать подсистемы питания, связку DDR контроллер-память и подготовить систему к дальнейшей работе. То, что надо — максимально простые исходники, с обилием индусского кода, но главное, они работают.
Утилиты позволяют загрузить эти бутлеты в память процессора и запустить их на исполнение. Все так сложно, потому что после включения встроенный загрузчик ничего не знает про внешнюю оперативную память, а поскольку нет памяти – некуда загружать, к примеру, ядро Linux. Получается цепочка из нескольких звеньев, где на каждом этапе выполняется незначительный шаг вперед.
Для подключения к последовательным портам, для реализации всяких внутрисхемных JTAG отладчиков, программаторов и аналогичных задач в другом проекте был реализован USB-UART мост на FT2232. Двухслойный дизайн, выведены оба порта на гребенку с шагом 2 мм. В этом проекте другая история – USB-UART мост + платка сбора данных размещается в центре основной платы, и конструктив прибора предполагает ее удаление.
Т.е. в прибор плата без дырки в центре встать просто не сможет. Мне показалось нерациональным выбрасывать текстолит, и я внес свои творческие правки – собственно вышеописанный мост USB-UART(поменьше), и контроллер (MSP430FR5738) с датчиком тока, напряжения, электромеханическим реле, источником тока и термометром. Вся эта «горячая» часть гальванически изолирована от интерфейса RS485 через пару ADuM1281 и развязанный DC/DC (на плате еще не установлен). В контроллере крутится Modbus стек, т.е. десяток таких плат можно объединить в сеть, завести данные с плат в SCADA систему, и автоматизировать произвольные процессы. В частности у нас эти платки будут использоваться для испытания приборов на -40/+60 в термокамере. Налепил их на проверяемый прибор, и сиди@наблюдай как меняются токи, напряжения и температуры на ответственных узлах.
Все эти платы проектировались параллельно, поэтому я сразу заложил идентичные размеры и возможности гибкого соединения. Не зря 🙂
Отлично, компилирую исходники, собираю этот конструктор, загружаю, и получаю первые строчки из отладочного порта! Подсистема питания запустилась!
Заглядываю в исходники инициализации памяти, разрешаю простейший тест, правлю ручками процедуру инициализации под мою конфигурацию платы, запускаю вновь:
Замечательно! Тест памяти пройден! Это очень хорошо, теперь туда можно загрузить что-то посерьезнее.
Посерьезнее у меня это U-Boot. Я знаком с этой системой, мне она кажется вполне адекватной и функциональной. Позволяет работать с периферией — актуальные версии работают с USB, SD/MMC, Ethernet, загружать образы c FAT/ext2 разделов, передавать управление, и главное — моргать светодиодиком — все то, что нужно для счастья и более гибкой отладки на первоначальном этапе.
Поэтому не долго думая выкачиваю актуальную версию из официального репозитория, беру самую близкую конфигурацию, компилирую, собираю с индусскими бутлетами в один файл, и загружаю в процессор:
PowerPrep start initialize power…
Battery Voltage = 1.74V
No battery or bad battery detected. Disabling battery voltage measurements.
EMI_CTRL 0x1C084040
FRAC 0x92926152
power 0x00820710
Frac 0x92926152
start change cpu freq
hbus 0x00000003
cpu 0x00010002
start memory test, at 0x40000000
end memory test, at 0x41FFFFFCU-Boot 2015.04-rc3-00209-ga74ef40 (Mar 16 2015 — 12:47:34)CPU: Freescale i.MX23 rev1.4 at 227 MHz
BOOT: USB
DRAM: 32 MiB
MMC: MXS MMC: 0
MMC0: Bus busy timeout!
MMC0: Bus busy timeout!
MMC0: Bus busy timeout!
MMC0: Bus busy timeout!
Card did not respond to voltage select!
MMC init failed
Using default environmentIn: serial
Out: serial
Err: serial
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
=>
И U-Boot запустился! Отлично, но плата запускается все еще по проводам. Надо разбираться с картой памяти. Хорошо, перепаиваю резисторы выбора загрузки, втыкаю карту — в терминале от процессора приходит ошибка. Вытаскиваю карту — другая. Вот это поворот! ©
SD/MMC
Начинаю искать, поиски выводят на русскоязычный форум, на полезные и интересные 380 страниц обсуждения. Боюсь, ребята до сих пор вспоминают этот SoC крепким словцом.
Выясняется, что для загрузки с SD/MMC карты нужно обязательно прошить OTP биты, тогда еще что-то может быть и получится. В частности надо перенастроить в регистре OTP Register: 24 биты SD MBR Boot[3] — прошить в единицу, и SD_POWER_GATE_GPIO[21:20] — выбрать NO_GATE — в моем дизайне управление питанием карточки не предусмотрено.
«Неудобненько как-то получается». Это означает, что нельзя сделать загрузочную карту памяти, которой можно будет прошивать готовые приборы в партии, вместо этого придется подключать каждый прибор, и вручную прошивать эти злосчастные OTP биты. Разумеется, этот процессор я не буду использовать в сколько-нибудь серьезном проекте, но про такой момент забывать не стоит. Скачиваю виндовую утилитку, прошиваю эти биты, вставляю карту памяти, аккумулятор… Система стартует, и циклически перезагружается. Блин!
PowerPrep start initialize power…
Battery Voltage = 3.75V
Boot from battery. 5v input not detected
PowerPrep start initialize power…
Battery Voltage = 3.75V
Boot from battery. 5v input not detectedPowerPrep start initialize power…
Battery Voltage = 3.75V
Boot from battery. 5v input not detected
.
Правлю исходники бутлетов, в частности добавлю дополнительные отладочные сообщения, и выхожу на проблемный участок кода:
PowerPrep start initialize power…
Battery Voltage = 3.75V
Boot from battery. 5v input not detected
Try poweron_pll
Try turnon_mem_rail
Падает при подаче питания на DDR память. Хм. Где-то я уже читал об этом. А как до этого работало? Ладно, нестабильность найдена, надо разбираться.
Вокруг микросхемы памяти расположены ее законные развязывающие конденсаторы, 8 шт. по 100 nF. Но на выходе встроенного в SoC источника питания для памяти я поставил 2×10 uF, хотя производителем рекомендовано всего 1uF (инструкции читаю, если ничего другое уже не помогает, да). Ломать, не строить: отпаиваю один конденсатор, подключаю аккумулятор, и система стартует!
На самом первом фото виден этот конденсатор — вокруг него грязь, и он припаян только одним контактом.
PowerPrep start initialize power…
Battery Voltage = 3.75V
Boot from battery. 5v input not detected
Try poweron_pll
Try turnon_mem_rail
Try init_clock
EMI_CTRL 0x1C084040
FRAC 0x92926192
Try init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
initcall: 3e09f908 (relocated to 40002908)
initcall: 3e0a013c (relocated to 4000313c)
initcall: 3e0a2ec0 (relocated to 40005ec0)
initcall: 3e0a2ea8 (relocated to 40005ea8)
initcall: 3e0a2e88 (relocated to 40005e88)
initcall: 3e0a2e68 (relocated to 40005e68)
Net: Net Initialization Skipped
No ethernet found.
initcall: 3e0a2e5c (relocated to 40005e5c)
Initial value for argc=3
Final value for argc=3
### main_loop entered: bootdelay=3
### main_loop: bootcmd=«mmc dev $
Hit any key to stop autoboot: 0
=>
=>
Хе-хе, работает! Ок, запишу этот факт как причину потенциальных нестабильностей в будущем, ибо остался еще один 10uF, который тоже может усложнять жизнь. Теперь пробую с внешним питанием.
Теперь начались зависания. Более того, ситуация не регулярная, периодически проявляется при питании от аккумулятора, периодически от внешних 5В, периодически стартует и работает. Опять правлю код, отключаю переключение процессора на PLL, ядро остается работать на 24МГц. Все стабильно. Меняю делитель PLL, скручиваю частоту, и плата успешно запускается на 320 МГц. Надо попробовать рекомендацию производителя — конденсатор на 100 pF в цепи импульсного DC/DC. Место на печатной плате под конденсатор я заложил. Позже вернусь к этому вопросу.
Linux kernel
Итак, на текущий момент есть плата, стартующая с карты памяти, и загружающая U-Boot. Дальше по плану надо загружать ядро.
Выкачиваю актуальные исходники ядра с kernel.org, распаковываю и в три клика собираю ядро.
Вот эти три клика
При настройке ядра надо строго указать слияние ядра+dtb
Надо включить Kernel low-level debugging functions вместе с early printk
И еще enable dynamic printk() support
И еще видеоподсистему отключить
И еще половину лишних и не очень драйверов
И еще собрать dtb — device tree blob, структуру, описывающую ядру базовые вещи — количество памяти, периферию SoC, и т.д.
И собрать все это в один файл
После чего можно копировать ядро на флешь.
Запускаю, и получаю kernel panic. Логично, корневой файловой системы еще нет.
В качестве собственно операционной системы я выбираю Debian. По-моему, отличный дистрибутив — простой и надежный, как деревянная палка. Беру готовую сборку, распаковываю на раздел карточки, и указываю при загрузке ядра, где искать его законную корневую.
Дааа, есть над чем поработать.
Но, тем не менее, система работает, грузится с карточки памяти, размещается во всем диапазоне DDR памяти, и по праву может называться одноплатным компьютером! Это от схемы в голове до реализации в железе.
Итого, ошибок дизайна пока что не обнаружено, хотя нарекания уже есть. Что-ж, для начала, я считаю, достаточно.
Заключение
На самом деле это только начало. Еще есть над чем поработать — разобраться с периферией, в частности интересен аудио и видеовыход, протестировать SoC на штатных частотах, а еще лучше разогнать, измерить потребляемый ток, проверить при минусовых и плюсовых температурах (интересна устойчивость DDR контроллера), проверить на ресурсоемких задачах (например, видеотрансляция с веб камеры по USB WIFI), и в результате сделать на платке WiFi-управляемый танк с камерой и направленным микрофоном. Но не сейчас. Сейчас у меня есть деловое предложение 🙂