Monitor I / O grava no cartão ISA

3

Estou usando uma placa de E / S analógica / digital em muitos projetos ( DMM-16-AT da Diamond Systems ), que é um cartão PC / 104 (equivalente ISA).

O problema é que existem 8 saídas digitais no endereço BASE + 3, que são 0V na inicialização, mas 5V (lógica 1) após cerca de 10 segundos no processo de inicialização. Eu estou suspeitando que outro driver do kernel ou programa ou etc está escrevendo neste endereço. Existe alguma maneira de "monitorar" gravações em um endereço especítico para rastrear o problema?

Nota: o endereço base é 0x300, também o tempo total de inicialização do Linux é de cerca de 45 segundos, por isso não está relacionado ao meu próprio programa.

Na folha de dados:

Base + 3 de porta de saída digital de gravação

        +-------+-------+-------+-------+-------+-------+-------+-------+
Bit No. |     7 |     6 |     5 |     4 |     3 |     2 |     1 |     0 |
        +-------+-------+-------+-------+-------+-------+-------+-------+
Name    | DOUT7 | DOUT6 | DOUT5 | DOUT4 | DOUT3 | DOUT2 | DOUT1 | DOUT0 |
        +-------+-------+-------+-------+-------+-------+-------+-------+

Esses pinos correspondem diretamente aos mesmos pinos nomeados no conector de E / S J3.

Na energização ou reset, o registro de saída é liberado para todos os zeros.

    
por Alexandre Lavoie 18.12.2016 / 17:39

1 resposta

3

Você pode dizer ao kernel para não testar alguns endereços. Do homem bootparam :

 reserve=iobase,extent[,iobase,extent]...

The reserve boot-time argument specifies an I/O port region that shouldn't be probed. A device driver will not probe a reserved region, unless another boot argument explicitly specifies that it do so.

 reserve=0x300,32  blah=0x300

keeps all device drivers except the driver for 'blah' from probing 0x300-0x31f.

Claro, ainda pode ser o gerenciador de inicialização (por exemplo, o grub) que está fazendo o teste.

    
por 18.12.2016 / 18:13