|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comme j'en ai récemment eu besoin, mais que je n'ai vu aucun document ou fil de discussion définitif à ce sujet, j'ai pensé que ces informations pourraient être utiles à quelqu'un d'autre. Il s'agit de mettre en oeuvre un débogage sur le port série sur un AmigaOne. Ce dont vous aurez besoin
Le port série sur les AmigaOne est un port standard 16550A, et nécessite un câble null modem vers un autre ordinateur. Les ports série des AmigaOne sont de type DB9 mâle, ce qui signifie qu'il s'agit de connecteurs à 9 broches. Vous aurez besoin d'un connecteur DB9 femelle (9 "trous" au lieu de broches pour s'accoupler aux broches/mâles du port série des AmigaOne) d'un côté, et du connecteur nécessaire au système auquel vous allez vous connecter. De nos jours, il s'agit le plus souvent d'un autre port série DB9 mâle. Note : Pour les propriétaires de microA1-C, un connecteur série existe, mais il n'est pas relié à un DB9. Voir cet article pour des informations sur la connexion d'une prise DB9 standard sur votre microA1-C. Brochage null modem Voici le brochage du null modem pour un câble DB9 vers DB9 : DB9 vers DB9 1+6 à 4 2 vers 3 3 vers 2 4 à 1 et 6 5 à 5 7 à 8 8 à 7 Notez que ces câbles sont facilement disponibles dans la plupart des magasins d'informatique et peuvent être testés avec un testeur de continuité ou un ohmmètre si nécessaire sur un câble "inconnu". Vous pouvez également acheter un adaptateur null modem pour convertir un câble série standard en câble null modem. Connectez une extrémité du câble au premier port série de votre AmigaOne. Pour l'AmigaOne G4 XE, le port correct est le port série le plus proche des ports PS/2 et USB, vers le haut de votre tour. Note : Les AmigaOne G3-SE et G4 XE ont deux ports série, et le microA1-C a un seul port, mais le microA1-C doit être câblé et n'a pas de DB9 à bord, voir le lien présenté précédemment pour plus d'informations pour les propriétaires de microA1-C. Connectez l'autre extrémité au port série de votre autre ordinateur. Programme de terminal Vous aurez besoin d'un programme de terminal sur votre autre ordinateur pour lire les données provenant de votre AmigaOne. Pour Windows, vous pouvez utiliser HyperTerminal. Pour Linux et d'autres systèmes Unix ou similaires, vous pouvez utiliser Minicom, cu, ou d'autres. Note : Si vous utilisez Minicom, et éventuellement d'autres programmes, vous devrez effacer la chaîne d'initialisation du modem et les chaînes de réinitialisation du modem, car votre AmigaOne n'est pas un modem. Configurez votre programme de terminal pour qu'il se connecte au port série correct pour votre machine (généralement COM1 pour Windows, ou ttyS0 pour Linux), et définissez vos paramètres de communication à 115 200 bps, 8-N-1. Minicom peut être lancé par :
...où "ttyS0" est remplacé par le port correct auquel vous êtes connecté. Et cu :
Note : cu est un peu cryptique, consultez donc la page de manuel avant de l'utiliser, notamment pour connaître les séquences d'échappement pour sortir du programme ! Vous devez vous assurer que votre AmigaOne est réglé sur le bon débit en bauds pour votre programme de terminal, donc redémarrez ou allumez votre AmigaOne, appuyez sur "Entrée" et ensuite "Échap", sélectionnez les préférences, à nouveau "Échap", puis sélectionnez "Abort Boot" (abandonner démarrage) et entrez dans "U-Boot Shell" pour obtenir une invite de commande U-Boot. A l'invite, tapez :
...et vérifiez qu'il est réglé sur "115200". Si ce n'est pas le cas, tapez :
Pendant que vous êtes dans U-Boot, vous voudrez également permettre aux messages d'erreur d'être dirigés vers le port série. Faites-le en tapant :
Note : Vous pouvez toujours revenir à la valeur par défaut en tapant :
Cela prendra effet même si vous ne voyez pas votre saisie sur la ligne de commande U-Boot une fois que vous avez activé la redirection de stdout vers le port série. Cela signifie que lorsque vous réinitialiserez plus tard votre sortie vers votre carte vidéo, vous ne serez peut-être pas capable de lire ce que vous tapez, mais cela prendra quand même effet ! Enfin, tapez :
...afin de sauvegarder vos variables d'environnement U-Boot dans la NVRAM (mémoire vive non volatile) et redémarrez votre système. Vous pouvez vérifier et dépanner votre connexion série avant de retourner dans AmigaOS. Après votre redémarrage, revenez à l'invite U-Boot et tapez :
...à l'invite U-Boot une fois que vous avez redirigé vers la connexion série, et vous devriez voir un ensemble de variables d'environnement/paramètres U-Boot affichés sur la session terminal de votre autre ordinateur. Si vous ne voyez aucune sortie sur le port série, essayez ce qui suit :
Une fois que vous obtenez une sortie sur votre programme de terminal, lorsque votre AmigaOne est redémarré, vous devriez voir quelque chose de similaire à ce qui suit.
Si vous rencontrez des problèmes avec votre carte vidéo, vous verrez peut-être quelque chose comme "card id not recognized" (identifiant de la carte non reconnu) ou des messages sur des problèmes de Radeon. Dans ce cas, il y a de fortes chances que vous ayez une carte vidéo bizarre et que vous deviez la remplacer. Niveaux de débogage Ok, donc maintenant vous obtenez une sortie série, mais le niveau de débogage par défaut est toujours défini, ce qui ne vous donnera pas beaucoup de résultats de débogage. Cependant, il transmet les rapports de Grim Reaper par série, donc si votre principale préoccupation est d'obtenir une copie d'un rapport Grim Reaper, c'est tout ce que vous devez faire. Notez que vous pouvez activer la journalisation vers le fichier si vous utilisez Minicom, et sur certains autres programmes de terminal. Les niveaux de débogage pour AmigaOS 4 peuvent également être activés, ce qui permet différents niveaux de débogage. Je ne suis pas sûr du niveau de débogage le plus élevé, mais gardez à l'esprit que chaque augmentation du niveau de débogage ralentira probablement le fonctionnement de votre système, car du code supplémentaire sera exécuté pour activer la sortie de débogage. En général, le niveau 1 vous en donne peu, le niveau 4 beaucoup, et le niveau 10 une quantité ridiculement grande de sortie de débogage. Il commencera à enregistrer l'entrée/sortie des fonctions au niveau 16 environ, mais c'est vraiment un reliquat des tout premiers jours, puisque ce sera essentiellement inutilisable en raison de la quantité de sortie qu'il produira. Note : Merci à Hans-Joerg Frieden pour avoir fourni les informations ci-dessus. Il y a deux façons d'activer un niveau de débogage (le niveau par défaut est 0) :
Important : En augmentant votre niveau de débogage par défaut, votre système prendra plus de temps pour démarrer. Ceci est normal ! Pour l'activer via U-Boot, redémarrez ou allumez votre AmigaOne, et appuyez sur n'importe quelle touche sauf "Entrée" lorsque le chargement du Kickstart commence, puis sélectionnez "Boot Arguments for AmigaOS". Les arguments de démarrage par défaut seront les suivants : "debuglevel=0". Modifiez la valeur en fonction du niveau de débogage que vous souhaitez définir, puis démarrez le système. Notez que si vous changez cette valeur, le système ne démarrera qu'une seule fois à ce niveau de débogage, à moins que vous ne sélectionniez "save settings" (sauver les réglages) au lieu de "of use settings for this session" (utilisation des réglages pour cette session). Notez que vous devez également sélectionner "boot debug kernel" (démarrer le noyau de débogage) dans votre menu de sélection de démarrage pour obtenir la sortie de débogage. Cependant, ma méthode préférée pour définir le niveau de débogage est l'outil en ligne de commande, kdebug. Pour l'utiliser, démarrez le noyau de débogage, puis ouvrez un Shell, et tapez :
...où "N" est le niveau de débogage que vous voulez activer. Notez qu'il n'y a pas de signe "=" dans la commande ! Vous pouvez vérifier ce qui précède en démarrant le noyau de débogage, en vérifiant que vous voyez les messages de démarrage normaux, puis tapez :
Ouvrez une application, et vérifiez votre sortie série - elle devrait écrire une confirmation du réglage du niveau de débogage :
...suivi par une sortie de débogage comme :
Autres options de débogage Certaines applications ou composants individuels, comme AHI, permettent de définir leur sortie de débogage séparément. Dans le cas d'AHI, cela se fait via Workbench/Prefs/AHI/Advanced Tab/DebugLevel. Ces applications écriront généralement en série si elles sont activées, que vous ayez démarré à partir du noyau de débogage AmigaOS 4 ou non, car elles sont séparées de l'espace du noyau. En cas de doute, référez-vous à la documentation de chaque application ou composant individuel si possible. Cela résume à peu près la sortie série sur votre AmigaOne. J'espère que cet article a été plus utile que déroutant. Si vous trouvez des problèmes ou avez des questions sur cet article, veuillez m'envoyer un courriel à "wegster@mindcore.net". Références et liens utiles
|