自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 网络I/O模型(阻塞,非阻塞,I/O复用,信号驱动,异步)

文章目录文章搬运用户空间和内核空间进程切换文件描述符buffer IOIO模型阻塞I/O 模型文章搬运https://www.toutiao.com/i6708287952520217095/用户空间和内核空间在Linux中不管是内核空间还是用户空间都是使用虚拟地址,在32位平台而言,它的寻址范围是4GB,如下图所示:所以从较低3GB(0x00000000到0xBFFFFFFF)称之...

2019-06-30 21:04:07 453

原创 关于-面向对象的软件设计

文章目录文章参考大纲面向对象的封装、继承和多态继承封装多态C语言实现封装、函数指针过程式OO思想从一个命令解析器的案例开始过程化程序设计采用封装思想设计实际案例含很多模块的软件初始化实际案例-uboot启动初始化部分一个嵌入式图形框架的C面向对象过程式OO思想.C语言实现继承和多态,模拟虚函数提炼软件的中间层综合案例,对象式思维锻炼文章参考https://blog.csdn.net/weixi...

2019-06-30 16:20:22 2972

原创 c/c++面试精选题-01 关键字作用总结

文章目录开篇介绍 -文章搬运cpp软件架构狮《C语言深度解剖》常用关键字总结const关键字作用总结规则const关键字作用const关键字应用举例const 修饰的只读变量节省空间,避免不必要的内存分配,同时提高效率修饰一般变量修饰数组修饰指针修饰函数的参数修饰函数的返回值volatile关键字的用法及意义常用案例常见问题用法总结:static关键字的作用修饰局部变量修饰全局变量修饰函数修饰成员...

2019-06-29 22:41:21 380

原创 嵌入式内核及驱动开发-10设备树(设备树,设备树文件,dtb文件,of解析dts节点的API,获取属性,验证dts的中断信息)

文章目录DTS设备树的由来和使用Linux设备树的由来-为什么会有设备树快速编译设备树---DTC (device tree compiler)快速了解设备树---编译设备树文件Linx设备树的由来--什么是设备树运行流程分析节点 nodepropertycompatible属性#address-cells和#address-siz属性reg属性中断信息属性--interrupts和interru...

2019-06-28 19:39:00 1290

原创 嵌入式内核及驱动开发-09IIC子系统框架使用(I2C协议和时序,I2C驱动框架,I2C从设备驱动开发,MPU6050硬件连接,MPU6050数据读取,MPU6050从设备驱动编写)

文章目录I2c协议和时序I2c介绍I2c硬件连接I2c总线的信号I2c总线写时序I2c总线读时序I2c驱动框架I2C子系统软件框架常用的对象设备驱动对象i2c_client—挂在I2C总线上的I2C从设备adapter i2c 控制器对象数据包对象读写数据设备树中添加MPU6050信息内核选配添加设备树节点编写驱动程序 mpu6050_i2c_drv.cI2c协议和时序I2c介绍I2C(In...

2019-06-27 13:55:17 820

原创 嵌入式内核及驱动开发-08输入子系统框架 (输入子系统,输入设备驱动程序编写,应用程序读取输入设备数据)

文章目录linux字符设备驱动编程linux程序框架的概念字符设备高级驱动课程初级驱动和高级驱动的不同特点输入子系统学习输入子系统的作用和框架输入子系统的编程方式前提条件make menuconfig 配置编写步骤(主要流程):linux字符设备驱动编程1,实现入口函数 xxx_init()和卸载函数 xxx_exit()2,申请设备号 register_chrdev_region (与内...

2019-06-23 09:58:58 734

原创 过关检测-Lv3_ 数据结构

下列结构,属于线性结构的是(C )A 二叉树B 有向无环图C 循环队列D 霍夫曼树对于层次结构,下列描述正确的是( C)A 具有唯一前驱和唯一后继B 具有多个前驱C 后继可以有多个,前驱只有一个D 前驱可以有多个,后继只有一个下列不属于描述数据逻辑结构的是( D )A 线性表B 树C 图D 链表数据结构包含的内容不包括(A...

2019-06-20 21:52:52 3653

原创 嵌入式内核及驱动开发-07linux驱动之平台总线(设备驱动模型,sysfs文件系统,device的构建和注册,driver的构建和注册总线,bus匹配)

文章目录设备驱动模型和sysfsLinux设备驱动模型的由来设备驱动模型busdevicedriverSysfs文件系统常用API介绍配对函数(match)探测函数(probe)卸载函数(remove)总线模型编程示例-总线模型编程自定义总线 mybus.c定义设备 mydev.c编写驱动 mydrv.c终端信息如何实现总线匹配平台总线模型平台总线编程接口Pdev注册和注销Pdrv注册和注销获取资...

2019-06-20 21:28:23 823

原创 嵌入式内核及驱动开发-06 中断编程,阻塞,非阻塞,多路复用select和poll,中断下半部,tasklet和work

文章目录实现文件IO模型之一阻塞,等同于休眠例—阻塞方式驱动代码 key_drv.c应用程序key_test.c终端信息非阻塞例—非阻塞模式驱动代码key_drv.c应用程序 key_test.c终端信息实现文件IO模型之一阻塞,等同于休眠文件io模型: 1,非阻塞 2,阻塞 3,多路复用--select/poll 4, 异步信号通知faync阻塞: 当进程在读取外部设备的...

2019-06-18 15:49:40 542

原创 嵌入式内核及驱动开发-05 中断编程(添加(定义)设备节点,获取中断号,申请中断,字符设备驱动框架,传递数据给用户)

文章目录回顾中断号和中断申请中断号获取中断号的方法(添加设备节点):系统中已经定义好的查看原理图,找到按键所对应的中断号SPI Port No可以在设备树文件arch/arm/boot/dts/exynos4x12-pinctrl.dtsi中看到在编程过程中,需要定义自己的节点–描述当前设备用的中断号在驱动中去通过代码获取到中断号,并且申请中断(实现中断处理方法)实现字符设备驱动框架驱动中将硬件所...

2019-06-17 10:03:32 897

原创 嵌入式内核及驱动开发-04 字符设备驱动编写(readl-writel)

文章目录驱动和应用程序的设计思想应用程序和驱动扮演的是什么角色编写字符设备驱动的步骤和规范步骤规范:操作寄存器地址的方式 readl/writel():传统的方式内核提供的方式例—LED灯闪烁驱动代码 led_drv.c应用程序 led_test.cMakefile驱动和应用程序的设计思想应用程序和驱动扮演的是什么角色用户态:应用程序 玩策略: 怎么去做 1, 一闪一闪 ...

2019-06-16 00:09:38 799

原创 嵌入式内核及驱动开发-03字符设备驱动基础(申请设备号,创建设备节点,实现文件操作对象,应用控制驱动,copy_to_user,ioremapled,灯驱动)

文章目录字符设备、块设备、网络设备基础概念字符设备块设备网络设备字符设备驱动框架(用户空间和内核空间)设备号,设备节点字符设备驱动框架字符设备驱动向系统申请—主设备号示例-主设备号申请测试创建设备节点手动创建测试自动创建(通过udev/mdev机制)创建一个类创建一个设备文件销毁动作:例—代码测试在驱动中实现文件io的接口,应用程序可以调用文件io驱动中实现文件io操作接口:struct file...

2019-06-15 10:59:37 619

原创 嵌入式内核及驱动开发-02驱动模块开发(编写驱动ko,内核编译,设备树文件的编译,网卡移植,简单驱动代码的编写,驱动Makefile编写,insmod加载ko模块,模块ko参数传递)

文章目录驱动模块开发编译驱动代码hello.c驱动代码hello.c编写Makefile例—Makefileinsmod 加载ko模块lsmod 查看系统中装载了哪些模块rmmod 卸载ko模块模块ko参数传递ko模块的符号导出新建mymath.c新建mymath.hhello.c调用模块符号驱动模块开发驱动代码需要有四个部分 1.头文件 2.驱动模块装载和卸载函数入口声明 3.实现模块...

2019-06-14 10:49:06 850

原创 嵌入式内核及驱动开发-01设备驱动环境搭建(交叉开发, tftp,nfs,内核启动,根文件系统制作)

文章目录Linux驱动开发环境搭建ubuntu中配置编译环境设置交叉工具链:设置环境变量:更新脚本:运行开发a,通过tftp去启动内核b,通过nfs去挂载rootfs可以开始去编写代码--开发驱动a, 编译内核移植dm9000配置内核:b, 编写驱动代码c,编译驱动代码--Makefile(被读取两次: make 2,内核源码中Makefile)d,加载koLinux驱动开发环境搭建ubun...

2019-06-14 09:15:17 841 3

原创 嵌入式系统移 -07植根文件系统制作(根文件系统基本概念,根文件系统设备,访问根文件系统制作)

文章目录根文件系统基本概念什么是根文件系统?根文件系统主要目录结构程序文件的放置定制应用程序库文件的放置Linux 设备文件举例字符设备举例块设备举例设备的主设备号次设备号创建设备节点基本的设备节点Linux系统的引导过程制作根文件系统文件系统制作步骤BusyBox项目构建系统命令BusyBox工具安装制作根文件系统的内容测试配置文件一文件 /etc/inittab文件 /etc/init.d/r...

2019-06-12 09:49:08 572

原创 嵌入式系统移植-06第三方驱动移植(驱动编译进内核Makefile,图像化配置Kconfig,驱动模块,黑白盒对比)

文章目录第三方驱动 黑盒移植驱动编译进内核Makefile选择驱动存放目录 (或任意目录)改Makefile让驱动编译进内核(同步修改,对应目录下的Makefile)改Kconfig (界面可配置)测试驱动创建设备文件图形化配置Kconfigmake menuconfig、Makefile、Kconfig、.config 三者的关系配置Kconfig在Kconfig中添加一个灯的选项修改Make...

2019-06-11 11:18:15 652

原创 嵌入式系统移植-05Linux内核移植及网卡移植

文章目录Linux内核 配置编译下载内核源码Linux系统中解压修改Makefile指定交叉编译工具链导入配置 make exynos_defconfig配置内核 make menuconfig编译内核 make uImage编译设备树 make dtbs网卡移植开发板上电重启,内核启动以后,卡在了 Starting kernel ...更换uboot之后重新上电,内核启动以后,发现内核有崩溃信息...

2019-06-11 10:10:32 655

原创 嵌入式系统移植-04Linux内核分析(Linux内核基本概念,Linux内核启动分析,Linux内核调试方法)

文章目录Linux内核基本概念Linux内核主流的 Linux 发行版Linux 内核的特性Linux内核版本Linux内核子系统Linux内核模块结构图linux内核编译(移植好的)编译内核 make uImage编译设备树 make dtbsLinux内核代码结构(1)Linux系统源代码目录结构(2)Linux内核启动分析嵌入式系统启动信息分析u-boot启动阶段linux内核启动阶...

2019-06-09 14:43:36 1172

原创 嵌入式系统移植-03U-boot启动流程, U-boot移植

文章目录U-BOOT 启动流程u-boot启动三个2启动步骤(重点)U-boot 启动源码分析第一条指令位置u-boot的启动入口基本硬件初始化大部分硬件初始化BootLoader两种模式切换u-boot 启动分析u-boot环境变量设置u-boot启动阶段linux内核启动阶段根文件系统阶段(可运行应用程序)U-BOOT 移植方法U-BOOT 启动流程u-boot启动三个2两个阶段:汇...

2019-06-06 22:37:18 1372

原创 嵌入式系统移植-02Bootloader移植(bootloader基本概念,U-boot常用命令和配置编译)

文章目录Bootloader 介绍什么是BootloaderBootloader 介绍什么是Bootloader

2019-06-06 22:00:14 2843

原创 嵌入式系统移植-01嵌入式基本概念,嵌入式开发环境搭建,目标机搭建,TFTP服务搭建,NFS服务搭建

文章目录系统移植概述及环境搭建嵌入式基本概念嵌入式系统的应用领域什么是嵌入式系统用嵌入式系统硬件组成部分通用嵌入式系统软件组成部分Linux 在嵌入式中应用的条件与前景嵌入式Linux内核结构Android系统嵌入式开发环境搭建嵌入式Linux交叉开发环境硬件基本组成开发板启动流程搭建嵌入式Linux开发环境的主要工作开发主机搭建ubuntu环境目标机搭建TFTP 服务主机端tftp服务器配置NF...

2019-06-06 10:43:10 889

原创 ARM体系结构及接口技术-07ARM波形控制

文章目录串口通信设备串口 UART 协议uart 串口波形示例I2C通信设备I2C 协议IIC总线的数据传送IIC的寻址常见的传送方式I2C 波形PWMPWM的概念PWM 蜂鸣器PWM配置step1:设置GPI/O为PWM模式step2:设置pwm频率step2.1:第一级分频TCFG0step2.2:第二级分频step2.3:第三级分频step3:设置占空比step4:启动定时器示例参考串口通...

2019-06-04 14:58:00 593

原创 ARM体系结构及接口技术-03裸机开发

文章目录裸机驱动的开发步骤看电路图看芯片手册 (先看相关的中文文档,熟悉设备,再看手册)编程编写LED灯闪烁的ARM裸机汇编代码查看LED硬件电路查看I/O口查看芯片手册代码编译环境搭建安装交叉编译工具添加环境变量编译makefile下载示例参考裸机驱动的开发步骤看电路图a. 找到我要控制的设备b. 找到设备在CPU侧的控制管脚(如GPX2_7)看芯片手册 (先看相关的中文文档,熟悉设备...

2019-06-03 22:59:14 495

原创 ARM体系结构及接口技术-06ARM异常处理过程,软中断

文章目录认识异常——7种异常源异常优先级为什么FIQ的响应速度比IRQ快?异常处理过程异常处理——ARM核自动完成部分异常处理——我们需要完成的部分例—软中断软中断指令获取swi指令异常向量表的跳转认识异常——7种异常源异常优先级异常在当前指令执行完成之后才被响应多个异常可以在同一时间产生异常指定了优先级和固定的服务顺序:Reset Data AbortFIQ IR...

2019-06-03 22:46:34 471

原创 ARM体系结构及接口技术-05ARM通讯接口

文章目录ARM通讯接口串行通信的基本概念串行通信涉及的常用术语(单工、半双工和全双工,异步方式与同步方式)协议举例串口 UART 协议Exynos4412 UART接口功能模块Exynos4412 相关寄存器UART 编程main.cMakefilestart.Smap.ldsARM通讯接口串行通信的基本概念在通信领域内,有两种数据通信方式:并行通信和串行通信串口的数据传输是以串行方...

2019-06-03 22:31:25 706

原创 ARM体系结构及接口技术-04ARM中断机制

文章目录ARM中断机制中断硬件机制中断 过程中断源中断控制器外部(按键)中断示例原理图查看外: 配置管脚的工作模式配置I/O口为中断模式(外部中断)配置中断为下降沿触发触发使能外部中断内: 功能块设置查GIC中断表,找出对应的中断端口号和ID号设置GIC中断使能分发配置分发总使能CPU外部中断借口使能设置CPU的中断优先级门限值中断处理协处理器指令修改异常向量表起始地址异常向量表中断处理函数获取中...

2019-06-03 17:57:18 1173

DS-000189-ICM-20948-v1_1_89_translate.pdf

DS-000189-ICM-20948-v1_1_89_translate,ICM-20948翻译的中文数据手册,仅供参考

2019-10-09

一个程序员应该有的编程修养.pdf

编程修养 有需要的可以下载看看,内容还不错。 编程修养 有需要的可以下载看看,内容还不错。

2019-08-19

用C-语言实现面向对象编程.pdf

用 C 语言实现面向对象编程,我曾经在嵌入式控制系统工作过,苦于嵌入式系统编程一直是 C 语言,而没法用 C++或其他高级 语言的面向对象方法编程。经过研究生的学习和探索,偶然间发现高焕堂老师写 OOPC(面向对象 C 编程),感觉不错。遗憾的是上面没有提供继承的方法。根据本人的研究,在高老师的基础上,提出一 种可行而且结构明了的继承实现方法。至此,C 的 OO 编程中的封装、继承、多态都全实现了。现在 本人将其总结如下,希望对大家有帮助。

2019-08-13

Test1-20190803.rar

使用STM32H7单片机, Modbus RTU 做主机的测试程序,可成功读取模拟的采集数据,方便程序移植

2019-08-08

MODBUS模拟软件.rar

ModScan32 和 Modsim32 用来调试Modbus 非常方便 是学习的好工具

2019-08-05

OO命令解析器-工程源码.rar

C 语言对象化设计实例 — 命令解析器

2019-06-30

Linux设备模型之input子系统详解.rar

Input 子系统驱动架构分析,很详细的分析了Input 子系统驱动架构

2019-06-26

Exynos4412数据手册文档

Exynos4412手册芯片手册完整版 ,Exynos4412手册2芯片用户手册,完整版本,50多兆,共计2858页

2019-05-31

并发程序设计L5.rar

华清远见培训资料,内容包括多进程编程,进程间通信机制,多线程编程,多线程间的同步和互斥机制等。

2019-05-21

MPU6050中文资料.doc

MPU6050中文资料.doc

2019-05-13

深入浅出Linux环境编程(进程基础+IPC+POSIX+线程同步与互斥)配套资料

深入浅出Linux环境编程(进程基础+IPC+POSIX+线程同步与互斥)配套资料

2019-05-06

华清远见-linux文件IO培训资料

华清远见-linux文件IO培训资料,介绍关于IO的基本操作,有配套的资料

2019-05-05

嵌入式技术与应用丛书 汽车电子KEA系列微控制器 基于ARM Cortex-M0+内核 [王宜怀,李跃华著][电子工业出版社].pdf

嵌入式技术与应用丛书 汽车电子KEA系列微控制器 基于ARM Cortex-M0+内核 [王宜怀,李跃华著][电子工业出版社][2015.08][355页][13839627].pdf

2019-04-08

飞思卡尔MC9S12(X)开发必修课__冯冲,段晓敏编著_北京:北京航空航天大学出版社

飞思卡尔MC9S12(X)开发必修课__冯冲,段晓敏编著_北京:北京航空航天大学出版社

2019-04-08

AnalogDevices.ADuCM36x_DFP.1.0.0.pack

AnalogDevices.ADuCM36x_DFP.1.0.0.pack Keil 里面添加ADucM360型号

2019-04-04

STM32 AD7124

STM32F4 + SPI调试AD7124 程序参考,需要的可以下载。

2019-03-29

AD7124参考程序

stm32通过软件SPI来驱动,可以直接抑制,能够正常读写

2019-03-29

物联网全栈教程PDF

关于物联网的一些参考文档,有一定的学习价值,需要的可以下载

2019-03-29

STM32F10x_StdPeriph_Driver_3.5.0(中文版)

STM32F10x_StdPeriph_Driver_3.5.0(中文版) STM32开发参考

2019-03-29

VS2010之MFC串口通信的编写教程

VS2010之MFC串口通信的编写教程,适合初学者学习参考。

2019-03-29

AD7124英文手册

AD7124-8是一款适合高精度测量应用的低功耗、低噪声、完整模拟前端。 该器件内置一个低噪声24位Σ-Δ型ADC,可配置为提供8个差分输入或15个单端或伪差分输入。 片内低噪声级确保ADC中可直接输入小信号。 AD7124-8的主要优势之一是用户可灵活使用三种集成功率模式。 功耗、输出数据速率范围和均方根噪声可通过所选功率模式进行定制。 该器件还提供多个滤波器选项,确保为用户带来最大的灵活性。

2019-03-29

AD7124中文手册

AD7124-8是一款适合高精度测量应用的低功耗、低噪声、完整模拟前端。 该器件内置一个低噪声24位Σ-Δ型ADC,可配置为提供8个差分输入或15个单端或伪差分输入。 片内低噪声级确保ADC中可直接输入小信号。 AD7124-8的主要优势之一是用户可灵活使用三种集成功率模式。 功耗、输出数据速率范围和均方根噪声可通过所选功率模式进行定制。 该器件还提供多个滤波器选项,确保为用户带来最大的灵活性。

2019-03-29

空空如也

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

TA关注的人

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