- 博客(70)
- 收藏
- 关注
转载 DDR原理详解
https://blog.csdn.net/dl329/article/details/51333077首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。 DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就...
2018-12-11 10:02:44 4949
转载 CPU基础知识1------Intel CPU 地址空间
一、地址空间映射 这里要说的是Intel构架下的CPU地址空间布局,注意这里没有说是内存地址空间布局。 我们说的内存通常是指DRAM,DRAM相对于CPU也可以算是外部设备,CPU地址空间是CPU访问外部设备过程中的一个概念,CPU除了访问DRAM外还会访问许多其他的设备。可以粗略的认为CPU地址空间包含DRAM地址空间,但两者却是不同的概念。而且DRAM地址空间...
2018-12-10 15:55:27 880
转载 PCI配置空间(PCI Configuration Space)
https://www.cnblogs.com/zszmhd/archive/2012/05/08/2490105.htmlPCI设备(PCI device)都有一个配置空间,大小为256字节,实际上是一组连续的寄存器,位于设备上。其中头部64字节是PCI标准规定的,格式如下: 剩余的部分是PCI设备自定义的。PCI配置空间头部有6个BAR(Base Address Re...
2018-11-09 16:03:01 7474
原创 无法定位程序输入点_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj于动态链接库上
今天在独立运行QT程序时,遇到了这种情况,主要问题是应该是各版本QT之间libstdc++-6.dll版本不同造成的,在我的环境配置中使用了以前版本的libstdc++-6.dll,而开发环境用的是最新的5.9,由于版本差异导致系统在选择dll时出现错误,进而无法启动程序。解决办法:1. 复制一份libstdc++-6.dll到程序目录下2. 删除其他版本的libstdc+
2017-12-26 09:45:19 5595 1
转载 常用USB芯片
http://blog.csdn.net/nkltc/article/details/52905932 仅在最近两年内,就有几十种新型的USB控制器芯片被推出。然而这又给选择带来举棋不定,不同的USB控制器芯片有不同的性能和特点,以下对一些典型的USB控制器芯片进行分析和比较,供选择时决策参考。 几款新型USB控制器芯片的特性比较 从芯片的构架来划分,市面上所有的...
2017-12-14 13:52:06 13868
原创 EF_85mm_1.2L_II_USM拆机电路板靓图
昨天对EF_85mm_1.2L_II_USM拆机电路板进行了基本的测试工作,电路板全部为软板,实物图如下,总的来说镜头的驱动部分没有nikon的镜头复杂。
2017-10-25 09:50:28 1260 2
原创 Qt的QMediaPlayer播放视频和音频
这里只是做简单的测试,功能简单,代码如下: QVBoxLayout *layout = new QVBoxLayout; QVideoWidget* vw = new QVideoWidget(); layout->addWidget(vw); ui->widget->setLayout(layout); player=
2017-08-30 09:31:24 13732 2
原创 在QT实现文件传输
过程如下:1、服务器端设置监听套接字,开始监听;2、客户端在连接成功时开始传送文件,有connected()信号连接send()槽,send()发送文件头信息,包括文件名、文件总大小和文件名大小等;3、传送完文件头信息时开始传送文件内容,有bytesWritten(qint64)信号连接到goOnSend(qint64)槽,前者是当想套接字写入数据时会出发的信号,即当已经想
2017-08-29 16:00:08 5772
转载 基于Qt的图像处理技术和算法
http://blog.csdn.net/silangquan/article/details/41008183这篇文章主要阐述了如何使用Qt在像素级别上对图像进行操作,并实现了一些图像效果,这些效果主要有:灰度,模糊,锐化,添加相框,金属质感,改变图像饱和度,亮度还有白平衡。介绍文章中,我们将讨论在Qt中修改图像的一些技术和算法,在这之前,你必须知道在Qt
2017-08-25 14:19:50 679
原创 nikon镜头拆卸
记录一下,刚到手的nikon AF-S 35mm 1:1.8G镜头,拆开看了看内部结构,重新安装好后却无法正确对焦,镜头组前后来回摆动,却没法正确对焦,郁闷了。先休息一下,看看怎么解决。
2017-06-07 14:35:57 2029 3
原创 停下来好好想想
这篇文章题目就叫停下来好好想想,实际内容并不是要停下来,其实是想给我接下来一段时间要做的事情打打气。言归正传,先写写过去。学生时代似乎离我已经遥远,来到这个曾经不熟悉的城市已有超过10个年头,从开始啥都不懂得毛头小子到现在已在这个城市成家立业,一切还算顺利。曾经刻苦努力只是想有一个好的生活环境,有一个好的未来,说实话,那个时候其实自己也不懂什么是好的未来,和大多数人一样只觉得考上大学应该一切都
2017-05-31 10:42:38 354
转载 STM32F4XX I2C驱动
http://www.cnblogs.com/hiker-blogs/p/3694576.html 说到I2C很多用过STMF10X硬件I2C方式的工程师,都感觉有点头痛。大部分还是使用软件模拟的方式,I2C由于一般的工作频率是400,100KHz。所以在平凡读取,或所读数据量大时,使用这模拟的方式,还是比较浪费CPU有效工作时间的。 在之前的使用I2C的经历中,主要是...
2017-04-05 16:37:30 1712
转载 qt使用动态库(DLL)
http://blog.csdn.net/zhuce0001/article/details/20651025本文主要讲解在QT开发环境中如何使用VC生成的DLL及QT自身生成的DLL。至于其它情况本文不作讨论。连接库分为2种(1)动态连接库,通常有.h .lib .dll三个文件,功能实现在dll中(2)静态连接库,通常有.h .lib二个文件,功能实现在lib中
2017-03-19 11:03:55 518
转载 Ubuntu下 嵌入式Qt开发环境的搭建
网上看到这篇文章写得挺详细,转载下做个标记:http://blog.csdn.net/lpp0900320123/article/details/24876159一、qt的版本介绍按照不同的图形界面来划分,分为四个版本:Win32版:适用于windows平台;X11版:适用于各种X系统的Linux和Unix平台;Mac版:适用于苹果的MacOS;Em
2017-03-10 17:15:27 369
转载 Ubuntu16.04下Qt交叉编译开发环境搭建
http://blog.csdn.net/lell3538/article/details/52463744一、环境及软件包介绍:(一)系统环境ubuntu16.04 64位(二)软件包 1、arm-Linux-gcc 我提供的包是arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz版本。2、
2017-03-09 10:47:31 2303
转载 解决Win10中MSCOMM32.ocx没注册问题
下载mscomm32.ocx ,http://blog.csdn.net/mylovepwy/article/details/5023910332位放在Windows/System32 下,64位放在Windows/SysWOW64下,然后在对应目录 下找到cmd.exe文件右键--管理员身份运行(关键)--输入regsvr32 mscomm32.ocx
2017-02-16 11:45:36 2322 2
原创 初步使用Arduino
北京同事测试Canon镜头使用的控制器是ArduinoUNO,借此机会刚好使用下Arduino,一直都听说这东西比较火,还没用过,惭愧。测试使用的板卡为最普通的ArduinoUNO,开发生态环境确实很好,开发环境、库都很全。有基础的差不多20分钟就能上手,我工作中主要用到多线程、硬件定时器、SPI、串口、GPIO等。多线程:使用SCoop,实现了线程、软件定时器等,使用起来很方便;...
2017-02-15 17:30:05 627
转载 linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟
http://blog.chinaunix.net/uid-25014876-id-119723.html这节的内容说不上是驱动,只是写个代码让触摸屏能够工作,随便介绍一下时钟子系统(我不知道这样叫合不合适),仅次而已。一、程序不能工作程序的源代码在13th_ts_input/13th_ts_input/1st。大致的操作就是配置寄存器,设置触摸
2017-02-10 15:59:51 281
转载 linux设备驱动归纳总结(十二):简单的数码相框
http://blog.chinaunix.net/uid-25014876-id-116926.html其实代码很简单,实现lcd驱动,使lcd能够显示图片,当按下按键后切换图片。先要说明一下几处地方:1、代码中显示的图片都是*.bin文件(显示模式是使用16位数据来表示一个像素的颜色——5:6:5),将jpg文件转为*.bin文件的工具在我上传的mkimage目录中
2017-02-10 15:57:06 889
转载 linux设备驱动归纳总结(十一):简单的看门狗驱动
http://blog.chinaunix.net/uid-25014876-id-112879.html设备驱动的归纳已经差不多了,趁着知识点还没有遗忘,写点代码巩固一下,来个简单的看门狗驱动——静态平台类的杂设备看门狗驱动,有定时和重启两个基本功能。一、S3C2440中的看门狗——具体请看s3c2440文档看门狗应该可以算是S3C2440中最
2017-02-10 15:02:35 468
转载 linux设备驱动归纳总结(十):1.udev&misc
http://blog.chinaunix.net/uid-25014876-id-111839.html不知不觉我的总结已经写得七七八八了,这一章节只是补充一下两个知识点:动态创建设备节点和杂设备类的注册。一、动态创建设备节点——udev之前加载字符型设备后是通过命令mknod来创建设备节点的。在2.6内核中,有一个名叫udev的后台程序,它通
2017-02-10 15:01:34 280
转载 linux设备驱动归纳总结(九):1.platform设备驱动
http://blog.chinaunix.net/uid-25014876-id-111745.html这一节可以理解是第八章的延伸,从这节开始介绍platform设备驱动。一、什么是paltform总线一个现实的linux设备和驱动通常都需要挂接在一种总线上,比较常见的总线有USB、PCI总线等。但是,在嵌入式系统里面,SoC系统中集成的独立
2017-02-10 15:00:08 632
转载 linux设备驱动归纳总结(八):4.总线热插拔
http://blog.chinaunix.net/uid-25014876-id-110774.html上一节介绍设备管理中的分层思想和面向对象思想(名字是我自己瞎编的)。接下来说一下热插拔的操作。一、热插拔的实现我不知道在这里用热插拔这样的名字是否合适,在之前的代码,需要我自己手动去加载驱动和设备的模块,但在现实的情况下,一般是当设备一被插入
2017-02-10 14:58:42 305
转载 linux设备驱动归纳总结(八):3设备模型的分层与面向对象
http://blog.chinaunix.net/uid-25014876-id-110738.html前面的内容介绍了总线、设备和驱动函数的关系和操作。从这节开始,介绍设备管理中的分层思想和面向对象思想(名字是我自己瞎编的,《LDD》上指的是结构体内嵌)。可以理解是平台类设备(platform)的一个过度。一、设备管理的分层回想一下之前的设备
2017-02-10 14:56:22 255
转载 linux设备驱动归纳总结(八):2.match.probe.remove
http://blog.chinaunix.net/uid-25014876-id-110295.html上一节介绍了总线、设备和驱动函数的注册,这节着重介绍它们三者的关系,和上一节一样,我模拟一条usb总线,一个usb鼠标设备和一个usb鼠标驱动函数,当然,只是名字是usb,里面并没有实质的操作,只是通过这样来介绍一下三者之间的关系。一、总线、设备和驱动函数在/s
2017-02-10 14:55:29 289
转载 linux设备驱动归纳总结(八):1.总线、设备和驱动
http://blog.chinaunix.net/uid-25014876-id-109733.html这几天一直在看设备模型,内核的代码看得我越来越沮丧,特别是kboject、kset和ktype之间的关系。但是,设备模型的归纳我打算先跳过这几个重要结构体,先介绍总线、设备和驱动——设备管理的相关内容。先介绍如何使用,有机会介绍大概的原理。一、sysfs文件系统
2017-02-10 14:52:17 391
转载 Linux设备驱动归纳总结(七):2.内核定时器
http://blog.chinaunix.net/uid-25014876-id-106572.html这节将介绍内核定时器的使用。一、定时器之前说过两类跟时间相关的内核结构。1、延时:通过忙等待或者睡眠机制实现延时。2、tasklet和工作队列,通过某种机制使工作推后执行,但不知道执行的具体时间。接下来要介绍的定时器,能够使工作在
2017-02-10 14:51:21 223
转载 linux设备驱动归纳总结(七):1.时间管理与内核延时
http://blog.chinaunix.net/uid-25014876-id-105727.html这节将介绍一些很枯燥的内核,大体是内核中时间的概念和内核延时的使用,并没有源代码。一、内核时间的相关概念墙上时钟:也就是实际时间。系统时间:自系统启动开始所经过的时间。时钟中断:内核会周期性的产生时钟中
2017-02-10 10:14:07 223
转载 linux内核中jiffies的回绕问题
http://blog.chinaunix.net/uid-25014876-id-105185.html本文原地址:http://blog.csdn.net/yuanlulu/archive/2010/11/18/6019862.aspxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2017-02-10 09:23:31 264
转载 linux设备驱动归纳总结(六):3.中断下半部之工作队列
http://blog.chinaunix.net/uid-25014876-id-100700.html这节介绍另外一种的下半部实现——工作队列。相对于软中断/tasklet,工作对列运行在进程上下文,允许睡眠,接下来慢慢介绍。1、工作队列的使用按惯例,在介绍工作队列如何实现之前,先说说如何使用工作队列实现下半部。步骤一、定
2017-02-10 09:22:30 276
转载 linux设备驱动归纳总结(六):3.中断下半部之tasklet
http://blog.chinaunix.net/uid-25014876-id-100005.html一、什么是下半部中断是一个很霸道的东西,处理器一旦接收到中断,就会打断正在执行的代码,调用中断处理函数。如果在中断处理函数中没有禁止中断,该中断处理函数执行过程中仍有可能被其他中断打断。出于这样的原因,大家都希望中断处理函数执行得越快越好。另外,中断上下
2017-02-10 09:21:13 235
转载 linux设备驱动归纳总结(六):2.分享中断号
http://blog.chinaunix.net/uid-25014876-id-90837.html上一节介绍的内容是,调用接口request_irq(),使中断号与中断处理函数对应。但是,有时候会有这样的情况,如果开发板上按键的中断已经被另外的驱动程序注册中断了,而我现在又想再注册一次这个中断,这就出现了一个中断号不止对应一个中断函数的情况。注意,这里与硬件上的共享中断不一样,这
2017-02-10 09:16:56 253
转载 linux设备驱动归纳总结(六):1.中断的实现
http://blog.chinaunix.net/uid-25014876-id-90740.html一、什么是中断中断分两种:1)中断,又叫外部中断或异步中断,它的产生是由于外设向处理器发出中断请求。其中外部中断也有两种,这是由配置寄存器设定的:普通中断请求(IRQ)和快速中断请求(FIQ)。一般地,linux下很少使用快速中断请求。2)异常,又
2017-02-10 09:15:35 247
转载 linux设备驱动归纳总结(五):4.写个简单的LED驱动
http://blog.chinaunix.net/uid-25014876-id-84693.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx在上面的章节的知识,已经能够实现个简单的LED驱动。居于前面操作LED的函数(5th_mm_2/3rd/
2017-02-09 15:53:33 204
转载 linux设备驱动归纳总结(五):3.IO静态映射
http://blog.chinaunix.net/uid-25014876-id-83299.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx有时候会觉得,每次访问硬件都要先通过ioremap来获取虚拟地址,其实有没有一种一劳永逸的方法,只要一次
2017-02-09 15:52:38 248
转载 linux设备驱动归纳总结(五):2.操作硬件——IO内存
http://blog.chinaunix.net/uid-25014876-id-80627.html在之前章节的驱动,都没有对硬件进行操作,接写来将从我之前学的裸板驱动开始,讲解在linux系统下如何访问硬件。一、IO端口与IO内存介绍之前可以看看以下的博客:http://blogold.chinaunix.net/u2/66435/showart_21
2017-02-09 15:42:09 208
转载 有哪些和弦较少又适合新手学的歌曲?
http://www.jitatang.com/hexianpu.html转载自知乎(文末地址)(很多朋友向我补充推荐了和弦小于等于三个的高逼格歌曲,在此一并致谢。本来就是想写个比较逗逼的答案,现在这么多赞同让我对“不足一百首”有些心虚,所以有空就赶紧补充几首进去。实际上适合弹唱、和弦少的歌曲很多,逼格又是见仁见智的东西,所以我决定这个回答不再更新了。如果将来有机会开了专栏,我可能会考
2017-02-09 14:38:52 2236 1
转载 linux设备驱动归纳总结(五):1.在内核空间分配内存
http://blog.chinaunix.net/uid-25014876-id-79134.html一般的,用户空间使用函数malloc在堆上分配内存空间,同样的,在内核空间同样有一套类似的函数来分配空间。下面的知识会涉及页式管理的内存机制,如果不懂的要先复习一下,在S3C2440数据手册的MMU部分有介绍。一、内核空间和用户空间有什么不同学
2017-02-08 16:32:41 232
转载 linux设备驱动归纳总结(四):5.SMP下的竞态和并发
http://blog.chinaunix.net/uid-25014876-id-67673.html这节将在上一节的基础上介绍支持多处理器和内核抢占的内核如何避免并发。除了内核抢占和中断外,由于多处理器的缘故,它可以做到多个程序同时执行。所以,进程除了要防自己的处理器外,还要防别的处理器,这个就是这节要介绍的内容。一、多处理器抢占式内核的内核同步需要防什么
2017-02-08 16:08:15 346
转载 linux设备驱动归纳总结(四):4.单CPU下竞态和并发
http://blog.chinaunix.net/uid-25014876-id-67005.html经过上面几节的铺垫,终于要来重点了,由于内核的进程调度和中断(中断还没讲,不过这里会大概的说说),它们都会进入内核共用内核的资源。所以,只要一不留神,自己进程的资源就会在不经意的情况下被别的进程修改了。这节将介绍并讨论如何解决。一、什么是并发所谓的并发,就
2017-02-08 16:03:23 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人