Comment faire pour exécuter du code à partir de la RAM sur l'architecture ARM

Je suis à la programmation d'un ARM Cortex-R4 et j'ai quelques fichiers binaires que je tiens à les exécuter à partir de TCRAM, juste pour voir si l'augmentation de la performance est assez bonne.

Je sais que j'aurais du écrire une fonction pour copier les binaires de la RAM (ce qui peut être accompli avec le linker script, et la connaissance de la taille des fichiers binaires). Mais comment pourraient-ils fonctionner?

Imaginez ceci: La première binaire a func1(), func2(), func3() et func4(). J'avais copier le module entier à TCRAM et comment pourrais-je appeler une fonction, il? J'aurais du utiliser un pointeur de fonction à fonction spécifique? Et si func4(), les appels func2() et func3()? Si je ne me trompe pas, ils avaient point pour le morceau de code situé dans le flash. Est-ce que j'aurais à re écrire ces funcs? Utilisez des pointeurs de fonction? J'ai été dit que seulement le linker script est assez pour faire tout cela et je n'ai pas besoin de vous soucier de quoi que ce soit, mais je ne comprends toujours pas comment il fonctionne.

InformationsquelleAutor morcillo | 2013-02-28