基于Linux的驱动学习
文章平均质量分 76
Andy.w
目前岗位嵌入式软件开发工程师。
展开
-
多节点+内核文件接口
目录一、多节点1、什么是多节点、多节点的意义2、多节点的实现方法3、多节点下的流水灯二、内核文件接口1、open 和 close 文件接口2、read 和 write 文件接口3、按键的驱动控制LED灯 示例原创 2022-06-20 23:49:05 · 213 阅读 · 0 评论 -
Linux2.6驱动开发
目前Linux2.6并不能直接生成设备文件,需要手动生成,接下来就是如何解决这一问题。原创 2022-06-19 22:18:49 · 533 阅读 · 0 评论 -
内核的杂项驱动开发
让一个硬件(文件)正常工作的代码。在Linux系统中一切皆文件!!!操作硬件文件接口函数:打开---open;关闭---close;读---read;写---write上层open会调用内核层的open上层close会调用内核层的closeLinux下设备文件分为三大类:......原创 2022-06-14 20:53:13 · 189 阅读 · 0 评论 -
内核的驱动模块化编程框架
1、程序的两大空间:内核层和用户层正常写的代码都是运行在用户层,很难或者根本接触不到内核层。并且用户层看到的地址都是虚拟地址,所以用户层访问不了硬件。内核层离硬件近,虽然它的地址也不是真是的物理地址,但是它能间接访问操作真实的物理地址。其中真实的物理地址代表着硬件。2、内核层驱动的框架3、如何编译内核的代码(Makefile)4、如何使用驱动生成模块文件5、如何同时编译多个模块6、多个文件生成一个驱动模块(一个驱动模块必然只能有一个加载函数和一个卸载函数)...原创 2022-06-14 19:18:02 · 232 阅读 · 0 评论 -
安装网络NFS服务
目的:在驱动开发阶段每次修改代码都需要将程序拷贝到SD卡再插入到开发板运行测试,显然是非常繁琐的,为了测试更方便我们需要安装网络NFS服务。通过网线让开发板和电脑在线访问。目的:强制虚拟机桥接到有线网卡上1.打开虚拟机-->编辑-->虚拟网络编辑器 2. 强制修改虚拟机IP和开发板IP 3:修改bootargs标红路径根据自己的填写即可。...............原创 2022-06-13 20:36:37 · 473 阅读 · 0 评论 -
内核和根文件系统的制作
内核是一个抽象的东西,是一个运行的程序,管理整个操作系统的程序,好比操作系统的大脑!管理进程、管理内存、管理文件、管理设备、管理网络由于内核不仅仅支持某一款开发板,所以想要移植使用内核首先需要配置内核内核源码很大无法去通过源码修改配置,内核继承了一个配置界面,通过图形化界面配置,此配置界面必须安装一个插件配置界面进入的方法为:1、make meanconfig 生成 .config2、将友善之臂配置好的tiny4412_linux_defconfig内核复制到.config里面3、友善之臂有内核安全保护机制原创 2022-06-13 20:02:43 · 346 阅读 · 0 评论 -
uboot的基本命令(结合内核)
uboot的最主要功能是读写硬盘和内存,跳转功能。reset:uboot的重启命令,该命令一旦输入就会将开发板重启 pri:打印uboot的环境变量参数信息 baudrate 波特率 bootargs 传给内核的参数 bootcmd uboot倒计时结束后默认运行的指令集合 bootdelay uboot的倒计时 set(老板子)/setenv(新版本):set + 你要修改的环境变量名字 + 修改的值 set bootd原创 2022-06-12 22:38:06 · 403 阅读 · 0 评论 -
基于Linux的--裸机启动流程
1、裸开发板 --- 7寸 屏幕800*480(32bit)串口线:CPU: 三星的Exynos4412 四核的CPU 主频 1.4 GHZ 内部自带:64KB i_ROM(不丢失) 内部再带:256KB i_RAM(丢失)开发板: 友善之臂的Tiny4412 开发板 开发板的资源: * 蜂鸣器 * 四个用户按键 * 电源开关(左边拨码开关) * 启动方式的拨码开关(右边) * 向上拨 内部4GB(emmc)启动原创 2022-06-12 21:59:18 · 501 阅读 · 0 评论