Cargador de arranque personalizado para ATmega328P

1

Estoy diseñando una placa con el ATmega328P y he decidido escribir mi propio cargador de arranque en lugar de usar Optiboot o Arduino, etc. Entiendo la lógica de escribir el código de arranque. También que reside en un área específica del flash (máx. De aproximadamente 1 K). Estoy usando el AVR Studio 6.

¿Cómo dirijo mi código para que resida precisamente en esa área? Cuando genero el archivo hexadecimal siempre terminan en 0x0000. Cómo ubicarlos en 0x7000 o donde sea que esté la sección de arranque.

    
pregunta Board-Man

1 respuesta

1

En primer lugar, deberá configurar los fusibles BOOTSZx de acuerdo con el tamaño de su cargador de arranque, la dirección de reinicio de arranque no se ha corregido y con eso cambia. (página 282 de hoja de datos , parte superior). A continuación, deberá indicar al vinculador dónde colocar el código del gestor de arranque, y esto depende de lo que esté usando para escribir el código. En ensamblaje, lo que necesita es la declaración .org, con AVR studio, debe jugar con la "configuración de memoria" y poner ".text = 0x1234" debajo del flash. Por supuesto, 0x1234 debe ser la dirección correcta según la página 282, es decir, 0x3800, 0x3c00, 0x3e00 o 0x3f00.

    
respondido por el Vladimir Cravero

Lea otras preguntas en las etiquetas