El núcleo Cortex-M3 que utiliza esta unidad tiene 3 buses.
El "yo" o instrucción autobús.
Es el bus normal que se utiliza para buscar y ejecutar instrucciones. La matriz del bus interno lo tiene vinculado a la ROM y la RAM internas.
La "D" o datos autobús.
Normalmente se utiliza para acceder a la ROM y la RAM internas, pero la matriz del bus lo tiene vinculado a lo mismo que el bus de instrucciones. Esto permite el acceso concurrente tanto para las instrucciones como para los datos en las mismas áreas de memoria.
La "S" o sistema autobús.
Esto cubre todo lo demás. Los otros dos buses están muy limitados en su espacio de direcciones. Este permite el acceso a mucha más memoria que los otros. Es el bus que enlaza con la memoria externa. Aunque es posible ejecutar código en esta zona del espacio de memoria, lo hace con una eficiencia reducida. Esto se debe a que sólo hay un bus conectado a esta área, y también se conecta a todo lo que no es ROM o RAM interna. No puedes obtener instrucciones y datos al mismo tiempo usando este bus - funciona mucho más como la arquitectura de memoria normal de un sistema no Harvard (como un Z80, 8086, 68000, etc)
Así que sí, puedes usar la memoria externa para el código del programa, pero con una eficiencia reducida.