¿Por qué tengo más flash (STM32F103RCT6) de lo que dice mi hoja de datos?

3

Estoy escribiendo un firmware para un microcontrolador STM32F103RCT6 que tiene un flash de 256KB según la hoja de datos.

Debido a un error mío, estaba escribiendo algunos datos en 0x0807F800 que, según el manual de referencia, es la última página de un dispositivo de alta densidad. (El manual de referencia no hace distinciones de diferentes tamaños de 'dispositivos de alta densidad' en el diseño de la memoria)

Los datos que escribí estaban siendo leídos sin errores, así que hice algunas pruebas y leí / escribí 512KB de datos aleatorios y comparé los archivos, ¡y coincidieron!

Hice una investigación que no pude encontrar experiencias similares. ¿Son fiables esos flashes extra? ¿Es eso algún tipo de maniobra industrial?

    
pregunta J. Santos

2 respuestas

2

Todas las MCU de una familia o de una línea familiar están hechas en la misma matriz de silicona. 512KB, y 256KB, y otras MCU son físicamente lo mismo, sin embargo, cuando tiene 8 millones de transistores o más, algunos de ellos no funcionarán, o no funcionarán de manera confiable, o no funcionarán de manera confiable a una temperatura particular, o en el el caso de memoria flash no retendrá su información el tiempo suficiente.

Lo más probable es que su MCU comenzó su vida útil como una parte de 512 KB, pero durante las pruebas de fabricación resultó que solo 256 KB son confiables en todas las condiciones operativas. Es probable que el fabricante no tenga una instalación en el chip para deshabilitar la mitad del flash, por lo que solo los bits de identificación se escriben en consecuencia y se espera que el programador los obedezca.

Otra hipótesis: puede ser una parte falsificada (512KB) que fue rechazada de la fábrica, pero alguien descubrió que 256KB es "suficientemente buena" y la volvió a etiquetar.

    
respondido por el filo
1

Todos los chips STM32F1 usan el mismo troquel de silicona . Pueden configurar varias cosas con campos programables de una sola vez, o la posición de los cables de enlace .

Por razones de marketing, venden chips con menos flash / ram contra un precio más bajo al reducir el tiempo de prueba, ya que el tiempo es caro. Este flash estará allí, pero no está probado.
Este método también se aplica a las especificaciones de temperatura de las piezas 125C.

Tendría sentido pensar que el otro flash está dañado o no se puede utilizar, pero si el rendimiento * fuera tan bajo, se requeriría un mapeo de los sectores en cada chip. Ya que cualquier sector puede dañarse, de lo contrario, tendría un vacío en el mapa de memoria.
Esto significaría que no habría flash adicional al probado y mapeado, lo cual no es el caso.

A pesar de que el flash está allí, no recomiendo su uso.

pregunté esto una vez por el 407.

* rendimiento: cantidad de chips de trabajo por wafer .

    
respondido por el Jeroen3

Lea otras preguntas en las etiquetas