Tengo una aplicación para mi ARM7 que generalmente se graba en FLASH y luego, al ejecutarla, se copia en la RAM (para que se ejecute un poco más rápido). Pero recuerdo que mi profesor dijo una vez que debería ejecutar mi programa desde la RAM porque solo puedes grabar la FLASH tantas veces. Entonces, mi pregunta es: ¿hay alguna forma especial de grabar el programa para que pueda ejecutarse directamente desde la RAM (no copiándolo desde FLASH)? Sé que podría usar algún cargador de arranque personalizado, pero esa no es una opción. Puedo usar el cargador SAM-BA pero, según tengo entendido, se usa para actualizar el dispositivo, no se puede usar para ejecutar ningún código desde la RAM y, si pudiera, ¿es posible escribir directamente en la RAM?
SAM-BA es un cargador de arranque, por lo que si tiene samba, realmente no necesita reinventar otro. Solo úsalo. Jtag generalmente también funciona para poder cargar programas en RAM y ejecutarlos. Eventualmente, supongo que su aplicación deberá ejecutarse desde flash una vez que convierta esto en un proyecto/dispositivo o lo que sea. no requerido pero asumido. podría envolver su versión ram con una pequeña copia en el programa ram.
Le recomiendo que use sam-ba o lo que sea para borrar el flash del usuario para que samba no intente cargar eso y para asegurarse de que el chip esté en un estado conocido. No estoy seguro acerca de samba, pero es posible que una vez que el gestor de arranque no detecte un programa en flash, podría aumentar los relojes o configurar periféricos (uart) que podría no tener si hubiera copiado flash, por lo que aún puede terminar en una situación que su programa probado en ram funciona, pero una vez que lo copia desde un programa basado en flash o lo ejecuta desde flash, es posible que no funcione. Es posible que se requieran algunos ciclos de flash para finalizar la prueba. o puede crear su propio gestor de arranque que ejecuta samba y luego se encuentra en un estado conocido. Mi preferencia es una cosa tonta de xmodem, el cargador de arranque hace lo suficiente para configurar el uart y comenzar a esperar una descarga de xmodem, luego se descarga a una dirección conocida en ram. luego reemplace el descargador xmodem con la copia para ram y ejecútelo. así no hay sorpresas.
crasico
bart
crasico
krambo
bart