Recientemente he comprado un par de chips STM32L152R8T6 en una tienda de electrónica local. Según la página 11 de la hoja de datos , se supone que este chip debe Tiene 10K de SRAM y 64K de FLASH. Sin embargo, cuando pregunto en uno de esos chips (que ya he soldado en un perfboard, junto con el simple transistor UART 3.3v < > 5v level shifter) con 'stm32flash', responde con esto:
$ stm32flash -b 115200 /dev/ttyACM0
stm32flash 0.4
http://stm32flash.googlecode.com/
Interface serial_posix: 115200 8E1
Version : 0x30
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0416 (L1xxx6(8/B))
- RAM : 16KiB (2048b reserved by bootloader)
- Flash : 128KiB (sector size: 16x256)
- Option RAM : 16b
- System RAM : 4KiB
Y la secuencia de comandos del vinculador de STM32L1xx Standard Peripheral Library v1.3.1, para dispositivos de densidad media, establece el tamaño de FLASH en 128K y el tamaño de RAM en 16K.
Las preguntas son :
- ¿Por qué los tamaños de memoria no coinciden con los descritos en la hoja de datos?
- ¿Tengo algún chip falso / falso / falso?
- ¿Qué tamaño de memoria debo indicar en la secuencia de comandos del vinculador? (ese es probablemente un poco offtopic).
También traté de usarlo con el propio demostrador de carga de Flash de ST (a través de Windows 7 en VirtualBox VM, no lo tengo en el hardware real, tal vez lo pruebe más tarde), pero sigue diciendo que es un "Dispositivo no reconocido ... Reinicie su dispositivo y vuelva a intentarlo".
Utilizo un Arduino Mega 2560 como USB < > UART bridge, utilizando RX0 / TX0 para conectarme a STM32. Por supuesto, el chip AVR de Arduino se desactiva al cablear su / RESET a GND. Con tal configuración, puedo fácilmente, sin ningún error en el camino, cargar y verificar (con stm32flash y un puerto serie) un programa simple para parpadear un LED, y funcionará. También he jugado con DAC y ADC integrados, también parecen funcionar bien (aunque un poco más lento de lo que esperaba, pero probablemente no esté relacionado, solo estoy empezando con ST micros).
También me he topado con este hilo que podrían tener una respuesta a esta pregunta, pero yo No sé si explica por qué la propia herramienta de ST no puede ver el chip.