2017-08-21 1 views
1

Je suis un débutant dans le portage du noyau. J'essaye de porter le noyau Linux (version-4.9.22) sur le SoC fait sur commande (cpu = arm1176jzfs basé) pour la carte d'évaluation faite sur commande. Je reçois ARM Prime cellule pl011 UART dans mon SoC. Et il est physiquement mappé à l'adresse 0x5800_1000. Pendant que j'essaie de l'utiliser comme Debug UART, le noyau demande son adresse virtuelle. Comment dois-je configurer cette option.Comment spécifier l'adresse virtuelle pour pl011 uart dans le noyau Linux

i.e.:

-> Kernel low-level debugging functions 
    -> kernel low-level debugging port (Kernel low-level debugging on via ARM Ltd PL01x Primecell UART) 
(0x58001000) Physical base address of debug UART 
(??) Virtual base address of debug UART 

Merci, Vivek T.

+0

L'adresse virtuelle de cela est juste un mappage de physique en utilisant un ensemble de règles (généralement très simple, comme les bits et les masques bit). Vous devez d'abord comprendre * pourquoi * la configuration du pilote le demande. – 0andriy

Répondre

0

Si vous avez un débogueur, vous pouvez déboguer certainement pourquoi ne démarre votre noyau.

Vous pouvez regarder ces étapes:

-En configuration du noyau, activez CONFIG_DEBUG_INFO (Kernel Hacking -> contrôles à la compilation et les options du compilateur)

-compile le noyau

-De le débogueur logiciel, charger les symboles de l'elfe. La commande varie d'un débogueur à un autre

-Find symbole « log_buf », et a choisi l'option de « mémoire d'affichage comme décharge »

Je pense donc que les journaux du noyau stockées dans la mémoire tampon. Peut-être qu'il peut vous aider :)