Je travaille avec la pile TCP/IP (version 4.55) libre de Microchip sur un microcontrôleur 8 bits. J'essaie de réinitialiser la pile sans effectuer une réinitialisation de la carte complète avec asm ("RESET").Puis-je réinitialiser la pile TCP/IP de Microchip sans réinitialiser la carte?
Des idées sur la façon de redémarrer cette pile.
UPDATE
réinitialiser la pile avec les étapes suivantes
- bascule la broche de remise à zéro sur la puce Ethernet Microchip
- appel StackInit();
- réinitialiser manuellement l'UDP annonce machine d'état
Cela semble récupérer des erreurs fatales SPI que je rencontrais.
J'ai essayé d'appeler StackInit(), mais je ne peux pas ramener mes sockets TCP après cela. Où avez-vous placé votre tableau vide StackUpperBound? dans votre fichier principal, ou quelque part dans la pile. –
Aussi, quelle que soit la raison pour laquelle vous avez créé votre propre bloc? (stackoverflow) –
Dans le fichier de l'éditeur de liens, ma pile était située à 0xD00 et avait une longueur de 0x100 octets. Donc, mettre mes variables sont 0xE00 est en haut de la pile. Je donne toujours des noms à tous les blocs que je définis comme une habitude. Dans main(), j'ai une boucle pour initialiser StackUpperBound à DEADBEEF. – Robert