自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MrYang

想发财的MrYang...

  • 博客(22)
  • 收藏
  • 关注

原创 【迅为iTop4412学习笔记】22.编写一个LED驱动(未完成)

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标仅上代码,此处以后再写。#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>

2018-12-05 21:09:43 360

原创 【迅为iTop4412学习笔记】21.补全字符驱动,编写应用(未完成)

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标注册字符类设备仅上代码,此处以后再写。#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/cdev.h&am

2018-12-05 20:36:11 144

原创 【迅为iTop4412学习笔记】20.生成设备节点(未完成)

#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/cdev.h>#inc

2018-12-05 20:14:11 198

原创 【迅为iTop4412学习笔记】19.注册字符类设备(未完成)

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标注册字符类设备https://blog.csdn.net/qq_28992301/article/details/52343585#include <linux/init.h>#include <linux/module.h&

2018-12-05 20:09:08 224

原创 【迅为iTop4412学习笔记】18.动态方式申请主次设备号

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标静态方式申请主次设备号动态申请主次设备号的函数上节我们静态申请,这一节我们用动态申请// 动态申请主次设备号(linux分配)int alloc_chrdev_region(dev_t *dev,unsigned int -firstminor,unsigned int -count,char ...

2018-12-01 12:57:45 312 1

原创 【迅为iTop4412学习笔记】17.静态方式申请主次设备号

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标静态方式申请主次设备号申请主次设备号的函数我们打开 include/linux/fs.h 头文件可以看到以下三个函数(具体参数含义后面再说)当然,写的时候要包含头文件 linux/fs.h// 动态申请主次设备号(linux分配)extern int alloc_chrdev_region(d...

2018-11-30 22:21:00 260

原创 【迅为iTop4412学习笔记】16.模块传参

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标模块传参在编写LED的时候我们有做过一个操作,就是./app 1这个操作其实很常见,启动我们写的程序的时候,后面跟着参数,main()的参数argc和argv就会把他们传进来,这是最基本的C语言知识。对于模块而言,也是类似的情况。如果我们的模块想要传参数,首先要包含一个头文件// 头文件路...

2018-11-30 20:55:02 312

原创 【迅为iTop4412学习笔记】14.编写一个LED驱动

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标编写一个LED驱动本节我们就真正的来驱动一个板子上的LED(单片机第一节就是点灯,没想到Linux要学这么久…)我们首先理清思路。注册设备 -> 注册驱动 ->调用probe()这是我们之前学习的过程我们本节关注的重点就是在probe()里以杂项设备的方式生成设备节点,以及申请GP...

2018-11-27 23:38:48 743

原创 【迅为iTop4412学习笔记】11-13部分就略过了

【迅为iTop4412学习笔记】11-13部分就略过了

2018-11-27 21:59:30 184

原创 【迅为iTop4412学习笔记】10.了解物理地址和虚拟地址

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标了解物理地址和虚拟地址,MMU是关键在之前我们对linux驱动已经有了一个大概印象,而编写的代码也都是学习性质的编写,在本节之后就开始逐渐深入。首先我们要用到的就是迅为提供的开发板的原理图,他的位置是iTOP-4412精英版光盘资料\01_PCB_SCH_DATASHEET下的iTOP4412_MA...

2018-11-26 23:17:04 389

原创 【迅为iTop4412学习笔记】关于注册设备、注册驱动、生成设备节点小结

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标了解注册设备、注册驱动、生成设备节点这些概念。其实学到现在,很多东西我们都似懂非懂,而我也是刚学,也感觉很多东西似是而非,但好在代码过程和结果都是对的。我们再次整理一下这些概念。无论是设备,还是驱动,都是挂载在总线上因为有些东西是没有实体总线的(如IIC),所以linux定义了一个虚拟总线pl...

2018-11-26 21:31:06 660

原创 【迅为iTop4412学习笔记】9.编写简单应用调用驱动

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标注册杂项设备,并生成设备节点编写应用就和我们平时写c文件差不多了。首先要包含一些头文件// 这不解释#include <stdio.h>// 拓展了数据类型(uint32_t之类的)#include <sys/types.h&gt

2018-11-26 20:55:49 200

原创 【迅为iTop4412学习笔记】8.注册杂项设备,以及生成设备节点

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标注册杂项设备,并生成设备节点首先讲一下之前我们说过linux的关键是:驱动和设备挂载在总线上比如单片机EEPROM是IIC协议的,那么设备EEPROM挂载在IIC总线上,编写驱动即可。对于总线那么对于LED这种没协议的咋整?他就是个GPIO,所以Linux弄了一个platform虚拟总线,让这...

2018-11-25 22:30:56 710 3

原创 【迅为iTop4412学习笔记】7.以模块方式注册设备,以及驱动获取设备信息

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标以module的方式注册设备正文我们之前提到的流程:注册设备->注册驱动,匹配成功则调用probe函数。(至于probe函数是用来干啥的,这个我暂时也不了解,以后学深了再去探究,我先入门吧…)先回想一下注册设备的流程:我们先是在Kconfig里仿照LEDS_CTL编写了一个MRYANG...

2018-11-24 20:59:29 340

原创 【QT】编写一个简易的串口软件

简述QT学了一点发现学不进去,索性看看能不能直接撸个程序,于是就有了这个简易的串口软件…分析需求这是XCOM串口收发软件,以此为例目的很明确:串口列表要能显示所有已经接上PC上的COM以我们的配置115200-8-1-N打开串口能收、发新建一个Qt项目既然用到串口,那么我们就要在.pro里增加串口的库QT += serialport # 串口库...

2018-11-23 17:39:05 7615 2

原创 【迅为iTop4412学习笔记】6. 编写以模块方式注册的驱动

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标驱动注册上一篇我们注册了设备,接下来就是要注册驱动,而注册完驱动,就可以基佬配对了…首先我们打开头文件,看一下驱动注册的结构体长啥样vim include/linux/platform_device.h打开看到的就是上一节用到的注册设备的结构体,然而本节是注册驱动,所以我们搜索pla...

2018-11-23 13:17:19 239

原创 【迅为iTop4412学习笔记】5. platform注册字符设备

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标无上一篇说注册设备的时候谈到一个结构体 platform_device,我们直接找到linux的定义查看,首先你要进iTop4412源代码目录,输入命令vim include/linux/platform_device.h一进来就看到struct platform_device {...

2018-11-22 20:21:25 330

原创 【迅为iTop4412学习笔记】4. 总线、设备、驱动,注册流程

声明以下都是我刚开始看驱动视频的个人强行解读,如果有误请指出,共同进步。本节目标了解Linux总线、设备驱动注册的流程基本知识一般的设备:接入设备 -> 注册设备 -> 注册驱动热插拔设备:注册驱动 -&

2018-11-22 18:34:08 320

原创 【迅为iTop4412学习笔记】3. 编译最小linux,并修改Makefile取消LED编译进内核

首先编译一个最小的linux烧写试试解压迅为提供过的源码包iTop4412_Kernel_3.0_20180604.tar.gztar -xvf iTop4412*.tar.gzcd iTop4412*因为我是 SCP 1G,我要的是最小linux,所以cp config_for_linux_scp_elite .config最后make打包成zImage,进行漫长的等待ma...

2018-11-21 23:02:41 470

原创 【迅为iTop4412学习笔记】2. make menuconfig即Kconfig的仿写(简单说说,但是很重要)

linux内核参考:https://yq.aliyun.com/articles/594992?utm_content=m_50735wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.2.tar.xzxz -d .tar.xztar -xvf .tarcd linuxsudo apt-get install git ...

2018-11-21 21:39:47 412

原创 【迅为iTop4412学习笔记】1.简单的linux模块

123123【迅为iTop4412学习笔记】1.简单的驱动欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchar...

2018-11-20 23:00:57 437

原创 写在学习笔记前

写在学习笔记前此时的我其实心情复杂,因为此时刚毕业不久,目前还干着单片机STM32的活养活自己,实际上大学四年锤子都没学,好吧,往事不提。其实是想更好的发展,更好的薪酬,单片机是不够的,最终还是要往系统靠。刚开始学的时候,什么都看,什么QT啊,APUE,UNP这些圣经啊,应用编程啊,驱动啊,啥都看,结果啥都没记住,感觉白学了。所以还是想留下一些笔记,巩固记忆和总结。(PS:妈蛋CSDN前...

2018-11-20 22:59:19 478 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除