自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (7)
  • 收藏
  • 关注

原创 linux驱动开发—— 6、linux 设备驱动模型

设备驱动模型一、linux设备驱动模型简介一、linux设备驱动模型简介1、什么是设备驱动模型设备驱动模型其实是Linux内核为了管理硬件上的设备和对应的驱动制定的一套软件体系。那么其实设备驱动模型是一个比较抽象、比较广的一个概念,一两句话是很难说清楚的,类(class)、总线(bus)、设备(device)、驱动(driver)、mdev(自动创建设备节点和设备类)sysfs等都属于设备驱动模型的范畴。(1)类class、总线bus、设备device、驱动driver1、都是 Linux 里面

2021-03-31 16:37:25 2094 1

原创 linux驱动开发—— 5、gpiolib 学习

来自朱有鹏老师的学习笔记,如有侵权,请告知删除。gpiolib引入(1)一个事实:很多硬件都要用到GPIO、GPIO会复用1、缩在我们定时器内部的硬件不用到 GPIO2、外面的硬件、按键、SD卡、LCD显示器等等都要用到 GPIO(2)如果同一个GPIO被2个驱动同时控制了,就会出现bug(3)内核提供gpiolib来统一管理系统中所有GPIO(4)gpiolib本身属于驱动框架的一部分gpiolib一、linux内核的gpiolib学习主线1:gpiolib的建立1、找到**目标函.

2021-03-31 08:47:40 384

原创 linux驱动开发—— 4、驱动框架入门之 LED

来自朱有鹏老师的课堂笔记1、之前的代码:是我们练手,理解流程的低级代码。2、进一步改进:使用驱动框架,靠近内核的思想,在公司里面可以直接使用。一、驱动框架是什么1、驱动是谁写的(1)驱动开发工程师(2)内核维护者内核维护者 >> 驱动开发工程师 >> 应用开发工程师2、驱动编程协作要求(1)接口标准化(2)尽量降低驱动开发者难度3、到底什么是驱动框架(1)举例:比如世界上有很多种led,内核维护者,会尽可能多的收集最多的硬件。1、内核维护者:把.

2021-03-25 20:02:25 718

原创 linux驱动开发—— 3、字符设备驱动高级

来自朱有鹏老师的课堂笔记一、更换注册设备函数1、知识铺垫1、新接口与老接口(1)老接口:register_chrdev1、一个函数同时实现设备的注册,和主设备号的返回2、只能返回主设备号(2)新接口:register_chrdev_region/alloc_chrdev_region + cdev(结构体)1、register_chrdev_region :自己指定注册设备号:告诉内核这个设备号,要被占用2、alloc_chrdev_region :内核分配设备号:内核自己分配一.

2021-03-24 23:21:41 226

转载 经典运放电路分析(经典)

文章转载自:经典运放电路分析(经典)从虚断,虚短分析基本运放电路运算放大器组成的电路五花八门,令人眼花瞭乱,是模拟电路中学习的重点。在分析它的工作原理时倘没有抓住核心,往往令人头大。为此本人特搜罗天下运放电路之应用,来个“庖丁解牛”,希望各位看完后有所斩获。遍观所有模拟电子技朮的书籍和课程,在介绍运算放大器电路的时候,无非是先给电路来个定性,比如这是一个同向放大器,然后去推导它的输出与输入的关系,然后得出Vo=(1+Rf)Vi,那是一个反向放大器,然后得出Vo=-Rf*Vi……最后学生往往得出这样一个

2021-03-24 10:04:38 1368

原创 linux驱动开发—— 2、字符设备驱动基础知识

来自朱有鹏老师的课堂笔记模块和驱动的区别:1、模块是驱动的雏形,驱动:模块+硬件。2、模块是一个机制,驱动调用了这个机制。3、就像是汽车和发动机的区别。一、字符设备驱动工作原理1、系统整体工作原理(1)应用层->API->设备驱动->硬件(2)API:open、read、write、close等(3)驱动源码中提供真正的open、read、write、close等函数实体2、file_operations 结构体(内核源代码当中被定义)file_opera.

2021-03-24 07:55:39 634

原创 linux驱动开发—— 1、最简单的模块源码分析

来自朱有鹏课堂笔记整体思路:1、先做实验2、分析细节、讲解理论3、自己编写驱动,然后再写应用程序来测试驱动。一、开启驱动开发之路1、驱动开发的所需物品(1)正常运行的 linux 系统的开发板。1、开发板上面跑的内核,zImage 必须是自己编译的。(2)内核源码树(文件夹套文件夹的形式)1、内核源码树:就是一个经过配置编译之后,的内核源码。(3)nfs 挂载的 rootfs1、在主机 Ubuntu 当中必须有一个搭建好的 nfs 服务器。2、目的:将主机 UBu.

2021-03-22 09:09:15 492

原创 uboot和系统移植----------18、buildroot 的引入和介绍

来自朱有鹏老师的课堂笔记一、X210 的bsp介绍1、每个操作系统内核,都会对应一个bsp。2、 bsp 里面包含uboot 、kernel、rootfs1、嵌入式linux产品的bsp介绍(1)大部分的ARM架构的linux平台的,bsp的内容和结构都是相似的。(2)bsp一般是芯片厂家/板卡厂家提供的。2、X210的linux+QT bsp整体介绍(1)tslib_x210_qtopia.tgz 是用来支持QT的触摸屏操作的应用层库(2)内容分析1、xboot和uboo.

2021-03-21 08:58:17 570

原创 uboot和系统移植----------17、根文件系统的构建实验及过程详解

一、根文件系统的构建路线

2021-03-20 21:45:50 317

原创 uboot和系统移植----------16、根文件系统

根文件系统一、根文件系统概述1、为什么需要根文件系统一、根文件系统概述1、为什么需要根文件系统(1)init 进程的 应用程序在根文件系统上init :就是进程1.(进程 0 是 idle 空闲进程)1、init 进程的作用:是Linux 从内核态实现向用户态的转变。2、转变过程:调用一个 应用程序。(2)根文件系统提供了根目录/(3)内核启动后的应用层配置(etc目录)在根文件系统上。几乎可以认为:发行版=内核+rootfs(4)shell命令程序在根文件系统上。譬如ls、cd等命令

2021-03-19 22:44:17 277

原创 uboot和系统移植----------15、从三星官方开始移植内核

一、内核移植初体验1、三星官方移植版内核获取(1)从网盘下载源码包。(2)这个文件最初是来自于三星的 SMDKV210 开发板附带的光盘资料。(三星这个开发板比较全面,富含的硬件很全面)(我们开发板 s5pv210 这个开发板比较精简)2、构建移植环境(1)删除无关的代码:arch目录下与arm 无关的代码arch/arm 目录下(2)Windows下建立SI工程(3)将源码包放到,ubuntu下解压,然后对应删除在 windows 里面删除的文件。3、尝试编译(1)检查Mak

2021-03-18 17:11:34 280 1

原创 uboot和系统移植----------15、cmdline常用参数

cmdline 是什么?命令行参数、cmdline 就是uboot 当中的环境变量:bootargs1、基本格式简介(1)格式就是由很多个项目用空格隔开依次排列,每个项目中都是:项目名=项目值(2)整个cmdline会被内核启动时解析,解析成一个一个的项目名=项目值的字符串。这些字符串又会被再次解析从而影响启动过程。2、root=(1)这个是用来指定根文件系统在哪里的(2)一般格式是root=/dev/xxx(一般如果是nandflash上则/dev/mtdblock2,如果是inand/sd

2021-03-17 20:21:06 741

原创 uboot和系统移植----------15、内核的启动过程

一、分析前准备1、删除无用的文件(1)官方版本的kernel中是支持各种硬件架构、各种开发板的,因此有很多文件夹和文件和我们无关,在建立SI工程前应该删掉这些家伙。(2)我们现在分析的是开发板厂商九鼎科技移植好的针对X210开发板的kernel,因此其中一些无用文件已经被删掉了。...

2021-03-17 10:10:30 261 1

原创 uboot和系统移植----------14、内核的配置和编译原理

内核的配置和编译原理一、linux内核源码目录结构1、源码从哪里来一、linux内核源码目录结构1、源码从哪里来(1)之前讲过,我们使用2.6.35.7版本的内核。这个版本的内核有三种:第一种:是kernel.org上的官方版本,第二种:是三星移植过的,(三星的开发板光盘当中有)第三种:是九鼎X210的移植版本。(在九鼎的光盘当中有)我们使用第三种内核分析,后面的移植实验使用第二种内核来移植。...

2021-03-14 22:48:58 194

原创 ubuntu16.04 64位系统使用32位交叉编译器 的问题

在ubuntu16.04的64位系统上安装32位交叉编译工具链,建好软连接后,发现无法使用,显示No such file or directory。解决方法:需要安装 aptitude 软件aptitude install libc6:i386选择:nyy安装完成后,测试可用。后来有发现其它解决方式,但未测试,记录,备用,如下 :apt-get install lib32ncurses5 ​apt-get install lib32z1​...

2021-03-13 10:57:13 438

原创 嵌入式开发环境搭建

记录常用的嵌入式开发环境搭建

2021-03-12 18:06:56 5336

原创 uboot和系统移植----------13、话说Linux 内核

Linux内核一、内核和发行版的区别一、内核和发行版的区别

2021-03-11 15:04:44 173

原创 uboot和系统移植----------12、uboot 杂记 — logo 显示和 fastboot 原理

一、x210 uboot 当中的LCD操作分析1、新旧版本开发板的LCD模组差异(1)2015.11月初之前购买的X210开发板都属于老版本,型号是 X210V3 ;之后购买的开发板都是新版本的,型号是X210V3S。(2)两个开发板主要电路是完全一样的,不同主要有3点:1、是把拨码开关换成了短路帽;2、另一个是LCD分辨率从800480升级成1024600;3、第三个是触摸屏芯片型号换了。2、背光电路分析(1)LCD的背光源有2种设计。一种是简单设计,背光只能点亮和熄灭两种状态,不能

2021-03-10 22:36:30 486

原创 uboot和系统移植----------9、硬件驱动部分

硬件驱动一,uboot与linux驱动1、uboot本身是裸机程序2、uboot的虚拟地址对硬件操作的影响3、uboot借用(移植)了linux驱动二、简单分析iNand/SD驱动从start_armboot开始1、mmc_initialize1、启动 linux 内核:用到串口,所以涉及串口的驱动。2、lcd 的显示:需要 lcd 的驱动3、烧录镜像到 sd 卡当中:用到存储器的驱动。一,uboot与linux驱动1、uboot本身是裸机程序(1)裸机本来是没有驱动的概念的(狭义的驱动的概念就

2021-03-10 10:22:44 160

原创 uboot和系统移植----------8、uboot环境变量 的源码分析

uboot 环境变量一、uboot的环境变量基础0、环境变量和全局变量的区别1、环境变量的作用2、环境变量的优先级3、环境变量在uboot 中工作方式二、环境变量相关命令源码解析1、printenv2、setenv3、saveenv(写入 sd 卡)三、uboot内部获取环境变量1、getenv2、getenv_r一、uboot的环境变量基础0、环境变量和全局变量的区别(1)全局变量是在程序运行的时候,才会被定义,才会生成对应的实体。而且程序重新运行,全局变量就会被再次定义,不会累积到下一次运行。(

2021-03-09 16:58:19 187

原创 uboot和系统移植----------7、uboot的命令体系

命令体系一、uboot命令体系基础1、使用uboot命令2、uboot 命令支持传参二、uboot 命令的获取、解析、执行1、从main_loop 说起课程目标:1、实现自己可以添加一个命令,重新编译之后可以使用。2、了解uboot 当中命令体系的实现过程,实现架构3、一、uboot命令体系基础1、使用uboot命令uboot启动后进入命令行环境下,在此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。(1)uboot命令体系的实现代码在 uboot/common/cmd_xx

2021-03-09 12:08:59 170 3

原创 linux驱动开发—— 1、驱动应该怎么学

来自朱有鹏物联网大讲堂的学习笔记驱动应该怎么学一、什么是驱动1、理解驱动的概念2、linux 的体系架构二、模块化设计1、微内核和宏内核2、静态模块化3、动态模块化三、linux 设备驱动分类四、驱动程序的安全性要求1、驱动是内核的一部分2、驱动对内核的影响3、常见驱动安全性问题五、驱动应该这么学(1)重点应该放在字符设备驱动上面,它主要应对于 非标准件(2)LED、蜂鸣器、framebuffer、input子系统、触摸屏等等都是标准件,这些标准件主要是针对于它的移植。一、什么是驱动1、理解驱.

2021-03-05 11:05:16 410 5

原创 郝斌——数据结构笔记(树)

树专题1、前景知识1、前景知识树的定义:1、

2021-03-05 08:05:49 462

原创 培训机构的课程安排

华清远见嵌入式开课吧C++

2021-03-03 09:58:45 154 1

DS1302 datasheet.pdf

ds1302 英文原版的数据手册

2021-11-29

6,SD卡资料.zip

SD卡、SDIO 相关资料

2021-08-17

低压直流伺服软件V3.0.exe

直流无刷伺服电机驱动器控制软件。(232通讯)

2021-08-03

210_iROM_ApplicationNote.pdf

s5pv210片内irom 和 iram 的介绍

2021-02-17

SecureCRT.rar

直接将可执行文件,搬运到硬件上运行

2021-01-08

Image2Lcd(图片取模软件).rar

将图片转化为取模数组,比如:一副分辨率是800×480,BPP是24的图片,实际上就是800×480×3字节的数据。将来写代码将图片显示到LCD中时,图片将会以 unsigned char pic_data[800×480×3]的形式出现。

2020-08-21

STM32F10XXX参考手册(中文).pdf

STM32F10XXX中文手册,Author: 想文艺一点的程序员 自动化专业 工科男 再坚持一点,再自律一点 CSDN@想文艺一点的程序员 来自朱有鹏嵌入式的学习笔记

2020-08-21

空空如也

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

TA关注的人

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