Нажмите для просмотра прикрепленного файла
Устройство размещается на подстанции и подключается к силовой линии, после чего посредством связи через 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
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.
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
[1:0] Boot Type
00 Internal Boot
01 FSL Test Mode
10 External (Direct) Boot
11 USB/UART Boot Loader
Режим выставляется пинами, а конкретно W20 и V19, но как это сделать, не могу их найти разведенными на плате, надеюсь более опытные коллеги подскажут направление в котором надо рыть дальше.
Нажмите для просмотра прикрепленного файла