hardware-port

    1热度

    1回答

    我有一个带有Fintek F75111 GPIO的原子板。我有来自制造商的信息,用于访问芯片的SMbus地址是06EH。 我想在Linux中读取和写入GPIO值。我有一个针对Windows编写的示例程序,看起来像这样。 #include “math.h” #include “stdio.h” #include “dos.h” void main(void){ int SMB_POR

    1热度

    2回答

    我能够使用mmap系统调用来控制GPIO,以直接从用户空间控制LED操作。现在我想在内核空间中实现驱动程序。 我正在尝试在Linux中为ARM控制器RPi编写我的第一个用于16 * 2行LCD的内核空间设备驱动程序。 现在我需要为此目的访问GPIO。 在AVR中,我用这个来访问端口。 #define PORTA *(volatile unsigned char*)0x30 我正在读LLD它告诉

    1热度

    1回答

    什么是Java-on-Linux相当于C字节大小的PC架构硬件端口输入/输出功能? 对于输出有outb在此: tmp = inb(0x61); if (tmp != (tmp | 0x01)) outb(0x61, tmp | 0x01); 对于输入有inb在此: tmp = (inb(0x61) & 0xfe); outb(0x61, tmp); 目的:我想要实现的东西,比

    7热度

    2回答

    我读的Linux的一些代码。 的keyboard.S有类似 outb %al,$0x61 和 inb $0x61,%al 我认为悬而未决的“B”是指“字节”,但我仍然不能找到什么这些指令的意思。

    4热度

    3回答

    我很难理解中断如何工作。 下面的代码初始化可编程中断控制器 #define PIC0_CTRL 0x20 /* Master PIC control register address. */ #define PIC0_DATA 0x21 /* Master PIC data register address. */ /* Mask all interrupts*/

    3热度

    1回答

    我正在写一个微小的操作系统作为学校的assigment的一部分,但我得到了键盘输入(按一个键 - >显示在屏幕上)卡住了。我使用的是osdev.org(gcc交叉编译器,GRUB引导程序,ld链接器)中的Bare Bones教程,由于我处于保护模式,因此我无法使用BIOS中断进行输入,这就是为什么我必须编写自己的中断处理程序?)但我不确定如何做到这一点,即使我阅读了一些osdev文章和论坛讨论。非

    1热度

    2回答

    在我的Linux机器(Debian的喘息),我试图通过request_region()访问并口,但失败了,因为系统已经加载的内核模块parport ... 所以, I rmmod模块lp,ppdev,parport_pc和parport。然后,我可以成功插入我的模块。 但是,从基地址inb()返回的0xff,无论写什么值。 之前rmmod这些模块来自内核,我可以写和读这个寄存器。然后,我将这些模块

    0热度

    1回答

    我在Linux设备驱动的例子试图short.c 3 我的电脑有并口与Ubuntu的开机后,我可以看到这些: cat /proc/ioports 0378-037a : parport0 037b-037f : parport0 outp 0x378 1 (outp is another example in LDD3 which write data to ports) the LED

    1热度

    2回答

    我试图理解下面的代码: #include<stdio.h> #include<stdlib.h> #include<sys/io.h> #define baseport 0x378 int main() { int b; if(ioperm(baseport,3,1)) { perror("ioperm"); exit(1);

    1热度

    1回答

    我正在制作一个设备驱动程序,它通过接收三个,两个,一个或非数字(应该是1,2或3)的任意组合来打开和关闭键盘LED,如果我做: echo 12 > /dev/ledDevice 程序应该打开数字锁定,大写锁定和关闭滚动锁定,如果我写: echo "" > /dev/ledDevice 每个LED都应该关闭,或者如果它打开将是echo 123但这不会发生,他们总是关闭。他们是在一个整数代表的