Comment faire pour déterminer le maximum de l'utilisation des piles?

Quelles méthodes sont disponibles pour la détermination de l'optimum de la taille de la pile pour l'embarqué et de contrainte de mémoire système? Si elle est trop grande alors la mémoire est perdu qui pourrait être utilisé ailleurs. Toutefois, si elle est trop petite alors nous obtenons ce site homonyme du...

Pour essayer de sauter démarrer les choses: Jack Ganssle états L'Art de la Conception de Systèmes Embarqués que, "Avec l'expérience, on apprend à la norme scientifique de calculer la taille appropriée pour une pile: Choisir une taille au hasard et de l'espoir." Quelqu'un peut-il faire mieux que ça?

Un exemple plus spécifique a été demandé. Alors, comment faire un programme en C, en ciblant un MSP430 MCU avec 2 ko de RAM à l'aide de la IAR Embedded Workbench de la chaîne sans un système d'exploitation? Cette IDE peut afficher le contenu de la pile et l'utilisation tout en utilisant un JTAG débogueur.

  • dépend du chipset / OS / langage de programmation que vous utilisez.
  • Content de voir que cette question n'a de réponses à certaines questions, à la différence de stackoverflow.com/questions/177516/...
  • J'ai vu que la question lors de la demande, mais la pensée intégré à l'inclinaison séparés...
  • Jack Ganssle dit plus que cela. Je pense que c'était juste son intro one-liner. De son livre, 2e édition, p. 250: "Depuis quelques programmeurs ont, d'une manière raisonnable afin de déterminer maximale de la pile exigences, toujours assumer vos devis sera incorrect. Pour chaque pile dans le système, assurez-vous que le code d'initialisation remplit l'ensemble de la quantité de mémoire allouée à la pile avec la valeur 0x55. Plus tard, lors du débogage, vous pouvez afficher la pile et de détecter les débordements de pile en le voyant aucun des blocs de 0x55 dans cette région..."
  • Je sais que ce n'est pas tout, dit-il, mais j'ai essayé d'utilisé de la même manière qu'il a fait: susciter l'intérêt pour le sujet. 😉