Tenemos un SBC de la junta, en el estilo de la Leopardboard o Beagleboard, que se está portando mal. Se basa en la Leopardboard diseño (TI-DM368 de la CPU, memoria RAM DDR2, memoria Flash NAND).
El desarrollo de software en el leopard todo funciona bien. Sin embargo, el 1er prototipo de la junta de cumplir y se negaba a arrancar. La investigación nos llevan hasta el punto de que el retraso de los relojes (ARM & DDR) hacia abajo significa que la junta va a arrancar.
El hardware (ya sea de la junta de diseño, terminación, chip DDR, lo que sea) es el #1 de la sospecha, como podemos ejecutar software idéntica en el Leopard y funciona bien. Por desgracia, la naturaleza de la falla significa que no se puede arrancar linux para ejecutar extenuantes pruebas de la memoria RAM que puede proporcionar un mejor diagnóstico.
Desde el lado del hardware, el DDR reloj es uno de 345MHz, 486MHz, 680MHz dependiendo de la sincronización de la configuración - más allá del alcance de cualquiera de nuestros ámbitos de la lógica o los analizadores.
Así es una especie de dos preguntas en una realidad:
Desde el hardware de punto de vista, distinto de "alquilar un rápido alcance", hay un enfoque para el diagnóstico de esta entidad, con lo que está a la mano? Hemos 200MHz de DSO, <100MHz lógica sniffer, y a 1,5 GHz analizador de espectro para jugar con.
Desde el software de punto de vista (lo sé, foro equivocado) si alguien tiene sugerencias o fragmentos de código en el ejercicio de DDR RAM, que sería muy apreciada.
Editado para añadir la respuesta:
También hemos pedido prestado un Tektronix 7104 y funcionó tan bien que ni siquiera tienen que tocar a la junta con ella ;)
El problema se reveló para ser un flacidez 1v3 línea de suministro de energía de ser estrangulado por 0402-tamaño de SMT ferritas.
Los síntomas eran que, cerca de la marginal de la frecuencia de funcionamiento, la junta de arranque pero de bloqueo cuando una memoria-hambre / de alto ancho de banda de vídeo de streaming proceso de tratado de comenzar. Esto, junto con el hecho de que la ejecución más lento funciona OK, nos llevó a creer que era una frecuencia relacionada con el tema, cuando en realidad la frecuencia de reloj inferior también fue poner menos carga en la fuente de alimentación de los componentes.
El 0402 cuentas de ferrita que se utilizan para filtrar iban sorprendentemente alta impedancia como el actual, la caída de una crítica de la línea de suministro por debajo de la permitida punto de funcionamiento.
Desafortunadamente, esto significa que no puede dar la "respuesta ganadora" de Dave Tweed, pero esto no significa que nuestra junta ahora funciona. Aún mejor, es el jefe de la culpa, no la mía!
Ah, y Tek 7104 son freakin' impresionante hazañas de la ingeniería electrónica. Si nunca has mirado cómo funcionan, es pura analógica de kung-fu.