Comando shell para ler registros de dispositivos?

16

Em um computador de placa única que executa o Linux, existe uma maneira de ler o conteúdo dos registros de configuração do dispositivo que controlam o hardware? Eu acho que seria um wrapper para inw() .

Estou procurando algo equivalente ao comando de despejo de memória U-boot ( md ), a ser usado no contexto da depuração do driver.

    
por pingswept 17.12.2010 / 19:19

5 respostas

11

Se você souber o endereço físico do dispositivo, poderá usar o devmem2.

devmem2 <physical address> <size (b/h/w)> [value]
    
por 05.06.2014 / 16:36
3

Eu não sei se você pode fazer isso diretamente com um kernel vanilla.

Mas deve ser um passo à frente para escrever um driver simples que use um "arquivo" em / proc para exportar o conteúdo da memória que você gostaria de ver.

Depois, você pode ler seu "arquivo" com um script simples e ter acesso a essa memória.

    
por 31.12.2010 / 23:30
1

Eu poderia estar completamente errado com isso, e me perdoe se eu sou, mas se o comando md do uboot estiver lendo endereços de memória mapeados para registros de dispositivos e retornando o conteúdo para você, você não poderia ler os mesmos locais de memória? com uso inteligente de dd if=/dev/mem ... ?

    
por 31.12.2010 / 15:27
0

A configuração do dispositivo PCI está em / sys / bus / pci / devices / * / config de alguma ajuda?

    
por 07.01.2011 / 05:19
0

busybox devmem

busybox devmem é a minha versão preferida de devmem2 , que foi mencionada em: link

devmem2 veio em muitas versões diferentes de vários upstreams, especialmente o link do Buildroot

Mas um utilitário Busybox é mais canônico, amplamente disponível e mantido.

Por exemplo, devmem2 foi rejeitado pelo Debian: link (mas um O pacote do Ubuntu foi criado mesmo assim.

Você pode obtê-lo no Ubuntu com:

sudo apt-get install busybox

Uso: leia 4 bytes do endereço físico 0x12345678 :

sudo busybox devmem 0x12345678

Escreva 0x9abcdef0 para esse endereço:

sudo busybox devmem 0x12345678 w 0x9abcdef0

Veja algumas maneiras interessantes de testar o devmem out: link

    
por 07.08.2017 / 18:19