![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM手把手驱动
迪加不会飞
again again again
展开
-
20200421-01 将驱动函数映射到 /sys 中供用户调用
1 找到对应驱动类型的文件下的 sysfs.h 文件比如:include/linux/iio/sysfs.h2 在 sysfs.h 文件夹中定义宏定义#define IIO_DEV_ATTR_READV(_show) \ IIO_DEVICE_ATTR(read_value, S_IRUGO, _show, NULL, 0)3 在对应的设备文件夹下声明 ad...原创 2020-04-21 13:59:54 · 294 阅读 · 0 评论 -
20200409-02 platform基于设备树配套 led 例程
设备树/{ gpioled { compatible = "atkalpha-gpioled"; #address-cells = <1>; #size-cells = <1>; pinctrl-names = "default"; pinctrl-0 = <&pin...原创 2020-04-09 13:08:59 · 163 阅读 · 0 评论 -
20200409-01 Linux 三言两句努力说清 platform 架构
platform 驱动这是 linux 设备驱动分离与分层思想的一种架构产物,由总线(bus)、驱动(driver)、设备(device),这样我们只需要根据不同驱动和设备,采用统一的 API 来提高程序的重用率platform 总线需要使用 bus_type 结构体 include/linux/device.h//实例: driver/base/platform.c 定义实例struc...原创 2020-04-09 12:55:56 · 139 阅读 · 0 评论 -
20200408-01 堵塞 非堵塞 傻傻分不清楚(配linux 按键例程含堵塞、非堵塞例程)
堵塞 / 非堵塞 IOIO:是指对于内存的读写操作,很多时候读跟写存在互斥性不能同时进行,亦或者没法多个线程实现同时读写 堵塞:对应线程获取不到资源则被挂起,优势让出 CPU 资源 非堵塞:一直轮循等待堵塞方式打开文件: fd = open("xx", O_RDWR);非堵塞方式打开文件: fd = open("xx", O_RDWR | O_NONBLOCK);堵塞I...原创 2020-04-08 13:44:49 · 131 阅读 · 0 评论 -
20200407-01 何为上半部? 何为下半部? linux
中断函数描述int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev)中断申请函数void free_irq(unsigned int irq, void *dev)删除中断处理函数并禁止中断irqretur...原创 2020-04-07 19:59:44 · 355 阅读 · 0 评论 -
20200402-01 Linux 原子锁及驱动入门例程
注释:文章最后是完成的代码设备环境说明:1 ubuntu 18.042 arm-linux-gnueabihf-gcc (直接在新力得或者sudo apt install gcc-arm-linux-gnueabihf 指令下载即可)3 使用周立功 M6Y2C 开发板进行测试4 芯片是 Cortex-A7 Nxp imx6ul说明本次主要测试原子锁原子锁的主要应用场景是在于整形...原创 2020-04-02 11:02:22 · 361 阅读 · 0 评论 -
20200401-01 ARM 基础汇编内容说明
1 基本格式 led.s.global _start //全局标号_start:内容//死循环loop: b loop2 编译代码arm-linux-gnueabihf-gcc -g -c led.s -o led.o-g 输出调试信息-c 编译但不链接3 确定链接地址,将 .o 文件链接到指定位置arm-linux...原创 2020-04-01 10:10:20 · 138 阅读 · 0 评论 -
20200330-02 Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)
这是在加载驱动模块的时候的输出gpioled: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)insmod: can't insert 'gpioled.ko': unknown symbol in module, or unknown parameter解决方案就是编译的时候加入 EXTRA_CFLAGS=-fno-pic参数,如下...原创 2020-03-30 20:46:16 · 1736 阅读 · 0 评论 -
20200314 (01) 手把手配置 NFS 和 TFTP
实验环境:系统:Ubuntu 18.04 (本机局域网IP:192.168.1.120)下位:IMX6UL 系列开发板一、配置 NFS 服务器//解压文件sudo mkdir /nfsrootsudo mkdir /nfsroot//安装 NFS 服务器sudo apt install nfs-kernel-serversudo apt install nfs-...原创 2020-03-14 17:07:43 · 104 阅读 · 0 评论