嵌入式

嵌入式爱好者!

010_驱动硬件基础

一、sch原理图工程师 1、 方案设计 2、元器件选型 3、采购(能不能买到,价格) 4、 原理图(涉及到稳定性) 二、 layout工程师 1、元器件 layout(封装、布局,布线,log)(涉及到稳定性) 2、焊接的一部分工作(调试阶段板子的焊接) 三、驱动工程师 编写驱动程序,测试模块的功...

2019-09-05 16:44:49

阅读数 15

评论数 0

009_编写简单应用调用驱动

一、调用skyfall_ctl123设备节点 1、测试代码 skyfall_ctl.c #include <stdio.h> #include <sys/types.h> #include <s...

2019-09-05 16:14:22

阅读数 40

评论数 0

008_生成设备节点

一、杂项设备介绍 杂项设备的主设备号是10,在任何Linux 系统中它都是固定的。 杂项设备的引入既解决了设备号数量少的问题,又降低了使用难度,还能防止碎片化,一举多得。 杂项设备是被强制编译至内核中的。 obj-y += misc.o 二、杂项设备注册...

2019-09-05 16:06:47

阅读数 24

评论数 0

007_驱动注册

一、相关函数 platform_driver_register 和platform_driver_unregister 函数 platform_driver_register 函数和platform_driver_unregister 函数用于注册和卸载驱动。 1、在源码目录下的 include/...

2019-09-05 15:56:14

阅读数 36

评论数 0

006_注册设备

一、在虚拟平台platform总线上注册设备 1、platform_device结构体 (1)位置 源码目录下的include/linux/platform_device.h中。 (2)代码 struct platform_device { const char * name;//设备的名称...

2019-09-05 15:49:53

阅读数 21

评论数 0

005_总线、设备和驱动注册流程

在Linux2.6 之后,Linux 设备驱动分为三个实体总线、设备、驱动,平台总线将设备和驱动匹配。在系统注册任意一个驱动的时候,都会寻找对应的设备;当系统注册设备的时候,系统也会寻找对应的驱动进行匹配。 一、总线、设备和驱动关系图 Linux 创立了一种虚拟总线,也叫平台总线或者platf...

2019-08-24 11:42:26

阅读数 41

评论数 0

004_Makefile的编译

一、向内核中添加驱动步骤 在向内核中添加驱动的时候要完成3 项工作,包括: 1、在Kconfig 中添加新代码对应项目的编译条件 2、将驱动源码添加到对应的目录中 3、在目录Makefile 中文件中增加针对新代码的编译条目 二、编译器路径的设置 1、打开家目录下的.bashrc文件,在其最下...

2019-08-24 11:35:57

阅读数 47

评论数 0

003_menuconfig Makefile 等文件的关系

一、.config Kconfig Makefile menuconfig关系 1、Kconfig 2、menuconfig 3、Makefile 4、.config Linux编译器通过.config文件确认哪些代码编译进内核,哪些被裁减掉。 menuconfig是生成.config...

2019-08-24 10:59:30

阅读数 37

评论数 0

002_最简单的linux驱动模块

一、Ubuntu系统下的Vim编辑器无法显示中文字符 1、打开文件“/etc/vim/vimrc” 2、在最底部添加代码 set fencs=utf-8,GB18030,ucs-bom,default,latin1 二、最小linux驱动模板 mini_linux_module....

2019-08-24 10:48:01

阅读数 16

评论数 0

001_内核源码文件

一、源码目录结构 1、迅为iTOP-4412 的平台文件,是arch→arm→mach-exynos→mach-itop4412.c。 2、arch→arm→boot 目录,默认编译生成的内核镜像是在这个目录下。 二、基础知识 1、名词解...

2019-08-24 10:39:11

阅读数 18

评论数 0

implicit declaration of function 'class_device_create'报错解决

最新想学习下韦东山老师的源码教程,将其驱动源码移植到itop4412开发板上,出现一下报错 implicit declaration of function 'class_device_create'报错解决 原因是老版本的内核的函数与新版本的内核函数的不同,需要将class_device_...

2019-08-20 17:22:38

阅读数 45

评论数 0

implicit declaration of function ‘copy_from_user’; did you mean ‘raw_copy_from_user’?报错解决

在编译驱动模块的时候,使用copy_to_user和copy_from_user函数时,会出现下面的类似报错,原因是缺少相关的头文件。 现象 解决办法 添加如下头文件 #include <linux/uaccess.h> 在这里插入代码片 再次编译 ...

2019-08-17 13:57:01

阅读数 84

评论数 0

删除U盘中的System Volume Information 文件夹的方法

在使用U盘测试ARM板的时候,会发现System Volume Information这个文件夹阴魂不散,总是存在,在Windows下是看不见的,即便将文件的查看属性设置为显示隐藏文件。 在使用U盘进行嵌入式ARM测试,自己做了一个脚本,想将U盘中的内容自动挂载,自动拷贝至指定的文件夹,自动卸载...

2019-08-17 09:12:00

阅读数 107

评论数 0

Qt中的信号与槽机制的使用方法

在Qt5中,可以使用如下三种方式完成信号与槽的连接 使用lambda表达式的方式,需要在.pro中加入如下配置信息 CONFIG += C++11 使用Qt4的信号与槽的方式 使用Qt5的信号与槽的方式 关键测试代码 #include "widget.h" #include ...

2019-07-12 16:29:31

阅读数 45

评论数 0

QT下的常用控件使用

最终效果 关键代码 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //测试按钮,...

2019-07-12 14:59:25

阅读数 44

评论数 0

Qt实现两个窗口之间切换

实现目标 首先显示一个主窗口,在该窗口上创建一个按钮,然后按下该按钮,该主窗口隐藏,显示另一个窗口。 在另一个窗口上也有一个按钮,当按下该按钮的时候,该窗口隐藏,显示原来的主窗口。 实现步骤 项目结构 subwidget.h源码 #ifndef SUBWIDGET_H #define SUB...

2019-07-11 14:27:39

阅读数 252

评论数 0

Qt下创建新工程以及拷贝别人的工程注意事项

创建新工程注意事项 创建的路径禁止使用中文路径。 创建的源文件名字禁止使用中文。 编译代码的路径不能有中文 拷贝别人的工程注意事项 如果代码有后缀为 .pro.user 的文件,需要把此文件删除,因为此文件保存之前项目编译环境信息。 ...

2019-07-11 10:41:57

阅读数 100

评论数 0

集合算法求差集——set_difference

集合算法求差集——set_difference 功能描述: 求两个集合的差集 函数原型: set_difference(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest); // 求两个集合的...

2019-07-06 19:15:45

阅读数 111

评论数 0

集合算法就并集——set_union

集合算法就并集——set_union 功能描述: 求两个集合的并集 函数原型: set_union(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest); // 求两个集合的并集 // 注意:两...

2019-07-06 19:13:27

阅读数 99

评论数 0

集合算法求交集——set_intersection

集合算法求交集——set_intersection 功能描述: 求两个容器的交集 函数原型: set_intersection(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest); // 求两...

2019-07-06 19:11:40

阅读数 140

评论数 0

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