gpt4 book ai didi

linux - Linux 设备驱动程序中的寄存器级访问

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:48 27 4
gpt4 key购买 nike

我只有2周的linux驱动开发经验,但是在嵌入式c编程方面有很好的经验。我只在 linux 中尝试过字符设备驱动程序。现在我想为一组连接到 GPIO 的 LED 尝试一个设备驱动程序。我正在使用 BeagleBone Black。我希望从寄存器级别访问它,而不仅仅是调用任何驱动程序。 (我这样做是为了学习基础知识)

我希望我的驱动程序 GPIO 访问代码有点像下面

void SetLED(unsigned char LED,unsigned char Status){
//Read the port register
//BitWise Operation according to function parameters
//Write back to the register
}

但是我需要一些关于如何在 Linux 中直接访问寄存器的帮助。我从数据表中得到端口 OUT 寄存器的实际地址为 0x4804C13C

请原谅我在我的问题中打破了任何基础知识。我真的是 Linux 新手。

最佳答案

你的司机必须打电话

struct resource *request_mem_region(unsigned long start, unsigned long len, char *name);

注册对该内存区域的独占访问权。

那么就必须使用ioread8(),ioread16()等和iowrite8(),iowrite16()

关于linux - Linux 设备驱动程序中的寄存器级访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com