1 votes

Analyse des performances des algorithmes sur les dispositifs embarqués

Je fais un projet sur un dispositif embarqué qui a le processeur ARM926Ej-S. J'ai besoin d'analyser la performance de l'algorithme sur le dispositif. Je suis nouveau dans l'environnement embarqué et je n'ai pas beaucoup d'idée de ce qu'est l'analyse de performance pour les dispositifs embarqués.

Quelqu'un peut-il me dire quels paramètres je dois prendre en compte pour l'analyse ? Comment procéder à la mise en œuvre également ?

Merci à tous

2voto

Mike Dunlavey Points 25419

Quel type d'environnement de débogage avez-vous ? Disposez-vous d'un émulateur en circuit (ICE) ? Je vous recommande de disposer d'un environnement de débogage qui vous permette d'arrêter manuellement l'exécution à un moment aléatoire et d'examiner l'état du programme, y compris la pile d'appel ( stackshots ). L'échantillonnage manuel de la pile d'appels de cette manière révélera les endroits du code qui sont responsables de fractions de temps significatives, afin que vous puissiez les optimiser. Voici une explication plus longue.

Cela peut être un peu différent de ce que vous envisagiez. Beaucoup de gens pensent que pour trouver des choses à optimiser, il faut temps le code, mais ce n'est pas le cas. Le chronométrage est un bon moyen de savoir si ce que vous avez fait a fait une différence, mais l'échantillonnage en pile est, selon certains, la meilleure façon de savoir ce qu'il faut faire pour faire la différence.

1voto

DarthCoder Points 264

Mon approche de ces questions serait de lire le manuel de référence ( http://www.arm.com/miscPDFs/5499.pdf ) qui devrait couvrir tout ce dont vous avez besoin. Il vous montrera s'il y a une unité à virgule flottante, quels sont les inconvénients de l'unité FPU, ce que vous devez garder à l'esprit lorsque vous utilisez les DMA, la disposition du cache et de la mémoire ainsi que les vitesses du bus mémoire et bien d'autres choses qui sont cruciales si vous voulez programmer ce périphérique correctement et efficacement.

Malheureusement, je n'ai jamais travaillé avec cet appareil spécifique, je ne peux donc pas vous indiquer quoi que ce soit de précis, mais vous trouverez certainement tout ce dont vous avez besoin dans le manuel de référence. Si vous connaissez le matériel, vous pouvez analyser l'impact sur les performances de certaines parties de l'algorithme. Mais vous ont pour connaître les internes du matériel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X