自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(230)
  • 资源 (41)
  • 论坛 (3)
  • 收藏
  • 关注

原创 linux音频驱动之ALSA框架

2020-06-23 09:48:34 211

原创 stm32 利用SIM800C模块定位再通过该模块http协议发送给服务器

1、http基本命令AT+SAPBR=3,1,"APN","UNINET" //CMNET移动 CNNET电信 UNINET联通 AT+SAPBR=1,1 //激活网络 一定要等到ok返回,否则出错 AT+HTTPINIT //初始化http网络 AT+HTTPPARA="CID",1 //设置回话参数 //设置域名给让模块解析 AT+HTTPPARA="URL","www.xiongyuchun.xyz:9999/Api/addDreamValueAPI.aspx?i...

2020-05-24 12:10:51 1732

原创 linux驱动之I2C总线驱动框架分析

Table of Contents1、I2C模型框图2、设备信息层2.1、非设备树形式2.2、设备树形式3、芯片控制器层adapter3.1、控制器初始化3.2、控制器底层传输函数(起始,数据,应答,停止)4、核心层core.c i2c_bus4.1、i2c_bus总线初始化4.2、client(设备)和i2c_driver(设备驱动)匹配过程4....

2020-05-06 13:46:06 792 1

原创 linux内核移植步骤

1.解压内核源码 tar -jxvf linux-xxx.tar.bz2 或者 tar -zxvf linux-xxxx.tar.gz2.清除之前的配置clean - 清大部分生成的文件, 但是保留配置文件, 以及可以保证足够编译模块的信息。mrproper - 清所有的生成文件, 以及配置文件, 以及各种备份文件distclean - mrproper 效果 + ...

2020-04-23 23:14:35 1484

原创 嵌入式字符设备驱动编写步骤

目录编写步骤:设备号的申请注册注销:通用函数(静态动态申请都可以):静态申请:动态申请:设备号的注销:设备节点的创建与销毁:手动创建设备节点:自动创建设备节点:设备节点的销毁:IO资源的映射与配置:读写函数编写,操作IO口,比如点灯:应用实验程序的编写驱动示例代码:编写步骤:/*编写步骤:**1、编写驱动模块的基本框架h...

2019-03-09 20:42:58 1034

原创 linux驱动基本命令

加载驱动:insmod driver.ko卸载驱动:rmmod driver注意:卸载没有.ko列出加载了哪些驱动: lsmod

2019-03-09 16:03:01 2360

原创 sscanf 处理echo

如图模拟的是解析 echo 0x10 0x00ffff > xxx 命令

2020-12-01 19:53:05 75

原创 pytorch 安装

1、安装教程https://www.cnblogs.com/zhouzhiyao/p/11784055.html2、安装速度慢教程https://www.cnblogs.com/GoubuLi/p/13533519.html

2020-11-29 11:56:04 110

原创 tensorflow 安装失败

1、目前anaconda 一般是python3.8 或者 python.7 或者python2.7 的环境,然而tensorflow 的环境是python3.6.xx 环境,因此需要给tensorflow创建python环境执行如下命令:conda create --name tensorflow python=3.6 //注意3.6后面尽量不加别的后缀注意:查看自己当前环境的python版本,一般是conda自带的,如果自己还安装了其他版本,避免干扰尽量卸载掉,上面的命令并不是去使用..

2020-11-28 22:59:08 107 1

转载 python 迭代器和生成器

https://zhuanlan.zhihu.com/p/84548471

2020-11-22 15:08:01 75

原创 数字图像处理-直方图均衡化

一、直方图均衡化目的直方图过于集中,偏向左边太暗,偏向右边太亮,偏向中间太模糊;因此如要想让图像对比度更高,更容易看清楚一些细节,则需要直方图均衡化处理二、直方图均衡化重要公式其中 S 为 r 的映射灰度值,为概率密度函数经过推导:推导过程见数字图像处理冈萨雷斯书籍公式通俗解释:把数量少的挨在一起的灰度级叠加起来,像素数量多的灰度级不需要叠加自成一柱;这样就可以把少的变成多的,多的不变。这就实现了均衡化...

2020-11-17 14:43:02 50

转载 linux 内核地址空间

一、内核镜像在3GB~(3GB+896MB)这段直接/线性映射区域,包含了内核初始化页表swapper_pg_dir,内核镜像等。内核也是由一个elf文件(比如vmlinux)加载启动的,加载后也有text段,data段,bss段等。二、内存分配kmalloc和vmalloc在虚拟内存空间的normal memory区域,内核使用kmalloc()来分配内存,kmalloc()返回的也是虚拟地址,但是分到的内存在物理地址上是连续的(因为是直接映射,在虚拟地址上自然也是连续的...

2020-11-02 13:41:46 87

转载 linux进程空间地址划分

一、数据段存放程序中已初始化且初值不为0的全局变量和静态局部变量。数据段属于静态内存分配(静态存储区),可读可写。二、BSS段包括:未初始化的全局变量和静态局部变量 初始值为0的全局变量和静态局部变量(依赖于编译器实现) 未定义且初值不为0的符号(该初值即common block的大小)三、堆堆用于存放进程运行时动态分配的内存段,可动态扩张或缩减。 堆中内容是匿名的,不能按名字直接访问,只能通过指针间接访问。当进程调用malloc(C)/new(C++)等函数分配内...

2020-11-02 11:31:04 79

转载 linux shell脚本基础知识

参考:linux shell脚本基础知识Table of Contents1、用户自定义变量1.1变量赋值:1.2, 将一个命令的执行结果赋给变量1.3变量叠加1.4、列出所有的变量:1.5、删除变量:2、环境变量3、位置参数变量3.1、shift指令:3.2、shell中$* 和$@的区别4、预定义变量5、read命令6、运算符7、$()与${}的区别8、条件测试8.1、内置test命令8.2、字符串测试:8.3、整数测试:8

2020-06-16 15:43:22 73

转载 Linux下Shell的for循环语句

参考:Linux下Shell的for循环语句

2020-06-16 12:01:12 135

转载 Linux seq命令详解

参考 Linux seq命令详解seq: squeue 是一个序列的缩写,主要用来输出序列化的东西seq常见命令参数 1 2 3 4 5 6 7 8 9 10 用法:seq[选项]... 尾数  或:seq[选项]... 首数 尾数  或:seq[选项]... 首数 增量 尾数 以指定增量从首数开始打印数字到尾数。 -f, --format=...

2020-06-16 11:37:57 100

转载 linux之expr命令

参考:linux之expr命令expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具有几个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。1、算术运算用法示例算术乘法符号"*"因为是shell的元字符,所以要转义,可以使用引号包围,或者使用反斜线。[root@xuexi ~]# expr $a * $bexpr: syntax error[root@xuexi ~]# expr $a '*' $b12[root@xu.

2020-06-16 11:32:54 106

原创 c语言字符串长度,占用字节大小,存放位置等问题

参考文章:https://www.cnblogs.com/xmhsincere/p/4915354.html 1、三者长度strlen问题int main () { char *str="xiaolong"; printf("%d\n",strlen(str)); return 0; }结果:#include <stdio.h>#include <string.h> int main ...

2020-05-24 21:13:25 1177

转载 I2C、SPI设备树驱动对设备子节点的处理

对于i2c, spi等总线节点会转换为platform_device,然后它们下面的子节点交给父节点的platform_driver里面probe函数处理1、I2C总线节点的处理过程:/i2c节点一般表示i2c控制器, 它会被转换为platform_device, 在内核中有对应的platform_driver; platform_driver的probe函数中会调用i2c_add...

2020-05-05 21:46:05 519

转载 设备树节点转换为设备节点device_node、和平台设备资源platform_device

1、_dtb转换为device_node在dts文件里,每个大括号{ }代表一个节点,比如根节点里有个大括号,对应一个device_node结构体;memory也有一个大括号,也对应一个device_node结构体。节点里面有各种属性,也可能里面还有子节点,所以它们还有一些父子关系。根节点下的memory、chosen、led等节点是并列关系,兄弟关系。对于父子关系、兄弟关系,在d...

2020-05-05 20:07:54 590

原创 linux 驱动之PWM蜂鸣器驱动

1、常用pwm函数//申请一个PWM设备 pwm_device *pwm_get(struct device *dev, const char *con_id);//配置PWM周期和占空比 int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);//使能pwm int pwm_enab...

2020-05-04 09:38:59 241

原创 linux中断处理原理机制

本笔记摘自《深入linux设备驱动程序内核机制》1、硬件中断框架其中PIC为中断控制器,现在的ARM SOC处理器已经集成了PICirq是发生中断后,从中断寄存器中读出的中断号码,用于识别是发生了哪个中断INT代表触发CUP的统一外部中断中断信号,进过一些汇编代码处理后,调用统一的外部中断处理函数asm_do_IRQ2、中断软件处理流程...

2020-04-29 20:00:18 64

原创 linux驱动调试copy_from_user错误

注意应用层读写的时候传递buf是否是指针,本次由于应用层调用write函数传递得是buf的值,而不是传递指针,虽然编译能通过,但是调用copy_from_user 失败...

2020-04-26 21:56:43 307

原创 linux加载和卸载驱动模块出现 'XXX': device or resource busy 错误提示

原因1led驱动程序中没有用宏module_exit()实现模块被移除的功能原因2:内核编译时没有勾选MODULE_UNLOAD模块卸载支持功能原因3:这种情况一般都是驱动的设备号已经被系统使用了原因4:lsmod 显示是[permanent](意思是永久的),编译内核的编译器和编译驱动的编译器版本不一致导致不兼容问题总结:原因4是最难发现的,也是tiny...

2020-04-25 11:14:14 440 1

转载 嵌入式linux系统的开发——文件系统的分区和挂载

https://www.imooc.com/article/36318

2020-04-25 09:42:16 156

原创 嵌入式c语言进阶,提升,加强,深入书籍推荐

网上关于c语言的推荐书籍一大堆,但是我觉得一下两本更适合嵌入式c语言学习,尤其是嵌入式Linux与物联网软件开发 C语言内核深度解析,两本书籍有很多一样的地方,对c语言剖析比较深入,朱有鹏,张先凤写的那本更详细完善,希望对对刚入门嵌入式小白有帮助1、c语言深度解剖作者:陈正冲出版社:北京航空航天大学出版社出版年:2010-7页数:165定价:29.00元...

2020-03-25 08:41:33 391

原创 uboot引导linux内核过程 卡死Starting kernel ...(下载地址,加载地址,入口地址的修改)(uImage和zImage的区别)

red\color{#FF3030}{red}red 小龙

2020-03-16 11:06:57 209

转载 Makefile中常用函数使用

Table of Contents一、函数调用的语法二、文件名操作函数 1、 $(dir )取目录函数 2、$(notdir )取文件函数 3、$(suffix )取后缀函数 4、 $(basename )取前缀函数 5、 $(addsuffix ,)加后缀函数 6、$(addprefix ,)加前缀函数 ...

2020-03-14 17:15:32 109

转载 arm 编译相关命令arm-linux- (gcc/ld/objcopy/objdump)详解

在linux中输入vi Makefile 来实现创建Makefile文件注意:命令行前必须加TAB键例如:将两个文件led.c和crt0.S汇编文件,制作一个Makefile文件led.bin : crt0.S led.c arm-linux-gcc -c -o crt0.o crt0.c arm-linux-gcc -c -o led.o led.c arm...

2020-03-14 16:54:25 273

转载 Linux-printk分析、使用__FILE__, __FUNCTION__, __LINE__ 调试

1.在驱动调试中,使用printk(),是最简单,最方便的办法当uboot的命令行里的“console=tty1”时,表示printk()输出在开发板的LCD屏上当uboot的命令行里的“console=ttySA0,115200”时,表示printk()输出在串口UART0上,波特率=115200当uboot的命令行里的“console=tty1 console=ttySA0,...

2020-03-14 15:24:04 162

转载 linux怎么查看已装好硬件驱动

linux系统中的设备驱动是否安装好一般检查几个方面:1、系统日志。嵌入式系统多是直接dmesg一下,看有没有设备关键字相关的出错信息(通用系统可检查/var/log/messages文件)。2、已加载的模块。检查模块加载列表中有没有相关设备的模块。lsmod3、设备列表。检查已加载的设备中有没有相关设备cat /proc/devices4、设备入口。如果以上检查都正常,还需要检查设备目...

2020-03-13 17:18:34 489

转载 linux 文件打开(open)原理,非父子进程,父子进程打开文件关系

1、文件描述符fd和文件描述符表概述在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引(fd),其是一个非负整数(通常是小整数),文件描述符fd和文件file指针是文件描述符表的重要内容,用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚...

2020-03-04 19:10:18 324

转载 linux 应用编程open函数flag值

2020-03-04 11:05:24 153

转载 位置有关码和位置无关码详细解释

1、总体介绍代码的运行分为三个阶段:取指,译码,执行,而取指令肯定要知道代码地址,执行过程又包含对变量的读写,对变量的读写也得知道变量的地址吧,至于代码的地址和变量的地址怎么确定呢?答:由编译器确定,编译器确定地址分为两种形式,1、根据当前PC+偏移地址确定地址。2、直接用链接地址对于第一种方式,地址是动态的,会根据PC的值变化而变化,对于第二种方式就是固定为我们指定的链接地址...

2020-03-01 22:56:05 416 2

原创 uboot 代码重定位(位置有关码)(存储地址,运行地址,链接地址)

Table of Contents1、代码启动过程简要分析2、存储地址,运行地址,链接地址2.1、存储地址2.2、链接地址2.3、运行地址2.4、链接地址和运行地址的区别3、位置有关码,位置无关码详细解释4、代码重定位参考文章:https://blog.csdn.net/lizuobin2/article/details/52049892#1、代...

2020-03-01 18:31:44 3131

原创 linux (platform driver)平台设备驱动匹配方法

Table of Contents一、匹配函数platform_match1.1、设备树匹配方法1.2、id_table匹配方法1.3、dev-name和platform_driver->drv->name匹配方法一、匹配函数platform_match平台设备驱动分为设备层和驱动层,每当有新的设备或者新的设备驱动注册时都要首先调用匹配函数进行匹配...

2020-02-23 16:01:48 425

原创 linux (platform_driver)平台设备驱动常用API函数

Table of Contents1、设备层注册、注销函数1.1、platform_device_register1.2、platform_device_unregister1.3、platform_add_devices2、驱动层注册注销函数2.1、platform_driver_register2.2、platform_driver_ unregister3、...

2020-02-22 18:43:05 701

原创 LCD数据手册解析

Table of Contents一、基本信息(分辨率尺寸)二、时序解析2.1、水平horizontal2.2、垂直vertical2.3、时钟相位极性(上升沿,或者下降沿有效)一、基本信息(分辨率尺寸)二、时序解析linux LCD驱动开发之原理时序分析(二)2.1、水平horizontalHS Blanking = HSPW + HBP...

2020-02-21 18:09:05 1593

原创 linux LCD 驱动编写(四)

一、应用程序访问驱动原理LCD驱动程序假设app: open("/dev/fb0", ...) 主设备号: 29, 次设备号: 0--------------------------------------------------------------kernel: fb_open int fbidx = iminor(inode...

2020-02-21 16:28:37 186

原创 Linux LCD重要数据结构解析

一、struct fb_infoFb.h linux-3.5\include\Linux用法://驱动程序必须用这个结构体定义的成员,并且从平台设备数据中取出信息对该结构体进行填充struct fb_info {atomic_t count;int node;int flags;struct mutex lock; /* Lock for open/releas...

2020-02-21 14:27:08 93

stm32f107ptp移植程序

stm32f107时钟同步ptp程序,用到了原子哥的一部分程序,工程模式也是原子哥模式..............................

2018-01-24

stm32f107ptp时钟同步

这是stm32f107ptp时钟同步程序,官方库,经过移植有用,精度300ns左右,建议使用v2版本,主从机修改一下ip 什么的就可以使用了,注意你自己使用的是和哪块评估板类似就在mdk里面选择对应版本,否则会移植不成功

2018-01-30

python游戏编程入门源代码

《Python游戏编程入门》的源代码,作者Jonathan S.Harbour 很好的资源,希望对学习python的同学有帮助,代码都可以运行

2018-02-02

LABVIEW课程设计饮料售货机

LAVIEW饮料售货机课程设计,希望对大家有帮助

2018-01-04

LABVIEW汽车仪表课程设计

基于LABVIEW的汽车仪表课程设计,希望对大家有帮助!

2018-01-04

LABVIEW温度报警采集课程设计

基于LABVIE的温度采集报警课程设计,希望对大家有帮助.

2018-01-04

LABVIEW课程设计

希望对学习LABVIEW的同学有帮助。

2017-12-27

正点原子stm32精英贪吃蛇游戏

正点原子精英开发板贪吃蛇游戏,少了一个按键,做一个按键加一个按键就可以玩了.

2017-11-09

51单片机课程设计电子时钟设计

基于51单片机的课程设计,电子时钟设计,希望对同学们有帮助.

2018-01-09

正点原子stm32f407探索者LD3320语音识别程序

这是使用正点原子探索者开发板实现的LD3320语音识别程序,使用的是spi通信方式,模块唤醒呼叫小李子,要插sd卡,用串口调试助手打印

2020-06-03

stm32 sim800c定位http协议发送定位信息给服务器.7z

这是一个通过正点原子探索者开发板设计的定位系统设计,里面使用sim800c模块进行基站定位,然后利用sim800c模块通过http协议命令发送定位信息给服务器

2020-05-24

跟我一起写makefile.7z

这是一本短小精悍的书,作为makefile入门级别的书籍,个人觉得很不错

2019-06-11

4gEC20开发手册

这是我本人收集的关于4g模块的pdf开发手册,希望对爱好者有帮助,里面介绍了AT指令怎么用,以及调试教程

2019-04-26

计算机四级嵌入式等级考试题库和笔记

这是我本人考试过程中整理的题库和笔记,说实话,重在练习和看错题,做好错题笔记,在考试前夕多看看错题笔记,希望对大家有所帮助

2019-03-31

电子设计大赛电源组PID程序

这是本人参加电子设计大赛的一个STM32工程(电源组),这个工工程实现了Pid动态调节电流电压,精度还可以达到50-100mv

2018-12-01

国嵌唐老师c++课件(完整版)

唐老师的c++课件,都是重点,入门快,希望对大家学习有帮助 P1第0课 - 学习C++的意义_P P2第1课 - C到C++的升级 P3第2课 - C++中的引用 P4第3课 - 函数的升级 P5第4课 - 函数的升级 P6第5课 - 新的关键字 P7第6课 - 专题一经典问题解析 P8第7课 - 面向对象基本概念 P9第8课 - 类中的封装 P10第9课 - 构造与析构 - 上 P11第10课 - 构造与析构 - 下 P12第11课 - 类的静态成员 P13第12课 - 操作符重载 - 上 P14第13课 - 操作符重载 - 下 P15第14课 - 专题二经典问题解析 P16第15课 - 惊艳的继承 P17第16课 - 继承中的构造与析构 P18第17课 - 继承与多态 - 上 P19第18课 - 继承与多态 - 下 P20第19课 - 专题三经典问题解析 P21第20课 - 函数模板 P22第21课 - 类模板 - 上 P23第22课 - 类模板 - 下 P24第23课 - STL简介 P25第24课 - 专题四经典问题解析 P26第25课 - 异常处理 - 上 P27第26课 - 异常处理 - 下 P28第27课 - 动态类型识别

2018-05-23

python学习手册

这是我在收集的python学习手册,希望对学习python的同学有帮助

2018-02-02

stm32门禁系统设计

前段时间基于RFID-RC522门禁控制系统做了个小项目,实现了刷卡开门功能,正好赶上这期活动,特来分享给大家,仅供参考。

2018-02-01

韦东山第一期源码文档

韦东山视频第一期源码文档,希望对学习Linux的同学有帮助

2018-02-01

韦东山第一二期源码文档图片

韦东山第一二期源码文档图片,希望对学习linux的同学有帮助

2018-02-01

嵌入式c语言进阶之道

这是工作中嵌入式c语言的总结,希望对进阶嵌入式c语言的同学有帮助

2018-02-01

c语言经典算法

c语言经典算法,希望对学习算法的同学有帮助,里面理论实践相结合,有代码例程,很经典

2018-01-31

51单片机多任务编程思想

传统的单片机系统监控程序通常是基于单任务机制的.这种机制具有简单直观、编程容易的优点 .然而由于程序只能按单一的线索顺序执行,缺乏灵活性,在复杂系统中难以胜任.为了在更广泛的领域应用单片机系统,必须对传统的单任务机制进行改进. 多任务机制是现代操作系统的突出优点.在这种机制下,CPU的运行时间被划分为许多小的时间片,通过某种调度算法按不同优先级别分配给不同的应用程序.多个应用程序分别在自已的时间片内访问CPU,从而造成微观上各程序分时使用处理器(轮流运行),宏观上并发运行的多任务效果.

2018-01-31

单片机程序设计规范

单片机开发技术规范,希望对学习单片机的同学有帮助!!!

2018-01-31

鸟哥的私房菜第四版高清版

这是鸟哥的私房菜第四版高清版,希望对学习Linux的同学有帮助,一共二十四章,1158页

2018-01-31

人工智能白皮书2018版本

人工智能白皮书 2018版本很清晰 100页,很好的书籍,希望对大家有帮助.................................................

2018-01-30

c++五子棋课设

c++五子棋课程设计,希望对学习c++的同学有帮助,很实用

2018-01-26

c++计算器课程设计

c++计算器 课程设计,希望对课设或者c++学习者有帮助!!...............................................................................

2018-01-26

c++课程设计

c++学生信息管理系统课程设计,希望对课设朋友有帮助!!

2018-01-26

基于51单片机门铃课程设计

基于51单片机的门铃课程设计,希望对同学们有帮助,很好的资料

2018-01-09

c语言课程设计贪吃蛇

c语言课程设计贪吃蛇,在vc codeblok等环境下运行都可以,希望对大家有帮助

2018-01-03

51单片机课程设计音乐播放器

单片音乐播放器,希望对课设同学有帮助!!!!!!!!!.........................................................................................

2018-01-03

单片机课程设计抢答器

有单片机做了个抢答器,希望对课设的人有帮助!!!!!!

2018-01-03

基于LABVIEW苹果手机课程设计

基于LABVIEW的手机课程设计,非常时髦,界面是苹果手机

2018-01-02

CAN代码生成器

CAN代码生成器,特别好用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-01-01

stm32mp3模块

..............................................................................................................................................................................................................................................................................

2017-12-29

stm32电容触摸屏模块

电容触摸屏模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-29

stm32GPS定位模块

stm32gps定位模块

2017-12-29

ucos详细移植教程

希望对学习ucos的同学有帮助,,,,,,,,,,,,,,,,,,,,,,,,

2017-12-25

嵌入式c语言状态机实例

嵌入式c语言,状态机思想,希望对单片机开发者有帮助,实时性很强.......................................................................................................

2017-12-24

请求删除下载资料

发表于 2018-02-12 最后回复 2018-02-12

求推荐STM32提高书籍

发表于 2017-11-09 最后回复 2018-01-24

stm32以太网通信

发表于 2018-01-15 最后回复 2018-01-24

空空如也

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

TA关注的人 TA的粉丝

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