Есть интересный прибор, под названием "Устройство концентрации данных", с предустановленным линуксом (урезанным по самые помидоры) на борту, и неким набором софта, который работает не так как надо (вообще не работает).
Устройство размещается на подстанции и подключается к силовой линии, после чего посредством связи через PLC модем опрашивает счетчики электроэнергии.
Все это было сделано некими аутсорс-индусами, которые ничего не довели до ума, и по факту получили неработающую платформу сбора данных (и полтыщи вот таких железяк). В дополнение к этому не было получено никакой документации или схем.
Сейчас стоит задача примерно такая - сделать рабочую систему по сбору данных, и сделать так, чтобы она поддерживала мониторинг и удаленное управление. Первым этапом - нужно поставить полноценный линукс для arm.
Разобрав его, внутри обнаруживается чудная штука, а именно 2 платы, 1 плата - сам одноплатный компьютер с (слева направо) 2*100мбит сетевухами, 1 usb, 1 rs232 и разъемом под собственные модемы. (чудной гребенкой справа - соединяются платы между собой, да, корпус не экранирован и да, гребенка открытая

)
2 плата - непосредственно плата питания и plc-модем.
Первостепенная задача - это заставить одноплатник загружаться с внешней флешки, с полноценным линуксом (слакварь, дебиан, без разницы).
Одноплатник построен на базе Freescale imx258(arm926ej-s, armv5te), 128ram и 256mb flash.
Код
#uname -a
Linux Energy-Gateway-35 2.6.26-394-gf56b72e #1 PREEMPT Fri Nov 22 15:24:06 CET 2013 armv5tejl unknown
Есть подозрения, что flash глючит, в консоли вылетают crc-ошибки, и концентратор периодами зависает.
Код
init stage1 done, moving to stage2
JFFS2 doesn't use OOB.
Empty flash at 0x00001720 ends at 0x00001800
JFFS2 doesn't use OOB.
jffs2_scan_inode_node(): CRC failed on node at 0x000617f4: Read 0xffffffff, calculated 0x1490a44b
Empty flash at 0x00061854 ends at 0x00062000
JFFS2 doesn't use OOB.
JFFS2 doesn't use OOB.
Поэтому было принято решение поставить линукс на заведомо рабочую usb-flash и заставить устройство грузиться с него. В качестве образа был выбран пока arch arm linux для armv5te. Но железка упорно отказывается грузится с него.
Судя по документации на проц - он поддерживает загрузку как с внутренней памяти, так и с внешней по usb.
Для выбора режима загрузки используются "boot_pins"
Цитата
BMOD
[1:0] Boot Type
00 Internal Boot
01 FSL Test Mode
10 External (Direct) Boot
11 USB/UART Boot Loader
Режим выставляется пинами, а конкретно W20 и V19, но как это сделать, не могу их найти разведенными на плате, надеюсь более опытные коллеги подскажут направление в котором надо рыть дальше.
bootimx25.pdf ( 109.71 килобайт )
Кол-во скачиваний: 94