O seu cartão está devolvendo FFFFFFFF para o ID do dispositivo ou do fornecedor? Você ainda pode acessar no U-Boot por meio do comando pci
, mas como isso significa que nenhum dispositivo está presente em uma varredura de dispositivo, o Linux não o atenderia. Eu poderia estar muito errado sobre isso (eu presumo que esta é uma plataforma ARM desde que você menciona o U-Boot - talvez funcione de forma diferente em diferentes arquiteturas de CPU ...)
É possível que o Linux esteja lendo o barramento PCI incorretamente. Outros dispositivos PCI além do seu personalizado funcionam? Se não, verifique se você está usando o kernel correto para sua placa ou talvez precise examinar suas opções make menuconfig
mais de perto ao construir seu kernel.
/dev/mem
permite acessar diretamente endereços de memória não mapeados. Você pode usar ferramentas como dd
e outras, embora fazer leituras e gravações específicas em endereços únicos através de bash
não seja agradável ou fácil. Não tenho conhecimento de uma ferramenta do Linux que funciona como um "monitor", lendo e gravando diretamente a memória ou um dispositivo (talvez gdb
, mas opera no espaço do usuário ...)