domingo, 16 de agosto de 2026

Compile For STM32F446 MMDVM stm32f446 and stm32f767

 En esta entrada vamos ha ver paso a paso como compilar e instalar el firmware MMDVM para una placa stm32f446re y una stmf767zi. 



Estas placas tienen 180mhz y 210mhz respectivamente y son las mas aconsejables para hacer funcionar  sistemas basados en MMDVM por su velocidad de reloj. 


Para  este trabajo vamos ha utilizar una Rapberry Pi 4 1GB ram, aunque se podría compilar en otras plataformas ARM incluidos pc y mac.



El sistema elegido es Raspberri PI OS Lite  Debian versión 13 (trixie)  (sin interface grafica)

La podemos descargar del siguiente enlace, downloads raspios_lite


La descomprimimos y la quemamos en una microSD, en mi caso de 16gb. Se puede  quemar con  Raspberry Pi Imager en mi caso es muy rápido y cómodo. Durante el proceso de grabado de la imagen, recordar  activar SSH y si es necesario dar información para conectarse vía wifi. Recordar que esta imagen es Lite y no tiene interface grafica.


Finalizado de la grabación de la imagen


Una vez grabada en la tarjeta habilitaremos  la conexión SSH ya que for defecto esta deshabilitada por seguridad. Deberemos crear dos archivos, uno habilitará el servicio SSH y le otro archivo generara el usuario y contraseña de acceso.

Habilitar SSH: crearemos un archivo con el nombre "ssh"  este archivo no tendrá extensión y su interior esta vacío, lo pegaremos en la partición "boot" o  "bootfs" este archivo desaparecerá una vez incoemos el sistema.

Usuario y contraseña:  creamos un archivo llamado "userconf.txt" y en su interior  escribiremos el usuario y la contraseña (cifrada)  Lo pegaremos dentro de la carpeta "boot" o  "bootfs"

usuario: pi

contraseña: raspberry


Un hash de contraseña predeterminado para la contraseña raspberry tiene este aspecto:

pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0

El siguiente paso seria poner la tarjeta en la Rasberry y encender para poden empezar a conectarnos vía SSH con las credenciales "pi"  "raspberry". En mi caso uso PuTTY como cliente SSH.

Una vez dentro tendremos que instalar una serie de herramientas previas a la compilación:

Actualizar la lista de paquetes:

sudo apt-get update


Instalar la cadena de herramientas y los paquetes necesarios:

sudo apt-get install git gcc-arm-none-eabi gdb-multiarch libstdc++-arm-none-eabi-newlib autoconf libtool pkg-config libusb-1.0-0 libusb-1.0-0-dev


Instalar OpenOCD:

git clone https://github.com/ntfreak/openocd

cd openocd

./bootstrap

./configure

make

sudo make install


Descarga el paquete MMDVM de la fuente:

git clone https://github.com/g4klx/MMDVM

cd MMDVM

git submodule init

git submodule update


Editamos Config.h acorde a nuestras preferencias:

nano Config.h


Compilamos el código:

make f767 (para stm32f767zi)

make nucleo (para nucleo stm32f446re)


             Si todo ha  ido bien, nos mostrará una salida como esta:

                  
Para localizar el firmware tendremos una carpeta llamada "bin" en la ruta ~/openocd/MMDVM 


 la carpeta "bin" contiene el firmware compilado y listo para grabar . para obtener el firmware  y pasarlo a un pc con windows podemos utilizar 
WINscp via SSH (con usuario root)






Una vez en el  pc podemos grabar el firmware en la placa STM con  ST-LINK utility.


Conectamos la placa via usb al pc  y mediante lectura y grabación  grabamos el firmware el la placa. Ya tendremos nuestra placa lista para enchufar al sistema

No hay comentarios:

Publicar un comentario