摘要: 1、Linux驱动的两种运行方式 1.将驱动编译进Linux内核中,当内核启动就会自动运行驱动程序;2.将驱动编译成模块(.ko文件),在内核启动以后使用“insmod”命令加载驱动模块。 2、注册模块加载和卸载函数 module_init(xxx_init); //注册模块加载函数. xxx_in 阅读全文
posted @ 2020-05-15 10:34 Mike_2019 阅读(869) 评论(0) 推荐(0)
摘要: 应用程序运行在用户空间,而Linux驱动属于内核的一部分,当我们用户空间想要实现对内核的操作,必须使用一个叫做“系统调用”的方法来实现从用户空间陷入到内核空间,这样才能实现对底层驱动的操作。在Linux内核文件include/linux/fs.h中有个叫file_operation的结构体,就是li 阅读全文
posted @ 2020-05-15 10:07 Mike_2019 阅读(519) 评论(0) 推荐(0)
摘要: 1 编译 在kernel文件夹下新建一个mx6ull_mk_emmc.sh文件,输入以下内容: #!/bin/sh make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean # make ARCH=arm CROSS_COMPILE=arm 阅读全文
posted @ 2020-05-15 09:14 Mike_2019 阅读(382) 评论(0) 推荐(0)
摘要: 1、环境变量bootcmd与bootargs 1.1 环境变量bootcmd bootcmd 保存着 uboot 默认命令, uboot 倒计时结束以后就会执行 bootcmd 中的命令。这些命令一般都是用来启动 Linux 内核的,比如读取 EMMC 或者 NAND Flash 中的 Linux 阅读全文
posted @ 2020-05-15 09:13 Mike_2019 阅读(1590) 评论(0) 推荐(0)