Ejecución de código externo en ARM Cortex M

1

¿Es posible ejecutar código en la arquitectura ARM Cortex M desde ubicaciones distintas a la memoria flash incorporada (como otro chip flash, tarjeta SD)?

Si es así, ¿cómo?

Si no, ¿qué arquitectura de microcontrolador permite esto?

    
pregunta manuel.rivera

2 respuestas

1

ARM Cortex M permite la ejecución de código desde Flash, RAM interna y externa. La memoria RAM externa (si está disponible) debe configurarse antes de poder usarse.

Es posible que debas cambiar la secuencia de comandos del vinculador y / o el código de inicio, pero eso depende del compilador que uses.

El CCC r0ket , por ejemplo, carga un código externo en la RAM y lo ejecuta.

    
respondido por el Turbo J
2

La arquitectura Cortex-M no pone ninguna restricción en las memorias, depende de las interfaces de memoria disponibles en un controlador específico.

Por ejemplo, el LPC43xx permite ejecutar código desde flash interno y RAM, RAM externa estática, flash NOR y flash serial (SPIFI). No estoy seguro de la ejecución del código en la RAM dinámica, ya que se encuentra en un rango de direcciones que normalmente no se usa para el código, pero probablemente también sea posible.

Tenga en cuenta que las memorias externas generalmente serán más lentas que las internas. La más rápida es la RAM interna.

    
respondido por el starblue

Lea otras preguntas en las etiquetas

______ answer115224 ___

Si no tiene una hoja de datos k2554, ese es el primer problema. Sin embargo, si tiene una hoja de datos para el 2SK2554, intente buscarlo para ver cómo se representa el número de pieza del dispositivo en el paquete; podría ser simplemente que "K2554" sea una abreviatura documentada del 2SK2554.

Si todo eso falla, entonces nadie lo sabe. Lea la hoja de datos y muévase en Google hasta la muerte, eso es lo que haría.

    
___