Reprogramando LPC3154 en LPCxpresso

8

Me pregunto, ¿si es posible cargar lpc3154 en la placa LPCExpresso con firmware personalizado?

Veo que el chip es compatible con el arranque seguro, por lo que si se programó la tecla AES, ¿es imposible sin saber la tecla? ¿O hay opciones para arrancar lpc3154 sin saber la clave? (SD, flash, USB, JTAG ... ¿Algo?)

¿Alguien sabe si la clave fue cargada?

El solo hecho de comprar un nuevo lpc3154 no es una opción, no está disponible en ningún sitio, y los tiempos de espera son de 4 semanas + (y una etiqueta de precio > más que el precio de este tablero) ...

    
pregunta BarsMonster

3 respuestas

4

De lo que recojo, la clave AES se carga en el chip. Y también puede haber una verificación de CR232 en el firmware o conjunto de fusibles OTP

fuente

  

Admite el arranque no seguro desde interfaces UART y USB (clase DFU) durante   desarrollo. Una vez que la clave AES está programada en la OTP, solo se inicia el arranque seguro   permitido a través de UART y USB.

Esto no significa que no pueda ser pirateado, si le dedicas tiempo. Me gustaría verificar si los pines JTAG se han deshabilitado y comenzar desde allí.

algunas declaraciones interesantes de la guía del usuario

  

7.1 caso de uso de línea de producción   En la línea de producción NXP, la OTP se probará y programará utilizando JTAG. En prueba   En el modo, se accederá directamente al propio bloque de fusibles. Durante la programación el VPP   Necesita un voltaje más alto que en el caso de uso de la aplicación. Los datos escritos se verifican después   mediante la lectura de los fusibles (utilizando un bajo voltaje en VPP)   El cliente también programará la OTP solo en la línea de producción, aquí DFU   Se utilizará la programación.   Una imagen para programar bits seleccionados por el cliente se puede cargar en el dispositivo a través de USB.

     

7.2 Caso de uso de la aplicación   En lo esencial, es importante asegurarse de que el registro data_15 se actualice temprano durante el   La inicialización (por código de inicio) establecerá el nivel de seguridad. Cuatro niveles de seguridad son   implementado en el diseño:

     

• Nivel 0: nada está protegido.

     

• Nivel 1: protegido por contraseña. En este nivel, JTAG puede habilitarse por software después de   secuencia de contraseñas (depende de la aplicación del cliente) configurando el bit de pegado   'JTAG_EN' en el registro OTP_con.

     

• Nivel 2: en este nivel, el acceso JTAG puede habilitarse utilizando equipos de prueba especiales.   Utilizado por NXP solo para el análisis de material devuelto.

     

• Nivel 3: JTAG está completamente deshabilitado y, por lo tanto, el chip está prácticamente bloqueado.

     

El cliente puede programar el nivel de seguridad del chip. Para el nivel 1, el fusible 509 debería   ser establecido Para el nivel 2, se establecen los bits de fusible 509 y 510. Para el nivel 3, fusibles 509, 510 y 511.   estan programados Un caso especial será que el cliente desactive la escritura en los fusibles,   pero como en la aplicación se conectará un bajo voltaje (para lectura) al VPP, la escritura   De todos modos no será posible.   Durante la aplicación normal, los fusibles ya se habrán programado en el   línea de producción. Así que quedan tres opciones: copiar los datos del fusible en los registros de datos,   leyendo estos datos, y configurando la protección de lectura. El código de arranque copiará los datos del fusible.   en los registros de datos porque esto es necesario para la seguridad y DRM. Después de esto, los datos.   Se puede leer desde los registros de datos a través del bus APB0 (según la protección de lectura   configuración).

Editar: si la clave está realmente cargada, solo podrás cargar firmware personalizado si tienes la clave.

    
respondido por el jsolarski
2

La pregunta fue respondida aquí en el foro LPCXpresso. El dispositivo solo puede cargar el software DFU desde Code Red.

De NXP_USA :

  

Las placas LPC-LINK distribuidas embebidas en LPCXpresso, solo pueden cargar firmware DFU desde nuestro Código Rojo de socio IDE de LPCXpresso. Sin embargo, los esquemas de LPCXpresso se publican aquí: enlace . Son una referencia útil para un diseño LPC3154 más flexible que podría aceptar firmware arbitrario a través de DFU.

El LPC3154 está disponible en Digi- Key y Mouser .

    
1

He estado experimentando con la placa LPCXpresso LPC1114. Parece que la interfaz de programación (LPC3154) es USB de alta velocidad (480 MHz) y parece extremadamente particular sobre el cable USB que utiliza. Si el cable (o el puerto host) no es de primera clase, puede ser muy inestable, fallar mucho e incluso bloquear otros dispositivos USB en el mismo puerto raíz. Por haber escrito varias pilas USB, supongo que esta pila USB en particular no es muy robusta en términos de errores y manejo de excepciones.

El hecho de que hayan utilizado una ARM de alto nivel para una interfaz JTAG / SWD simple es ridículo, que la MCU costó más de $ 13 (en Digikey) la última vez que miré.

Recomendaría utilizar una interfaz SWD diferente y desconectar la de la placa si tiene alguna dificultad. Esto también debería permitir el uso de otros IDE (sin Código Rojo) con estos tableros.

(Si tiene problemas de USB con cualquier dispositivo (incluso con velocidad máxima de 12 MHz) y está utilizando los conectores de host USB en la parte frontal de la unidad del sistema de la PC, intente usar los conectores posteriores en el propio MB. He visto marcas conocidas de PC con cableado no compatible (y muy defectuoso) en la parte frontal de la unidad del sistema.)

Izzy Weird

    
respondido por el Izzy Weird

Lea otras preguntas en las etiquetas