Как сделать сердце Железного Человека своими руками (40 фото). Одноплатные компьютеры своими руками
Разработка одноплатного компьютера с нуля. Пособие для начинающих / Хабр
Я занимаюсь разработкой электроники. Начал сравнительно недавно — когда микроконтроллеры от 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) от производителя — там каша из сотен скриптов и пакетов. Веселье начинается.
Спустя месяц приходят платы, и я начинаю эксперименты. Что-то в уголке подсознания всплывает, связанное с проблемами у монтажного производства.
ОтступлениеЭта система на кристалле приглянулась мне еще и тем, что несет на борту все необходимые для ее жизни регуляторы питания — как DC/DC (импульсные) так и LDO (линейные). В том числе и зарядное устройство для Li-Pol аккумулятора. Заводишь на SoC 5 вольт от USB — получаешь 1V8, 2V5, 3V3 и 4V2 на выходе. Что-то достается самому процессору, что-то уходит на память, можно аккумулятор подзарядить. Удобно. Можно сжечь все и сразу :)
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 мост + платка сбора данных размещается в центре основной платы, и конструктив прибора предполагает ее удаление.Все эти платы проектировались параллельно, поэтому я сразу заложил идентичные размеры и возможности гибкого соединения. Не зря :)
Отлично, компилирую исходники, собираю этот конструктор, загружаю, и получаю первые строчки из отладочного порта! Подсистема питания запустилась!
U-Boot
Посерьезнее у меня это 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 0x41FFFFFCCPU: 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 environment
In: 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 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 источника питания для памяти я поставил 2x10 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 0x00010001initcall: 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 ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else» Hit any key to stop autoboot: 0 => =>
Хе-хе, работает! Ок, запишу этот факт как причину потенциальных нестабильностей в будущем, ибо остался еще один 10uF, который тоже может усложнять жизнь. Теперь пробую с внешним питанием.PowerPrep start initialize power… Battery Voltage = 3.74V 5v source detected.Valid battery voltage detected.Booting from battery voltage source. Mar 18 2015 07:59:13 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 Теперь начались зависания. Более того, ситуация не регулярная, периодически проявляется при питании от аккумулятора, периодически от внешних 5В, периодически стартует и работает. Опять правлю код, отключаю переключение процессора на PLL, ядро остается работать на 24МГц. Все стабильно. Меняю делитель PLL, скручиваю частоту, и плата успешно запускается на 320 МГц. Надо попробовать рекомендацию производителя — конденсатор на 100 pF в цепи импульсного DC/DC. Место на печатной плате под конденсатор я заложил. Позже вернусь к этому вопросу.Linux kernel
Итак, на текущий момент есть плата, стартующая с карты памяти, и загружающая U-Boot. Дальше по плану надо загружать ядро.Выкачиваю актуальные исходники ядра с kernel.org, распаковываю и в три клика собираю ядро.
make ARCH=arm CROSS_COMPILE=${CC} mxs_defconfig make ARCH=arm CROSS_COMPILE=${CC} menuconfig make ARCH=arm CROSS_COMPILE=${CC} -j4 zImage modulesВот эти три кликаПри настройке ядра надо строго указать слияние ядра+dtbBoot options ---> Use appended device tree blob to zImage ----> Supplement the appended DTB with traditional ATAG information Надо включить Kernel low-level debugging functions вместе с early printk И еще enable dynamic printk() support И еще видеоподсистему отключить И еще половину лишних и не очень драйверовИ еще собрать dtb — device tree blob, структуру, описывающую ядру базовые вещи — количество памяти, периферию SoC, и т.д.
make ARCH=arm CROSS_COMPILE=${CC} imx23-olinuxino.dtb И собрать все это в один файл cat arch/arm/boot/zImage arch/arm/boot/dts/imx23-olinuxino.dtb > arch/arm/boot/zImage_dtb После чего можно копировать ядро на флешь.Запускаю, и получаю kernel panic. Логично, корневой файловой системы еще нет.
Debian
В качестве собственно операционной системы я выбираю Debian. По-моему, отличный дистрибутив — простой и надежный, как деревянная палка. Беру готовую сборку, распаковываю на раздел карточки, и указываю при загрузке ядра, где искать его законную корневую.Лог загрузкиPowerPrep start initialize power… Battery Voltage = 3.68V Boot from battery. 5v input not detected poweron_pll turnon_mem_rail init_clock EMI_CTRL 0x1C084040 FRAC 0x92925E92 init_ddr_mt46v16m16_96Mhz power 0x00820710 Frac 0x92925E92 start change cpu freq Try now hbus 0x00000003 cpu 0x00010001U-Boot 2015.04-rc3-00209-ga74ef40-dirty (Mar 18 2015 — 14:26:18)
CPU: Freescale i.MX23 rev1.4 at 320 MHz BOOT: USB DRAM: 32 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 2650994 bytes read in 906 ms (2.8 MiB/s) Kernel image @ 0x41000000 [ 0x000000 — 0x284e60 ]
Starting kernel…
Uncompressing Linux… done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.19.2 (freeman@freeman-PC) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 — Linaro GCC 4.5 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine model: i.MX23 Olinuxino Low Cost Board [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Memory: 18972K/32768K available (3475K kernel code, 244K rwdata, 1372K rodata, 188K init, 8096K bss, 13796K reserved, 0K cma-reserved) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector: 0xffff0000 — 0xffff1000 ( 4 kB) [ 0.000000] fixmap: 0xffc00000 — 0xfff00000 (3072 kB) [ 0.000000] vmalloc: 0xc2800000 — 0xff000000 ( 968 MB) [ 0.000000] lowmem: 0xc0000000 — 0xc2000000 ( 32 MB) [ 0.000000] modules: 0xbf000000 — 0xc0000000 ( 16 MB) [ 0.000000] .text: 0xc0008000 — 0xc04c42ac (4849 kB) [ 0.000000] .init: 0xc04c5000 — 0xc04f4000 ( 188 kB) [ 0.000000] .data: 0xc04f4000 — 0xc0531018 ( 245 kB) [ 0.000000] .bss: 0xc0531018 — 0xc0d19264 (8097 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836480000000ns [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] Lock dependency validator: Copyright © 2006 Red Hat, Inc., Ingo Molnar [ 0.000000]… MAX_LOCKDEP_SUBCLASSES: 8 [ 0.000000]… MAX_LOCK_DEPTH: 48 [ 0.000000]… MAX_LOCKDEP_KEYS: 8191 [ 0.000000]… CLASSHASH_SIZE: 4096 [ 0.000000]… MAX_LOCKDEP_ENTRIES: 32768 [ 0.000000]… MAX_LOCKDEP_CHAINS: 65536 [ 0.000000]… CHAINHASH_SIZE: 32768 [ 0.000000] memory used by lock dependency info: 5167 kB [ 0.000000] per task-struct memory footprint: 1152 bytes [ 0.060000] Calibrating delay loop… 159.12 BogoMIPS (lpj=795648) [ 0.070000] pid_max: default: 32768 minimum: 301 [ 0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.080000] CPU: Testing write buffer coherency: ok [ 0.080000] Setting up static identity map for 0x40353070 — 0x403530c8 [ 0.110000] devtmpfs: initialized [ 0.130000] pinctrl core: initialized pinctrl subsystem [ 0.180000] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.290000] Serial: AMBA PL011 UART driver [ 0.290000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 17, base_baud = 0) is a PL011 rev2 [ 0.480000] console [ttyAMA0] enabled [ 0.560000] mxs-dma 80004000.dma-apbh: initialized [ 0.590000] mxs-dma 80024000.dma-apbx: initialized [ 0.600000] SCSI subsystem initialized [ 0.610000] pps_core: LinuxPPS API ver. 1 registered [ 0.610000] pps_core: Software ver. 5.3.6 — Copyright 2005-2007 Rodolfo Giometti <[email protected]> [ 0.620000] Switched to clocksource mxs_timer [ 1.130000] futex hash table entries: 256 (order: 1, 11264 bytes) [ 1.290000] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 1.320000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 1.330000] io scheduler noop registered (default) [ 1.340000] of_dma_request_slave_channel: dma-names property of node '/apb@80000000/apbx@80040000/serial@80070000' missing or empty [ 1.360000] uart-pl011 80070000.serial: no DMA platform data [ 1.360000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 146, base_baud = 1500000) is a 8006c000.serial [ 1.380000] mxs-auart 8006c000.serial: Found APPUART 3.0.0 [ 1.410000] mousedev: PS/2 mouse device common for all mice [ 1.430000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0 [ 1.440000] i2c /dev entries driver [ 1.450000] stmp3xxx_rtc_wdt stmp3xxx_rtc_wdt: initialized watchdog with heartbeat 19s [ 1.460000] softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0) [ 1.470000] Driver 'mmcblk' needs updating — please use bus_type methods [ 1.480000] 80010000.ssp supply vmmc not found, using dummy regulator [ 1.540000] mxs-mmc 80010000.ssp: initialized [ 1.630000] mmc0: host does not support reading read-only switch, assuming write-enable [ 1.640000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 1970-01-01 00:27:21 UTC (1641) [ 1.660000] mmc0: new high speed SD card at address e624 [ 1.680000] mmcblk0: mmc0:e624 SU02G 1.84 GiB [ 1.730000] mmcblk0: p1 p2 p3 [ 1.740000] usb0_vbus: disabling [ 1.780000] EXT3-fs (mmcblk0p3): error: couldn't mount because of unsupported optional features (240) [ 1.800000] EXT2-fs (mmcblk0p3): error: couldn't mount because of unsupported optional features (240) [ 1.870000] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) [ 1.880000] VFS: Mounted root (ext4 filesystem) on device 179:3. [ 1.910000] devtmpfs: mounted [ 1.920000] Freeing unused kernel memory: 188K (c04c5000 — c04f4000) INIT: version 2.88 booting Using makefile-style concurrent boot in runlevel S. Starting the hotplug events dispatcher: udevdudevd[78]: error getting socket: Function not implemented
error initializing control socketudevd[78]: error initializing udevd socket failed! Setting the system clock. Activating swap...done. [ 6.410000] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) Checking root file system...fsck from util-linux-ng 2.17.2 rootfs: clean, 10152/115920 files, 89453/462839 blocks done. [ 6.870000] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) Setting the system clock. Cleaning up ifupdown… Setting up networking… Loading kernel modules...done. Activating lvm and md swap...done. Mounting local filesystems...done. Activating swapfile swap...done. Cleaning up temporary files… Setting kernel variables ...done. INIT: Entering runlevel: 2 Using makefile-style concurrent boot in runlevel 2. Starting NTP server: ntpd. Starting OpenBSD Secure Shell server: sshd.
Debian GNU/Linux 6.0 debian ttyAMA0
debian login: root Password: Last login: Thu Jan 1 02:00:41 EET 1970 on ttyAM0 Linux debian 3.19.2 #5 Thu Mar 19 10:58:08 EDT 2015 armv5tejl
The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@debian:~# root@debian:~# free total used free shared buffers cached Mem: 19160 18292 868 0 1496 9756 -/+ buffers/cache: 7040 12120 Swap: 0 0 0 root@debian:~# root@debian:~# cat /proc/cpuinfo processor: 0 model name: ARM926EJ-S rev 5 (v5l) BogoMIPS: 159.12 Features: swp half fastmult edsp java CPU implementer: 0x41 CPU architecture: 5TEJ CPU variant: 0x0 CPU part: 0x926 CPU revision: 5
Hardware: Freescale MXS (Device Tree) Revision: 0000 Serial: 0000000000000000 root@debian:~# root@debian:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 1789440 295900 1384592 18% / tmpfs 9580 0 9580 0% /lib/init/rw udev 10240 0 10240 0% /dev tmpfs 9580 0 9580 0% /dev/shm tmpfs 9580 0 9580 0% /var/volatile tmpfs 9580 0 9580 0% /media/ram root@debian:~# root@debian:~# mount rootfs on / type auto (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) tmpfs on /var/volatile type tmpfs (rw) tmpfs on /media/ram type tmpfs (rw)
Дааа, есть над чем поработать.Но, тем не менее, система работает, грузится с карточки памяти, размещается во всем диапазоне DDR памяти, и по праву может называться одноплатным компьютером! Это от схемы в голове до реализации в железе. Итого, ошибок дизайна пока что не обнаружено, хотя нарекания уже есть. Что-ж, для начала, я считаю, достаточно.
Заключение
На самом деле это только начало. Еще есть над чем поработать — разобраться с периферией, в частности интересен аудио и видеовыход, протестировать SoC на штатных частотах, а еще лучше разогнать, измерить потребляемый ток, проверить при минусовых и плюсовых температурах (интересна устойчивость DDR контроллера), проверить на ресурсоемких задачах (например, видеотрансляция с веб камеры по USB WIFI), и в результате сделать на платке WiFi-управляемый танк с камерой и направленным микрофоном. Но не сейчас. Сейчас у меня есть деловое предложение :)Есть три платы, которые я могу отдать. Все что нужно для получения — озвучить в комментариях идею, как можно применить получившуюся систему. Лучшие предложения получат по экземпляру даром, с надеждой, что вы реализуете свою идею, и расскажете, что у вас получилось. Раздачу слонов осуществлю 30 марта 2015 года, т.е. через неделю.
Для меня это будет обратной связью: мне нужно знать как поведет себя система в реальных условиях, насколько надежно себя покажет, какие проблемы возникнут, и т.д.
На этом пожалуй все, жду ваших комментариев.
UPD: по заявкам: первый экземпляр достается neochapay за идею с положительным рейтингом второй экземпляр уйдет r00tGER, третий REPISOT «Кто раньше встал, того и тапки».
habr.com
Гид по выбору платформы разработки / Амперка
Итак, у вас есть замысел проекта, но вы сомневаетесь, какую плату выбрать в качестве мозга устройства? Попробуем помочь вам определиться.
Если вы просто хотите освоить схемотехнику, программирование, Linux и конкретной цели кроме обучения пока нет, возможно лучшим выбором станет один из готовых обучающих наборов.
Но если вы уже освоились, и хотите сделать конкретный проект, этот гид поможет определиться с платформой для разработки и сделать взвешенный выбор.
Arduino или Raspberry Pi? Микроконтроллер или микрокомпьютер?
Все платы для разработки можно разбить на 2 большие категории:
Платы на микроконтроллере(MCU, MicroController Unit) | Одноплатные компьютеры(SoC, System on a Chip) |
Типичный представитель —Arduino Uno ![]() |
Типичный представитель —Raspberry Pi ![]() |
Микроконтроллеры могут одновременно исполнять всего одну задачу и отлично с этим справляются. А одноплатные компьютеры исполняют программы в рамках операционной системы (чаще всего Linux), обладают большей производительностью и широкими мультимедийными возможностями.
Существуют также гибридные платформы, где на одной плате расположен и микроконтроллер и процессор. Идея в том, чтобы оставить мощному процессору сложные задачи: выход в сеть, обработку медиа, а на микроконтроллер возложить функцию точного управления приводами, реле, сенсорами и другой периферией. Вы можете создать гибрид и сами, если возьмёте по одной плате из каждого семейства. У всех них найдутся общие интерфейсы, через которые можно организовать их взаимодействие.
И в одном и в другом лагере можно найти специализированные платы, которые сильно выделяются среди прочих какой-нибудь особенностью, но сравнить возможности среднестатистических микроконтроллеров и компьютеров поможет таблица.
1 ядро,десятки-сотни МГц,десятки КБ оперативки,десятки-сотни КБ постоянной памяти. | 1 или более ядер,сотни-тысячи МГц,сотни МБ оперативки,гигабайты постоянной памяти. |
Нет.Но можно эмулировать. | Да.Управляется ОС. |
★☆☆ Обычно нужны дополнительные модули и глубокое знание протоколов. |
★★★ Легко подключается из коробки, сетевой модуль обычно уже на борту. |
★★★ Потребляет единицы-десятки мА. Возможны недели работы от батареек. |
★☆☆ Потребляет сотни-тысячи мА. Заряда большого аккумулятора хватит от силы на десяток часов. |
★★★ 100% контроль над временем и длительностью подачи сигналов. |
★☆☆ Из-за многозадачности критический процесс может проспать своё время. |
★☆☆ Ограниченный. Чаще C/C++. |
★★★ Python, JavaScript, Bash и десяткии других: любые доступные в ОС. |
☆☆☆ Не хватит мощности. |
★★★ OpenCV, аппаратные видеокодеки, HDMI-выход. |
★★☆ На мощных микроконтроллерах возможен синтез звука. Для работы с MP3/OGG/WAV нужны дополнительные модули. |
★★★ Поддержка MP3/OGG/WAV на уровне ОС. Аудиовыход HDMI и/или разъём 3,5 мм. |
Итак, в зависимости от своей задачи вы определились нужен ли вам микроконтроллер или компьютер. Как решить какая именно плата подойдёт лучше всего?
Так как нет большого смысла сравнивать лицом к лицу микроконтроллеры и микрокомпьютеры, далее мы отдельно приведём преимущества и недостатки конкретных плат в рамках своего семейства.
Сравнение микроконтроллеров
Если рассматривать микроконтроллерные платы в отрыве от задач вашего проекта, сложно в двух словах объективно описать преимущества и недостатки разных платформ. То, что в общем является недостатком, в вашем устройстве может не играть роли и наоборот.
Мы попытались сравнить платы, отталкиваясь от возможностей флагманской DIY-платформы Arduino Uno, так как платы именно этого семейства дали невероятный пинок развитию хобби-электроники во всём мире. Разные компании выпускают модули, сенсоры, платформы, дополнения с шильдами «Arduino compatible», «Designed for Arduino» и т.д. За этими словами стоит электронная и программная совместимость в первую очередь с Arduino Uno, а уж затем со всем остальным.
Как правило, с помощью ухищрений или дополнительных компонентов можно подключить что угодно, к чему угодно. Но ведь вам хочется сосредоточиться на своём проекте, а не на борьбе с электроникой? Поэтому волей не волей хочется сравнить любую плату на микроконтроллере именно с Arduino Uno. Так и сделаем.
Arduino Uno














Сравнение одноплатных компьютеров
Законодателем моды среди одноплатных компьютеров является Raspberry Pi. Эта сверхпопулярная платформа в своё время перевернула представление о возможностях, габаритах и стоимости полноценного компьютера для DIY-электронщиков.
Опять же, для каждого проекта может лучше подойти тот или иной одноплатный компьютер, но в силу популярности Raspberry Pi, будем сравнивать другие платформы именно с ней.
Raspberry Pi 3 Model B

amperka.ru
Одноплатный компьютер: варианты использования
Raspberry Pi 3 Model B - это самый популярный одноплатный компьютер, построенный на базе 64-битного процессора ARM Cortex A53 с частотой 1,2 ГГц со встроенным модулем беспроводной связи Wi-Fi и Bluetooth.
Для чего нужен Raspberry Pi?
Благодаря небольшому размеру, малому энергопотреблению и наличию большой библиотеки программного обеспечения его можно использовать в различных проектах, например, при создании системы управления умным домом, домашнего кинотеатра или игровой консоли. Наиболее яркие проекты вы можете увидеть ниже:
Робот |
Умный дом |
Почему выбирают Raspberry Pi?
Тут все очень просто – Raspberry Pi стал самой продаваемой платформой из всех одноплатных компьютеров благодаря отличной цене, универсальности, открытости архитектуры, поддержке различных операционных систем и огромному сообществу, которое сложилось вокруг него.
С чем обязательно нужно покупать Raspberry Pi?
Для работы одноплатного компьютера Raspberry Pi 3 необходимо приобрести сетевой адаптер с разъемом Micro USB. Рекомендуется выбрать модель с силой тока не менее 2,1А при напряжении 5В. Кроме того, вам понадобится карта памяти microSD, на которой будет храниться операционная система, радиаторы охлаждения, а также корпус для защиты от ударов и статики. Для расширения возможностей компьютера можно воспользоваться датчиками, камерами, модулями расширения. В нашем ассортименте вы также сможете найти готовый стартовый набор на базе Raspberry Pi.
Если возникнут технические вопросы?
Raspberry Pi - один из немногих продуктов, который популярен подобно контроллеру Arduino, имеет огромное сообщество в интернете, где можно найти ответы на самые каверзные вопросы и поделиться своими идеями и разработками.
http://raspberrypi.ru http://raspberrypi.ru/forum/ https://vk.com/raspberrypi_ru
В таблице представлены наиболее интересные товары, которые выбирают наши покупатели:
Опубликовано: 11.04.2017
www.electronshik.ru
делаем сами » 24Gadget.Ru :: Гаджеты и технологии
Загрузка. Пожалуйста, подождите...











24gadget.ru
Pi-Top: компьютер своими руками
Вы можете приобрести набор деталей и собрать компьютер своими руками. Благодаря развитию технологий, в частности 3D-печати, это может быть полноценный ноутбук с экраном, клавиатурой и возможностью подключения периферийных устройств. Цена же такого устройства будет значительно ниже той, которую запрашивают за аналогичный товар «именитые» производители.
Набор для сборки ноутбука Pi-Top будет официально представлен в мае 2015 года, хотя продажи уже идут. Кампания по сбору средств для его производства была проведена на indiegogo.com и принесла проекту чуть более 130 тысяч долларов.
Для того чтобы получить этот компьютер, вам потребуется доступ к 3D-принтеру и набор для сборки стоимостью 290 долларов. В итоге у вас в руках окажется полноценный ноутбук с возможностью дальнейшей кастомизации и апгрейда. Авторы проекта надеются, что их компьютер будет полезен в первую очередь детям, которые смогут освоить как сборку устройства из комплектующих, так и работу с программным обеспечением и основы робототехники.
Основатели проекта — Райен Данвуди (Ryan Dunwoody), 23-летний выпускник Оксфорда и 27-летний Джесси Лозано (Jesse Lozano), юрист по образованию, самостоятельно освоивший программирование.
Джесси Лозано и Райен Данвуди — создатели Pi-Top«Вместо того чтобы использовать ноутбук как закрытое устройство, вы можете понять, как работает экран, как заряжается аккумулятор, как происходит переключение между аккумулятором и сетевым питанием, — рассказывает Данвуди. — Если что-то сломается, вы сможете это починить. Многие родители покупают наш компьютер для своих детей, так как видят в нём способ донести до ребёнка понимание технологий и устройств, которые мы используем ежедневно».
По словам Лозано, Pi-Top «предназначен для того, чтобы научить вас, как сделать другие вещи», позволяя экспериментировать с оборудованием. Он надеется, что компьютер будет использоваться в школах.
Основа компьютера Pi-Top — Raspberry Pi (Модель B+), одноплатный компьютер размером с банковскую карту. Корпус ноутбука необходимо напечатать самостоятельно, для этого в наборе имеются пластиковые «чернила» для 3D-принтера и файлы для печати. Сборка готового устройства предельно проста, человек с самыми минимальными техническими навыками, пользуясь инструкцией, соберёт Pi-Top за вечер. Кроме набора начального уровня, разработчики предлагают несколько плат расширения. Так, благодаря дополнительным модулям, Raspberry Pi может быть запрограммирован таким образом, что сможет служить центральным управляющим устройством для робота. Записав программу в Raspberry Pi, пользователь может достать его из корпуса ноутбука и поместить на шасси, которое можно также распечатать на 3D-принтере.
22century.ru
Что такое одноплатный компьютер и как его используют?
Чем SBC отличаются от обычных компьютеров?
Пожалуй, только названием. В то время, как типичные компьютеры диверсифицируют, используя несколько компонентов, подключенных к центральной плате через кабеля, одноплатный компьютер имеет свой микропроцессор со встроенной памятью на одной печатной плате.
Одноплатные компьютеры бывают различных размеров и способны охватывать различные области применения: некоторые совместимы с ПК и имеют совместимость с идентичным типом оборудования, в то время как другие могут иметь узкую специализацию. Некоторые модели одноплатных компьютеров поставляются со встроенными микроконтроллерами. Целый ряд одноплатных компьютеров представляют возможность для расширения заводских установок и реконфигурации, в тоже время - некоторые модели не предлагают никаких вариантов для модификации. В целом, большинство производителей подразумевает стартовый базис, который может быть изменен и дополнен.
Как используются SBC?
Как упоминалось ранее, одноплатные компьютеры имеют ряд приложений. Первый выпуск аналогичных моделей состоялся в 2000 году, а в последнее время такие модели стали набирать темпы в области развития. Они служат в качестве основы для множества проектов с открытым кодом, благодаря своей компактности и дешевизне.
Одноплатные компьютеры используются в сфере образования для преподавания информатики. Ну конечно, большая часть пользователей – это опытные программисты, которые не стали довольствоваться заводскими конфигурациями, а предпочитают самостоятельно приобретать комплектующие для компьютеров и создавать прогрессивные системы.
Как выбрать одноплатный компьютер?
Само собой разумеется, что ваш выбор SBC будет определяться областью применения. Тем не менее, есть несколько общих соображений, которые следует иметь в виду, если вы намерены приобрести такое устройство.
Мощность
Убедитесь, что характеристики SBC соответствуют вашим заявленным требованиям, а также следует обратить внимание на возможности куллера, которому предстоит защищать вашу систему от перегревов.
Память
Здесь главным критерием опять становятся ваши потребности. Первые устаревшие модели SBC поставлялись только с 512 Мб встроенной памяти, что казалось, совершенно разумным в то время. В наши дни, подобная система должна содержать, по крайней мере, 1 Гб оперативной памяти, а более продвинутые модели будут предлагать 32 ГБ.
Процессор
В настоящее время на рынке представлены три основных варианта: Intel, Power Architecture и ARM. Ваш выбор может руководствоваться требованиями памяти, предыдущим опытом работы с конкретным типом процессора и, конечно, требованиями.
Операционная Система
Типичные операционные системы, доступные на большинстве SBC, - Linux (самый популярный), INTEGRITY, Wind River VxWords, QNX, LynxOS и GreenHills. Большинство процессоров поддерживает Linux, меньшее число будут совместимы с VxWorks или другими инструментов проектирования, поэтому снизится возможность создания безопасных приложений.
Элемент I/O
SBC обеспечивает наличие необходимых элементы ввода/вывода, таких как Ethernet, USB, DIO и других. Если необходимые ввод/вывод не поддерживаются базовой SBC, вам следует узнать о дополнительной поддержки системы.
2ezone.ru
Одноплатный компьютер своими руками, ar9331 datasheet
Одноплатные компьютеры – устройства, которые собраны на одной лишь «материнке». На последней установлены все необходимые детали: микропроцессор, оперативная память, способы ввода данных и их вывода, другие модули, нужные для полноценной работы устройства. Зачастую одноплатные ПК используются (и, соответственно, разрабатываются) как демонстрационная система или же приспособление для образования. Нередко их применяют в промышленной сфере.
Если говорить о стандартных компьютерах типа «дектоп», то при сравнении с описываемым, последний не требует установки периферийных плат. В зависимости от модели, некоторые варианты выпускаются в виде небольшой «материнки», оснащенной памятью и процессором. Такую плату можно подключить к внутренней магистрали. Это позволит увеличить доступные характеристики, а также воспользоваться дополнительными разъемами.
Довольно часто требуется защита различных деталей. Необходимо, чтобы они компактно располагались рядом друг с другом. Именно поэтому стали популярными одноплатные компьютеры. Такое решение позволит сделать устройство небольшим по размеру и совсем недорогим. Но система на кристалле имеет и свои недостатки. Например, сменить процессор или увеличить память не получится, зачастую эти детали припаяны.
Аппаратные одноплатные платформы
Сравнение одноплатных компьютеров с аппаратными платформами поможет понять, чем отличаются устройства друг от друга. Нередко пользователи и потребители путают их между собой. Платформа – обычный микроконтроллер, который нельзя называть полноценным компьютером. На ней не установлена операционная система, поэтому пользователь не может взаимодействовать с устройством, как с обычным ПК.
Нередко аппаратные платформы используют для строения роботов, а также создания простых автоматических систем. По сути, главная задача подобного приспособления – управлять другими устройствами. Можно сказать, что аппаратная платформа – не более чем альтернатива одноплатной системы. Назвать их аналогами нельзя.
Для чего необходим одноплатный компьютер?
Некоторые пользователи почему-то считают, что одноплатный компьютер не способен выполнять многие функции. Однако его спектр решаемых задач велик. Такое устройство используют в компьютерах, роутерах и другой технике. На этом приспособлении можно с легкостью установить операционную систему Lunix. В таком случае одноплатное устройство будет выполнять практически все задачи: от поиска документов до прослушивания музыки. Если подобрать для себя модель подороже, то можно также просматривать видео качеством не более 1080р. Такие манипуляции производятся с привычным для потребителя интерфейсом. Недостатки можно выявить при работе с другими архитектурами. Зачастую приложения функционируют на ARM. Поэтому желательно подбирать плату именно с такой архитектурой.
Рассматривая подобные системы в узкой специализации, можно наткнуться на некоторые нюансы работы. Например, для того чтобы одноплатные компьютеры Raspberry превратить в роутер или модем, необходимо лишь установить соответствующую прошивку.
Мал золотник: что умеет компьютер за 35 долларов
Чаще всего этот процесс запрашивает минимальное вмешательство человека, являясь завершенными решениями. От владельца требуется лишь записать образ на карту памяти и правильно указать все необходимые настройки. Превратить одноплатный компьютер в роутер не единственное, что можно сделать. Для того чтобы дом стал «умным», понадобится лишь три-четыре системы. Конечно, придется немного дольше заниматься настройками, но уже сейчас существуют более менее готовые решения, которые практически не нужно редактировать.
Для тех, кто интересуется технической сферой, не секрет, что «Майкрософт» собралась выпускать специальное устройство. Сейчас большую популярность приобретает «интернет вещей». Разрабатываемые устройства работают на особых протоколах. Благодаря этому они смогут функционировать даже с обычными сотовыми телефонами. Если рассматривать эту возможность как развитие однопроцессорных компьютеров, то такое решение – прорыв. Ведь ранее управление осуществлялось через маршрутизатор. Сейчас последнее решение уже практически не используется. Проще работать, когда устройства обращаются друг к другу напрямую.
То, без чего не сможет существовать ни одна плата, порты входа и выхода – GPIO. Они позволяют моментально выключать лампочку после получения электронного сигнала. Стандартная модель оснащается 5-10 разъемами. При желании их количество можно расширить.
Raspberry Pi
Обзор одноплатных компьютеров следует начать с одной из самых популярных моделей – Raspberry Pi. Это устройство известно как «Малинка». Именно оно стало началом развития одноплатных компьютеров. Появилась модель в 2012 году и не все потребители адекватно оценивали ее способности и функционал. Для покупателей казалось это невозможным: целый компьютер, размер которого не превышает габариты кредитной карты, стоимость на него составляла $25. Работал на операционной системе Linux. Так или иначе, после релиза потребители стали потихоньку приобретать модель, тем самым сделав ее довольно популярной.
Из чего состоит Raspberry Pi?
По стандарту «Малинка» получила слот для карты памяти, разъем для питания, выходы для наушников, видео, USB, Ethernet, HDMI.
Помимо этого, встроены универсальные порты, позволяющие взаимодействовать с любыми другими устройствами.
Система продается в пяти различных конфигурациях. Наиболее простые модели – A. Они работают с 256 Мб ОЗУ. Используется ARMv6. Установлен один USB-порт. Модели с индексом B предлагают владельцу 512 Мб оперативной памяти. Имеются 2-4 порта USB и Ethernet. Модификация 2B работает с 4-ядерным процессором. Оперативная память составила 1 Гб. В продаже также имеются варианты с индексами A+, B+.
Цены на модели изменяются от $20 до $35.
Возможности Raspberry Pi
«Малинка» сильно распространена, именно поэтому к ней продается много различных дистрибутивов. Речь идет о софте, который, как правило, создается для работы с Linux.
Возможности устройства практически бесконечны. Одноплатный компьютер (x86 или x64) способен выполнять любую задачу. Основным нюансом является мощность процессора, от которой следует отталкиваться. К сожалению, он слабый во всех модификациях, кроме 2B. «Малинку» купить можно как в интернет-магазинах, так и в любых розничных точках продаж. В первую очередь, лучше приобрести именно 2B, если есть на то средства. Эта плата намного мощнее, имеет много портов. Разница в цене между моделями небольшая, а вот в совместимом софте – существенная.
Cubieboard
Модель Cubieboard получила GPIO, SATA, HDMI, USB, VGA, Ethernet, а также следующие разъемы: питания, оптического и стандартного аудиовыхода («мини-джек»).
Одноплатные компьютеры модели Cubieboard родом из Китая. Были созданы в 2012 году, однако первая модификация, мягко говоря, не удалась. Третья версия лучше всего себя проявила. В отличие от предыдущей «Малинки», плата имеет больше портов, встроены инфракрасный порт, «блютуз» и модуль беспроводной сети. Гаджет работает с 1/2 Гб оперативной памяти (в зависимости от модификации) на процессоре ARM Cortex-A7.
Дополнительная информация о модели
Одноплатные компьютеры этой модели работают тоже на базе Lunix. Производитель установил особенную версию, созданную собственноручно. В целом девайс отдаленно напоминает описанную ранее «Малинку». В некоторых нюансах она повторяет характеристики и иногда их расширяет. Цена немного выше: средняя стоимость $85.
BeagleBone
Модель появилась в 2013 году. Она получила разъем питания и другие стандартные порты. В своей линейке BeagleBone считается одной из самых мощных, если не лучшей. Разработчики решили уделить внимание большому количеству всех имеющихся портов. В продаже есть много интересных приспособлений. Работает плата на процессоре Cortex-A8, ядра которого функционируют с частотой 1 ГГц. Оперативная память составляет 512 Мб.
Дополнительные особенности
Как и другие вышеописанные одноплатные компьютеры, система работает на базе Linux. В заводской начинке производитель уже установил 2-4 Гб памяти. В некоторых модификациях встроен и дистрибутив Debian. За счет того, что имеется много портов, можно с легкостью подключать плату к любому устройству. Если использовать периферийные девайсы, то запросто возможности системы увеличатся в разы. Производитель сделал упор на дополнительные приспособления. Цена на само устройство $45.
Выводы
Сейчас мощные одноплатные компьютеры продаются в любой точке реализации. Ассортимент большой, иногда даже стирается понимание того, что собой представляет данное устройство. В статье описаны три наиболее популярные модели, которые пользуются огромным спросом и хорошо зарекомендовали себя. Какой вариант предпочесть, следует решать лишь самому покупателю. Одноплатные мини компьютеры – то, что сделает жизнь намного легче, поэтому стоит подойти к выбору осознанно.
rpilot62.ru