自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云和小草 csensors.cc

带你发现新奇好玩的东西,敬请期待

  • 博客(25)
  • 资源 (26)
  • 收藏
  • 关注

原创 linux驱动程序之触摸屏(涵盖了常用的事件编码)

作为一个输入子系统,步骤依然是:1、分配2、设置3、注册4、硬件相关的操作触摸屏的使用过程:1、按下,产生中断2、在中断处理程序里面启动ADC转换XY坐标3、ADC结束,产生中断。4、在ADC处理函数里面上报input_event,启动定时器5、定时器时间到,再次启动ADC(处理长按,滑动)6、等待松开

2014-12-30 16:08:08 2666 1

原创 linux驱动之LCD

以下是写LCD驱动的框架:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #in

2014-12-27 22:21:31 1627

原创 linux驱动之分离分层的概念

bus_drv_dev模型:简单说明:这张图就是全部了。device是与硬件相关的代码,driver是比较稳定的驱动代码。当修改硬件部分的时候,只修改dev里面的东西。====================================================================================================

2014-12-26 20:54:01 2513 1

原创 linux驱动程序之基于输入子系统写驱动程序

步骤:分配input_dev结构体设置这个结构体注册硬件相关操作

2014-12-26 19:32:04 1378

原创 linux驱动之输入子系统概念

以前的博文介绍linux驱动程序的时候一直遵循以下步骤:确定主设备号定义一个file_operation结构,填充函数如:open  write  read poll等设备注册入口函数出口函数以上即是字符设备的框架。------------------------------------------------------------------------------------

2014-12-24 23:00:20 1947

原创 linux驱动程序之定时器防按键抖动

前提:按键按下通过中断方式进行处理。本博文基于上一个博文改写:上一篇博文目的:使用定时器防止按键抖动产生中断。方法:每次发生按键中断后,推迟10ms进行处理,最终将会只执行一次定时器中断处理函数。这样就避免了按键抖动引起的误中断。步骤:1、定义一个定时器结构体static struct timer_list button_timer;//定义一个定时器,用于按键消抖

2014-12-24 18:35:58 2585

原创 linux驱动程序之同步、互斥、阻塞

目的:同一时刻,只能有一个应用程序打开/dev/wq_button1、方法一:使用设备打开标志(原子操作)1、在驱动程序的open函数中增加一个标志,如果满足条件,则执行open函数中其余工作,如果不满足,则返回,增加代码如下: if(!atomic_dec_and_test(&canopen))//自减操作并测试是否为零,如果为零返回 ture { atomic_inc(&ca

2014-12-22 21:24:44 1321

原创 linux驱动程序之增加按键异步通知机制

目的:按下按键时驱动程序通知应用程序大体框架:1、应用程序:注册信号处理函数2、驱动程序发送信号3、应用程序通知驱动 PID4、驱动程序发送如何发送信号

2014-12-22 18:27:05 1289

原创 linux驱动之poll操作

POLL操作1、POLL执行过程:poll是一个系统调用,其内核入口函数为sys_poll,sys_poll几乎不做任何处理直接调用do_sys_poll,do_sys_poll的执行过程可以分为三个部分: 1,将用户传入的pollfd数组拷贝到内核空间,因为拷贝操作和数组长度相关,时间上这是一个O(n)操作,这一步的代码在do_sys_poll中包括从函数开始到调用do_poll

2014-12-22 12:29:27 1087

原创 linux驱动之中断方式获取键值

linux驱动之中断方式获取键值------------------------------------------------------------------------------------------------------------------------------------------------------回顾在单片机下的中断处理分辨是哪个中断调用处理函

2014-12-21 11:48:37 2347 2

原创 linux驱动之按键驱动

目的:编写按键驱动原理图:按键与引脚对应关系:1、编写驱动程序框架2、查看原理图与s3c2440手册3、编写open函数配置引脚4、编写read函数功能驱动代码:#include #include #include #include #include #include #include #include MODULE_LI

2014-12-20 19:04:02 1045

原创 linux驱动之LED驱动_2

在上一个帖子中,讲述了如何给led编写驱动程序,但是实现的功能比较单一,接下来我们要实现的功能是在上一个的基础上能够单独控制每一个led灯。上一个帖子的链接: linux驱动之LED驱动_1 上一个帖子的驱动源码在:点击打开链接       测试源码在:点击打开链接目的:实现板子上每个led能够单独的控制。方法:0、通过次设备号来单独访问每个led1、更改入口函数: 为

2014-12-19 21:35:10 1365

原创 linux驱动之LED驱动_1

步骤:1、框架 2、完善硬件的操作:    a.看原理图、引脚    b.看2440手册    c.写代码: IO口需要用ioremap映射我的板子电路如下所示1、配置GPBCON 寄存器,配置输出   在open函数中去配置2、配置GPBDAT 寄存器                        在write函数中去配置#########

2014-12-19 16:25:37 1242

原创 linux驱动之设备号与创建设备节点

设备号:1、自动分配major = register_chrdev(0,"first_drv",&first_sdv_fops);//注册注册设备时给设备号写0,则内核会自动分配一个主设备号返回。2、手动指定到 proc/devices 文件下查找都有哪些主设备号,如果没有被使用的我们即可拿过来使用它。应用程序设备节点:我们会使用open这个函数带开一个设备,那么o

2014-12-18 21:50:18 1966 1

原创 linux根文件系统init进程分析

init程序本身即busybox:配置文件解析配置文件执行用户程序程序执行过程:busybox  ->  init_main                parse_inittab                          file = open(INITTAB,"r");  //打开配置文件  /etc/inittab

2014-12-16 18:28:15 1280

原创 linux内核启动流程

内核启动:1、内核引导阶段确定内核是否支持该架构  __lookuo_processor_type 确定内核是否支持该单板 __lookup_machine_type建立一级页表  __create_page_tables设置arm920 cpu核 禁止 I,D caches等  __arm920_setup使能MMU  __enable_mmu

2014-12-16 17:16:49 849

原创 lcd控制器 笔记前序<s3c2440>

2440LCD控制器基本概念 bpp(bit per pixel) 如果是320*240像素的屏幕,16bpp,则内存占 240*2 字节 *320行基本操作步骤:打开背光时序设置在framebuffer写数据对于8bpp的LCD来说:8bpp时 framebuffer里面存放的是 调色板的索引值。调色板里面存储的是256种颜色的色值。

2014-12-14 22:57:39 1140

原创 中断控制器学习 <s3c2440>

arm 体系cpu的七种工作模式:用户模式(usr)快速中断模式中断模式   是一种异常管理模式数据访问终止模式  是一种异常系统模式未定义指令中止模式工作模式之间:不同的寄存器(寄存器副本) 同一条指令,在不同模式会对应不同的寄存器。不同的权限  触发条件=====================================================

2014-12-14 18:23:40 1083

原创 NANDFLASH学习 <s3c2440>

一上电,nandflash4K 数据拷贝到 sram中内存接法:                      地址总线 -》2440的地址总线网卡(DM9000)接法: 地址总线 -》2440的地址总线nandflash接法:              没有地址总线结论:1、nanfalsh和DM9000的寻址方式不一样。 片内内存、sdram 、DM9000、寄存器 是CPU统

2014-12-14 11:54:27 1152

原创 MMU 内存管理单元 <s3c2440>

mmu作用:权限管理地址映射1、权限管理:A程序  B程序A程序、B程序是不能访问内核空间的内存同时A程序也不应该访问B程序的内存===============================================虚拟地址:如果CPU启用了MMU,CPU核发出的地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address,以下简称

2014-12-14 10:14:38 1020

原创 存储管理器实验 嵌入式学习<s3c2440>

cpu访问0x30000000地址上的数据时,只需要以下汇编指令:MOV R1,#0x30000000LDR  R0 ,R1LDR这条指令硬件上操作包括这写内容:发出片选信号发出bank选择信号发出列地址,行地址信号这些操作都是由2440中的存储管理器完成的#######################################################

2014-12-13 22:37:15 1561

原创 配置eclipse linux嵌入式 集成开发环境(编译部分)详细

开发环境:ubuntu12.04(64位)eclipse (c/c++)luna注意:本文主要讲将eclipse配置好编译器。 远程调试的部分请看另一篇帖子 eclipse 调试环境配置。我的arm-linux-gcc 路径是:/opt/EmbedSky/4.3.3/bin/arm-linux-gcc  (什么?怎么看arm-linux-gcc的路径??  你可以使用 whic

2014-12-11 21:44:40 3917

原创 eclipse linux驱动交叉调试环境的制作

知识背景:菜鸟阶段,一心学习linux驱动开发,只是现在还什么都不会。。 特别信仰 “工欲善其事,必先利其器”。环境:ubuntu 12.04    arm-linux-gccstep1:安装eclipse相信你已经会了,嵌入式开发下载 c/c++版本的exlipse,版本用最新的吧,但也不是绝对的。我用的luna版本。点击这个下载eclipse,解压即可,但是安装时需要安

2014-12-10 21:14:16 2541

原创 ubuntu nfs挂载方法

环境:ubuntu 12.04step1:在使用nfs服务前,我们需要先关闭伟大的防火墙要不然有可能失败。指令: ufw disablestep2:安装nfs,有人说ubuntu12.04已经安装了最新版的,我不信,所以我要试试。。。指令:sudo apt-get install nfs-kernel-server

2014-12-10 21:11:43 7019

原创 eclipse在linux的安装以及在dash中的显示(c/c++版本)

环境:ubuntu 12.04工欲善其事,必先利其器。vim,emacs是高负率用的,我等屌丝还是用点稍微傻瓜一点的吧。效率第一!

2014-12-10 20:38:58 2355

ISO26262 功能安全国际标准 《道路车辆功能安全》

自动驾驶 ISO26262 功能安全国际标准 《道路车辆功能安全》

2023-01-02

JTT 883 2014 营运车辆行驶危险预警系统 技术要求和试验方法 .pdf.tar

主要FCW、LDW的测试方法,资料好难找上传上来供大家学习学习,如有侵权,请联系我删除

2019-07-30

JTT1242-2019营运车辆自动紧急制动系统性能要求和测试规程.pdf.tar

AEB测试方法,资料好难找,上传下来供大家学习,如有侵权请联系我删除

2019-07-30

GB∕T 33577-2017 智能运输系统 车辆前向碰撞预警系统 性能要求和测试规程.pdf.tar

33577主要是针对FCW进行测试的标准。资料好难找,为了方便大家下载,上传到这里,如果有侵权,请联系我删除。

2019-07-30

禅道嵌入式开发实例ppt

软件项目管理工具对比----推进敏捷开发管理工具的使用

2017-04-12

SetupFactory免费版 一直在用

SetupFactory 软件打包工具

2016-11-08

CH340驱动 win7 win10 通用

CH340驱动 win7 win10 通用

2016-11-08

七牛图床_linux版

自己实现的七牛客户端,支持预览,可以上传任意文件 https://github.com/tianzhihen/qiniu_Qt 欢迎star!

2016-11-08

七牛图床_32位

自己实现的七牛客户端 开源免费 https://github.com/tianzhihen/qiniu_Qt 欢迎star!

2016-11-08

七牛图床_64位

自己实现的七牛客户端,开源免费!https://github.com/tianzhihen/qiniu_Qt/releases 欢迎star!

2016-11-08

grpc_msvc_x86_Qt库文件

使用vs2015编译的grpc静态库,其中包含了protobuf库,另外openssl可以使用这个链接http://download.csdn.net/detail/a912293097/9670793下载安装。 附Qt工程配置: QT += core QT -= gui CONFIG += c++11 TARGET = msvc_grpc_demo CONFIG += console CONFIG -= app_bundle DEFINES += _WIN32_WINNT=0x0600 QMAKE_CFLAGS += -MD QMAKE_LFLAGS += -NODEFAULTLIB:libcmt.lib INCLUDEPATH += C:\grpc_msvc_lib\include CONFIG(debug, debug|release) { LIBS += -LC:\grpc_msvc_lib\lib\debug\ C:\grpc_msvc_lib\lib\debug\grpc++.lib \ C:\grpc_msvc_lib\lib\debug\gpr.lib \ C:\grpc_msvc_lib\lib\debug\grpc.lib \ C:\grpc_msvc_lib\lib\debug\libprotobufd.lib \ C:\grpc_msvc_lib\lib\debug\libprotocd.lib } else { LIBS += -LC:\grpc_msvc_lib\lib\release\ C:\grpc_msvc_lib\lib\release\grpc++.lib \ C:\grpc_msvc_lib\lib\release\gpr.lib \ C:\grpc_msvc_lib\lib\release\grpc.lib \ C:\grpc_msvc_lib\lib\release\libprotobuf.lib \ C:\grpc_msvc_lib\lib\release\libprotoc.lib } LIBS += -LC:\grpc_msvc_lib\lib\ C:\grpc_msvc_lib\lib\zlib.lib LIBS += C:\OpenSSL-Win32\lib\libeay32.lib C:\OpenSSL-Win32\lib\ssleay32.lib LIBS += -lws2_32 -lzlib #LIBS += -luser32 -lgdi32 -ladvapi32 TEMPLATE = app SOURCES += main.cpp \ helloworld.grpc.pb.cc \ helloworld.pb.cc HEADERS += \ helloworld.grpc.pb.h \ helloworld.pb.h

2016-11-02

openssl_win32_Archie

一直使用的openssl,windows通用,这是23位的库

2016-11-02

ds2781单总线avr单片机程序

ds2781 stmelstudio整个工程

2015-08-27

燕山大学光纤位移传感器控制终端--王奇

燕山大学课程设计,光纤位移传感器控制终端,Qt编写,做实验时不再用屌丝的串口终端查看数据,使用这个终端可以节约很多时间。配合的嵌入式程序 请搜索燕山大学光纤位移传感 51单片机程序--王奇

2015-05-21

crazyflie 四轴源码 原理图

repo: cc655b10984e48f22734389333b68978b61b64e1 node: 26d661941c7e11506886264660fb02fd681f0c53 branch: default latesttag: null latesttagdistance: 5

2014-04-02

OLED例程源码

OLED例程源码 详细的OLED源码资料 51单片机例程

2014-04-02

51 AVR VS1003资料 源码 例程

51 AVR VS1003资料 源码 例程 超详细的资料

2014-04-02

NI软件卸载 multisim卸载

NI软件卸载 multisim卸载 NI Labview 卸载

2014-04-02

GNU ARM Eclipse Plug-in

GNU ARM Eclipse Plug-in Brought to you by: ilg-ul, justxi Eclipse 上安装MDK的插件

2014-04-02

stm32带引脚图.pdf

stm32带引脚图 一般的都不带 看引脚功能在此

2013-10-21

labview教程之非常完美

此文件包为labview教程,教程详细,非常完美

2013-08-04

51单片机智能小车避障+遥控+穿桩

51单片机智能小车避障+遥控+穿桩

2012-06-25

74HC138 资料

74HC138

2012-05-07

基于GPRS的远程监控系统

基于GPRS的远程监控系统 可以看看 基于GPRS的远程监控系统

2012-04-15

一种基于单片机的GPRS的无线数据传送系统.

基于单片机的GPRS的无线数据传送系统. 提供了一些思路

2012-04-15

单片机例程

MCU 单片机 想学同单片机必备 单片机例程

2012-04-09

空空如也

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

TA关注的人

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