Tabla de contenido:

Hackear un CFA735 / CFA835: 4 pasos
Hackear un CFA735 / CFA835: 4 pasos

Video: Hackear un CFA735 / CFA835: 4 pasos

Video: Hackear un CFA735 / CFA835: 4 pasos
Video: Android Hacking Whatsapp tutorial [Ethical Hacker] By using Termux 2024, Mes de julio
Anonim
Hackear un CFA735 / CFA835
Hackear un CFA735 / CFA835

¿Tiene un proyecto que necesita una pantalla, un teclado y algo de memoria, pero el firmware precargado en el módulo Crystalfontz CFA735 o CFA835 no es exactamente lo que está buscando? Tiene suerte: puede piratear estos módulos para cargar firmware personalizado.

El CFA735 y el CFA835 son módulos LCD inteligentes y versátiles. Tanto el Crystalfontz CFA735 como el CFA835 se basan en el módulo de hardware CFA10052, por lo que durante este tutorial, el CFA735 y / o el CFA835 se denominarán CFA10052. El CFA10052 se puede reprogramar para ejecutar su propio firmware personalizado.

  • Microcontrolador STMicroelectronics STM32F401
  • ARM CPU Cortex ™ -M4 de 32 bits a 84 MHz
  • Flash de 256 K, RAM de 64 K
  • LCD retroiluminada de 244 x 68 píxeles
  • Controlador LCD gráfico en escala de grises Sitronix ST7529 32
  • La fuente de conmutación Buck-boost permite un amplio rango de voltaje de suministro
  • Controladores de brillo LED de conmutación separados para teclado y retroiluminación de LCD
  • Teclado retroiluminado de 6 botones
  • 4 LED bicolores (rojo / verde)
  • Interfaz USB2
  • ranura para tarjeta microSD
  • 5 pines IO de propósito general (GPIO)
  • Múltiples interfaces seriales / SPI / I2C / CAN (según el uso de GPIO).

Este tutorial le mostrará cómo reemplazar el firmware que se envía en un CFA10052 con un nuevo firmware que:

  1. Mostrar en la pantalla LCD una cuadrícula alterna, con retroiluminación actual, contraste de la pantalla LCD e información de estado del teclado;
  2. Controle la luz de fondo y el contraste de la pantalla LCD mediante el teclado.
  3. Cambie el color de los cuatro LED de rojo a verde en secuencia.
  4. Habilite el puerto serie USART en los pines 1 y 2 del encabezado 1 (115200 baudios) y haga eco de los datos recibidos.
  5. Habilite el puerto serie virtual USB y envíe los datos recibidos al host.
  6. Incluye, pero no demuestra, acceso a archivos de lectura / escritura uSD.

Por supuesto, puede escribir su propio firmware y cargarlo siguiendo estos pasos.

NOTA IMPORTANTE:

El módulo de hardware Crystalfontz CFA10052 se envía programado con un cargador de arranque y firmware CFA735 / CFA835. El cargador de arranque y el firmware CFA735 / CFA835 no son de código abierto y el usuario no puede copiarlos del CFA10052 ni programarlos en el CFA10052. Si desea volver al firmware CFA735 / CFA835, tendrá que enviarlo de regreso a Crystalfontz para que lo reprogramen.

Suministros

  • Módulo Crystalfontz CFA10052 (hardware v1.1 o posterior) (CFA735 / CFA835)
  • PC (Windows / Linux / OSX) con STM32CubeIDE y STM32 ST-LINK Utility instaladas
  • Interfaz de programación STMicroelectronics ST-LINK (V2 o V3)
  • Cable de programación CFA10052 (detalles a continuación)
  • Firmware personalizado (o use el nuestro aquí)
  • Si está utilizando Windows 7/8 / 8.1 / 10 (o versiones de servidor equivalentes) y desea probar el puerto serie virtual USB, deberá descargar los controladores desde aquí. El puerto serie USB funcionará sin necesidad de controladores adicionales en Windows 10+, Linux, OS-X.

Paso 1: recopilar / crear suministros

Recolectar / crear suministros
Recolectar / crear suministros

Recomendamos utilizar STM32CubeIDE para cargar y utilizar este proyecto de firmware de ejemplo. STM32CubeIDE es un IDE gratuito basado en Eclipse que ha sido modificado por STMicroelectronics para incluir herramientas específicas de STM32. El IDE se puede descargar en la página web de STM32CubeIDE.

Para mantener el funcionamiento correcto de la herramienta de configuración del dispositivo STM, solo debe editar el código fuente creado por la herramienta de configuración del dispositivo entre los bloques de comentarios correspondientes "CÓDIGO DE USUARIO COMIENZO xxx" y "FIN DE CÓDIGO DE USUARIO xxx".

A continuación, decida si desea ponerse en contacto con nosotros para obtener un cable de programación CFA10052 o hacer el suyo propio. No vamos a repasar la fabricación del cable en detalle en este tutorial, pero si desea hacer su propio cable de programación CFA10052, puede encontrar las conexiones en la página de GitHub, la mejor manera de hacerlo es comenzar con un cable plano de dieciséis clavijas y empalme con el cable del ST Link.

Paso 2: borre el firmware existente

Borrar firmware existente
Borrar firmware existente
Borrar firmware existente
Borrar firmware existente

Si su módulo CFA10052 está cargado con el firmware CFA735 o CFA835 suministrado, primero deberá borrar el firmware existente antes de instalar el nuevo firmware. La memoria flash está protegida contra lectura y escritura y debe quitarse antes de que se pueda cargar el firmware personalizado.

Hay dos métodos para eliminar el firmware instalado:

  1. Desconecte el cable USB (o fuente de alimentación) del módulo CFA10052.
  2. Conecte el CFA10052 al ST-LINK usando el cable de programación (ver arriba), y el ST-LINK al PC anfitrión.
  3. Mantenga presionadas las teclas arriba y abajo en el CFA10052 mientras conecta el cable USB al CFA10052 (o fuente de alimentación). El CFA10052 ahora debería mostrar la pantalla del cargador de arranque Crystalfontz.
  4. Ejecute la utilidad STM32 ST-LINK. En el menú "Destino", abra la ventana "Bytes de opción". En el cuadro "Protección contra lectura", seleccione "Nivel 0". Haga clic en Aplicar. El firmware de Crystalfontz se ha eliminado y ahora se puede programar cualquier firmware personalizado.

Método alternativo (si no puede ingresar al cargador de arranque Crystalfontz manteniendo presionadas las teclas):

  1. Desconecte el cable USB (o fuente de alimentación) del módulo CFA10052.
  2. Conecte el punto de prueba BOOT0 (una pequeña almohadilla en la parte posterior del módulo CFA10052, cerca del conector H1) a 3.3V o 5V.
  3. Conecte el CFA10052 al ST-LINK usando el cable de programación (ver arriba), y el ST-LINK al PC anfitrión.
  4. Encienda el CFA10052 (o conéctelo a la alimentación USB). La pantalla debe estar en blanco.
  5. Ejecute la utilidad STM32 ST-LINK. En el menú "Destino", abra la ventana "Bytes de opción". En el cuadro "Protección contra lectura", seleccione "Nivel 0". Haga clic en Aplicar. El firmware de Crystalfontz se ha eliminado y ahora se puede programar cualquier firmware personalizado.
  6. Ya no es necesaria la conexión del pin BOOT0 a 3.3V / 5V.

Paso 3: compile y cargue su firmware en el CFA10052

Compile y cargue su firmware en el CFA10052
Compile y cargue su firmware en el CFA10052

Una vez que se haya eliminado el firmware suministrado por Crystalfontz, estará listo para compilar y cargar su propio firmware. Para los propósitos de este tutorial, hemos proporcionado un firmware alternativo que brinda control del teclado del brillo de la retroiluminación y el contraste de la pantalla.

Para compilar el firmware:

  1. Abra el STM32CubeIDE
  2. En el menú Archivo, elija Importar y luego "Importar proyectos existentes al espacio de trabajo".
  3. En el cuadro del directorio raíz, seleccione el directorio de este firmware de ejemplo.
  4. Haga clic en el botón Finalizar.
  5. En el Explorador de proyectos, seleccione el proyecto cfa10052_example, luego abra el archivo Src y "main.c".
  6. En el menú Proyecto, seleccione "Crear proyecto".

Para programar y ejecutar el firmware en el CFA10052:

  1. Desconecte el cable USB (o fuente de alimentación) del módulo CFA10052.
  2. Conecte el CFA10052 al ST-LINK usando el cable de programación (ver arriba), y el ST-LINK al PC anfitrión.
  3. Conecte el cable USB (o fuente de alimentación) al CFA10052.
  4. Asegúrese de que el proyecto de firmware se haya creado (consulte los pasos anteriores) y de que "Binarios" aparece debajo de "cfa10052_example" en el Explorador de proyectos.
  5. Si "Binarios" no está visible, haga clic con el botón derecho en el proyecto "cfa10052_example" y seleccione Actualizar.
  6. Seleccione el menú Ejecutar, luego "Configuraciones de depuración".
  7. En el cuadro de selección de tipos de destino de depuración a la izquierda, haga clic con el botón derecho en "Aplicación STM32 Cortex-M" y seleccione "Nueva configuración".
  8. Se mostrará una ventana de configuración. La configuración predeterminada es correcta. Haga clic en Aplicar y luego en Cerrar.
  9. En el menú Ejecutar, seleccione "Depurar como", luego "Aplicación STM32 Cortex". STM32CubeIDE ahora debería conectarse al ST-LINK y cargar y ejecutar el firmware en el CFA10052.

Los pasos anteriores solo son necesarios al cargar el proyecto por primera vez en STM32CubeIDE. Una vez realizados los cambios en el código fuente del firmware, solo se necesita reconstruir el proyecto (atajo Ctrl-B) y programar el CFA10052 (atajo de tecla F11).

El firmware también se puede cargar a través de cualquiera de los métodos normales del cargador de arranque STM32 (la depuración solo está disponible usando la interfaz SWD y un ST-LINK). Por ejemplo, si usa una conexión en serie, se puede usar USART1 (RX = H1-Pin1 y TX = H1-Pin2). Para obtener información más detallada sobre el cargador de arranque STM32 y las interfaces, consulte el PDF aquí.

Paso 4: Licencias

El código fuente proporcionado por Crystalfontz se proporciona mediante The Unlicense, una licencia sin condiciones de ningún tipo que dedica las obras al dominio público. Las obras sin licencia, las modificaciones y las obras más grandes pueden distribuirse bajo diferentes términos y sin código fuente. Consulte el archivo UNLICENCE o unlicense.org para obtener más detalles.

El código fuente creado por STM32CubeIDE y las bibliotecas de STMicroelectronics tienen Copyright (c) 2019 STMicroelectronics. Reservados todos los derechos. El componente de software tiene la licencia de ST bajo la licencia BSD de 3 cláusulas, la "Licencia"; No puede utilizar estos archivos excepto de conformidad con la Licencia. Puede obtener una copia de la licencia en opensource.org/licenses/BSD-3-Clause.

Recomendado: