Muchas veces al leer los datasheet de los micros y en especial la sección de memorias nos topamos con direcciones que confunden un poco al menos a primera vista ya que muchas veces leemos una dirección tipo word con un tipo Byte o viceversa, y más aún cuando con ambas direcciones se puede trabajar, pero hay que saber cuando se esta hablando de uno, cuando se habla del otro y en que situaciones, para ello esta creada esta entrada.
Para ello vamos a definir los limites de direcciones tanto usando direcciones tipo word y direcciones tipo Byte, vamos a empezar por analizar el tamaño que ocupa el Bootloader en el microcontrolador Atmega32.
Tabla-Configuración del tamaño de Bootloader |
Si vemos la tabla con direcciones tipo word
De la tabla nos dice que para boot(0,0) ocupará 2048 word.
- Igualamos variables de la operación resta a word. tamaño de memoria FLASH es de 0x3FFFw,+1, entonces es de 16384 Word totales.
- Restamos :16384w -2048w= 1436w
- Convertimos a hexadecimal= 0x3800w.
La memoria FLASH en Byte es de 32KBytes .
- Igualamos variables de la operación resta a Bytes: tamaño de Bootloader es de 2048word=4096Bytes, 4096Bytes=4KBytes.
- Restamos :32KBytes-4KBytes= 28KBytes
- Convertimos a decimal: 28KBytes=28672 Bytes.
- Convertimos a hexadecimal= 28672Bytes=0x7000Hex.
Según lo anterior ya sabemos cual es el inicio del bootloader cuando ocupa su máximo tamaño posible(2048words), puede ser menor a este tamaño, para ver el inicio de tamaño de todas las maneras posibles están en el datasheet pero lo más importante es que ya sabemos cuando se refiere a tamaño de Bytes o de Words.
Tamaño de Memoria FLASH. |
Ya sabemos como ver las direcciones en Word y en Byte ello es importante a la hora de programar nuestro código, saber cuales son nuestros limites de memoria es como saber donde estamos parados, its is very import. XD.
No hay comentarios:
Publicar un comentario