¿Las especificaciones del chip STM32 no coinciden con la hoja de datos?

4

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 :

  1. ¿Por qué los tamaños de memoria no coinciden con los descritos en la hoja de datos?
  2. ¿Tengo algún chip falso / falso / falso?
  3. ¿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.

    
pregunta Alexei

1 respuesta

6

El ID de dispositivo de su controlador es el siguiente:

   Device ID    : 0x0416 (L1xxx6(8/B))

y creo que la clave está en esta parte: L1xxx6 (8 / B) , esta ID debe ser la misma para STM32L152R8 y STM32L152RB dispositivos.

Si observamos la tabla de tamaños de flash / RAM de ST, STM32L152RB tiene 128K / 16K.

No estoy seguro, tal vez el SPL solo puede asignar los valores de RB cuando se lee este ID de dispositivo.

Puede probar y configurar los valores de 64K / 10K manualmente y verificar si puede programar la MCU.

No creo que tus ICs sean falsos, revisa el texto que aparece en ellos para asegurarte de que sea un 8 y no un B .

    
respondido por el Bence Kaulics

Lea otras preguntas en las etiquetas