- 博客(51)
- 资源 (64)
- 收藏
- 关注
转载 网上流传的内核开发面试题答案--欢迎指正
from:http://blog.csdn.net/zhe563323884/article/details/86428171) Linux中主要有哪几种内核锁? 由于内核的几种机制导致必须要加锁。SMP多处理器机制 内核抢占机制 中断处理机制 schedule() spinlock锁(轻量级锁,持有时间为ns级) 特征是临界区只
2015-11-05 11:10:56 1305
转载 字符设备驱动
from:http://blog.csdn.net/yx_l128125/article/details/7816228一. 知识点1. 设备号;2. 创建设备文件;3. 设备注册;4. 重要数据结构;5. 设备操作; 二.主设备号字符设备通过字符设备文件来存取。字
2015-10-19 13:57:26 451
转载 STM8S1003 模拟SPI 驱动 SI4432
上关于stm8s1003 驱动si4432的 驱动不是很多 ,我也是弄了大半天才可以和si4432 spi驱动成功。 接下来要做无线收发和组网。暂时先贴 spi驱动的spi模拟方式:main.c[cpp] view plaincopy#include "stm8s.h" #include "mytype.h"
2014-07-08 18:59:06 3617 1
转载 嵌入式系统设计师考试笔记之嵌入式系统基础知识
以下是转帖一位网友的嵌考笔记嵌入式系统设计师考试笔记之嵌入式系统基础知识欧浩源([email protected]) 20080818 一、引言自《嵌入式系统设计师考试复习笔记之存储管理篇》在嵌入式在线的博客出现后,意外的得到很多朋友的关注和评论,收到不少朋友的邮件,问一些有关考试的问题,希望得到我的复习笔记的其他部分。我非常感谢他们,他们的热切关注,使我有了继续往下写的无限动力,使
2014-06-08 15:21:37 1485
转载 嵌入式系统设计师考试复习笔记之存储管理篇 .
以下是转帖一位网友的嵌考笔记嵌入式系统设计师考试复习笔记之存储管理篇欧浩源([email protected]) 20080721引言2007年下半年通过了嵌入式系统设计师的考试,一大堆的复习资料都不知道扔那里好,卖掉又有点可惜,送人又没人要。与其让当时的复习笔记沉沦书架底部,还不如整理一下让大家评论评论。2008年11月的考试也快到了,如果能帮到有需要的人,那我真是乐坏了。看看06和0
2014-06-08 15:20:06 1046
转载 嵌入式系统设计师考试笔记之电子电路设计基础、微处理器
以下是转帖一位网友的嵌考笔记嵌入式系统设计师考试笔记之电子电路设计基础欧浩源([email protected]) 20080930 一、引言 在嵌入式系统的硬件设计中,嵌入式微处理器和外围设备接口技术是两个最为核心的部分,然而支撑这个两个部分的基础确实电子电路的基本技术。任何一个嵌入式系统的设计都离不开电子电路的设计。作为嵌入式系统设计师的考试,对这方面的考查或多或少有几题,但
2014-06-08 15:18:28 1603
转载 csr 蓝牙
sink与source的断开和连接 sink与source的断开可以选择如下两种方式:法1: StreamDisconnect(mic_source_a, spkr_sink_a);法2: StreamDisconnect(0, spkr_sink_a); StreamDisconnect(mic_source_a, 0);在test mode时,连接mi
2014-03-20 17:38:22 1472
转载 蓝牙核心协议,芯片结构,源码和移植 .
from :http://blog.csdn.net/evanwu_85/article/details/63167801 Bluetooth Core System Protocol(蓝牙核心协议)蓝牙技术规范(specification)包括核心协议(protocol)和应用规范(profile)两个部分。核心协议包含蓝牙协议栈中最低的4个Layer,和一个基本的服务协议SDP(S
2014-03-14 14:29:18 1198
转载 bluetooth overview
1 简介1998年,IEEE 802.15 工作组成立, 专门从事WPAN标准化工作。它的任务是开发一套适用于短程无线通信的标准,通常我们称之为无线个人局域网(WPANs)。IEEE 802.15 WPAN共拥有4个工作组,而蓝牙WPAN工作组便是其中之一。1.1 蓝牙的应用领域移动电话和免提设备之间的无线通讯,这也是最初流行的应用 特定距离内电脑间的无线网络 电脑与外设的无线
2014-03-14 14:24:10 1128
转载 蓝牙芯片
基本上,读过datasheet都应该知道,CSR拥有或者曾经拥有如下三种芯片,HCI ROM,HCI RFCOMM ROM,Full embeded solution. 这三种芯片的区别在于支持的蓝牙协议栈的层次不同。 HCI ROM: 这种芯片支持到HCI 接口部分,硬件HCI接口一般使用UART/USB/SDIO, UART最为常用,HCI以下包含LMP,LL,RF部分,其中的软
2014-03-14 11:14:46 4916
转载 时钟周期 机器周期 指令周期
时钟周期时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为0.25us。由于时钟脉冲是计算机的基本工作脉
2014-03-14 10:02:17 943
转载 嵌入式linux工程师面试
from:http://blog.csdn.net/qdlovecsj/article/details/6884931 http://blog.csdn.net/qdlovecsj/article/details/6884983在网上看到了一篇嵌入式的面试题,忽然觉得自己很渺小……在未来一段时间内我会陆续贴上我的答案,当然可能有些我做不出来,做出来的也不一定准确,在检验和提高自己的同
2014-03-06 20:30:33 2150
转载 GPS nmealib学习笔记 .
from:http://blog.csdn.net/xukai871105/article/details/128344210.nmealib简介 nmealib是一个基于C语言的用于nmea协议的开源库。虽然nmea体积小巧,但是却具备了不少功能。 分析NMEA语句并把结果保存在合适的C语言结构体中。 除了解析NMEA语句之外,还可以产生NMEA语句
2014-03-05 20:22:49 6381 1
转载 linux下串口gps应用
from:http://blog.chinaunix.net/uid-20698826-id-3366846.htmllinux串口gps使用总结 一、Gps数据格式标准(nmea0183)http://en.wikipedia.org/wiki/NMEA这次只要获取经纬度信息,所有主要针对下面2个Gps命令(1)位置信息(GGA) $GPGGA、、、、、、、、、、M, 、*hh UTC时间,
2014-03-05 20:00:02 2886
转载 分析TCP/IP协议栈代码之TCP(STM32平台) .
from:http://blog.csdn.net/fovwin/article/details/88875881. TCP介绍TCP与UDP都属于传输层,但是与UDP不同的是,TCP是面向连接的,可靠的传输协议。ps:需要找几篇文章来看看两者的不同和各自的用武之地了,虽然对下面的代码分析之后对何为“面向连接”,何为“可靠”有一个具象的了解,但是不够全面和系统,比如何时采用TCP,何时
2014-03-04 12:29:49 19444
转载 分析TCP/IP协议栈代码之UDP(STM32平台) .
from:http://blog.csdn.net/fovwin/article/details/97963591. UDP介绍 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。
2014-03-04 12:27:50 2425
转载 Source Insight
from:http://blog.csdn.net/cemer815/article/details/7338505目录(?)[+]Source Insight Marco研究语法篇source insight研究正则表达式篇source insight研究快捷键篇转source insight研究配置篇转转Source Insight使用技巧
2013-11-17 16:50:58 7884
转载 浅谈网络语音技术 .
from:http://blog.csdn.net/zhuweisky/article/details/7645806当我们使用像Skype、QQ这样的工具和朋友流畅地进行语音视频聊天时,我们可曾想过其背后有哪些强大的技术在支撑?本文将对网络语音通话所使用到的技术做一些简单的介绍,算是管中窥豹吧。 一.概念模型 网络语音通话通常是双向的,就模型层面来说,这个双向是对
2013-10-28 20:01:25 729
转载 STM32学习笔记——GPIO之从库函数到寄存器 .
from:http://blog.csdn.net/fovwin/article/details/8810703例子为单片机的“Hello World”级的流水灯实验——虽然只有一个,其中并不是将完整的代码给出,只是给出关键部分来说明“如何调用ST公司的的库来完成对硬件的控制,以及对库文件代码进行跟踪和分析至寄存器级”。所以从第一段代码往下看就可以了,要用到的函数和变量大部分会说明,至于寄存器
2013-09-22 16:23:54 1363
转载 [c&cpp][memory] 内存对齐分配策略(含位域模式)
1:内存对齐定义: 现在使用的计算机中内存空间都是按照字节划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际上计算机系统对于基本数据类型在内存中的存放位置都有限制,要求这些数据存储首地址是某个数K的倍数,这样各种基本数据类型在内存冲就是按照一定的规则排列的,而不是一个紧挨着一个排放,这就是内存对齐。对齐模数: 内存对齐中指定的对齐数值K成为对齐模数
2013-09-07 09:26:43 686
转载 ARM Linux 中断向量表建立流程 .
一般编写arm的裸机程序的时候,创建中断向量表就把它放在0x00000000~0x0000001c中,一般都放在这个位置上。但是中断向量表也可以放在0xffff0000~0xffff001c中,知道这是怎么设置的么?开始看到的时候真的有点奇怪,因为在学习arm的时候,根本没去看arm中的协处理器CP15中的c1控制寄存器中的v位来控制,我们一般都使用默认的值0,则必须将中断向量表放在0x00000
2013-08-30 18:29:44 4705
转载 HDMI EDID解读 .
现在的显示设备比如显示器,电视等都HDMI接口,那通常每个HDMI接口都保留有一份EDID数据,这个数据可以存在程序里面由系统启动过程中来初始化,更常见的做法是每个HDMI口会有一个EEPROM来保存这份数据,这个EEPROM也只是有256bytes大小。外接设备如DVD播放器在HDMI热插拔的时候就会通过HDMI的DDC通道来读取EDID数据。EDID里面主要是定义了这显示设备所支持的图像分辨率
2013-08-29 14:17:20 4901
转载 HDMI之EDID分析 .
HDMI(HighDefinitionMultimediaInterface),作为新一代数字多媒体接口,能够传输高速率无压缩的数字音频、视频数据,HDMl1.2像素时钟可达165MHz,数据速率达到4.95Gbps,而HDMl1.3像素时钟则高达340MHz,数据速率达到10.2Gbps。目前高清1080p的数据带宽是2.2Gbps,HDMI完全可以用在高清图像传输中。事实上,目前高清图像传输也
2013-08-28 18:35:09 3940
转载 HDMI 之 HPD
HPD(Hot Plug Detection),在HDMI的一对联接中,为热插拔的实现而设计的。简单地说,当发送端接入接受端时,接受端会回应HPD信号给发送端,进而发送端会启动DDC通道,而读取接受端EDID的信息,然后进行HDCP的交互,如果双方认证成功,则视频、音频正常工作,否则联接失败,不同系统会有不同的处理。 例如,如果EDID信息不支持HDMI,则发送端只发送视频信息,而没有音
2013-08-28 18:24:48 3191
转载 linux驱动面试常见题目
1. linux内核里面,内存申请有哪几个函数,各自的区别?Kmalloc() __get_free_page() mempool_create() 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3. int *a;char *b;a 和 b本身是什么类型?a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?
2013-07-28 14:16:59 1731
转载 Linux网络协议栈——网络设备
网络设备(network device)是内核对网络适配器(硬件)的抽象与封装,并为各个协议实例提供统一的接口,它是硬件与内核的接口,它有两个特征:(1) 作为基于硬件的网络适配器与基于软件的协议之间的接口;(2) 内核协议栈异步输入输出点。记住:网络设备软件对硬件的抽象网络设备与协议和网络适配器的关系如下:1、 net_device接口(net_devi
2013-07-28 11:51:43 841
转载 GDT和IDT的初始化
内存管理时,不让多进程的程序出现内存冲突的一解决方案是Segmentation。4GB的内存可以任何分割,每块的初始地址都是0。另外还有一种复杂的内存管理方案,既Paging,目前主流的操作系统都是采用这种方式。本文的OS为了实现简单,只采用Segmentation方案。我们规定1个Segmentation的信息有:l Sizel 初始地址l
2013-07-27 12:19:06 1447
转载 net_device
net_device结构保存与网络设备相关的所有信息。每一个网络设备都对应一个这样的结构,包括真实设备(例如以太网卡)和虚拟设备(比如bonding或VLAN)。Bonding,也被称作EtherChannel(Cisco的术语)和trunking(Sun的术语),允许把一定数量的接口组合起来当作一个新的设备。这个特性在系统需要把多个点对点设备组合起来以获取更高带宽时有用。新设备的速度可以
2013-07-27 12:17:51 993
转载 linux中断处理------顶半部与底半部
转自http://my.oschina.net/fzliu/blog/33028尽管有些设备仅通过它们的I/O寄存器就可以得到控制,但现实中的大部分设备却比这复杂一些。设备需要与外部世界打交道,如旋转的磁盘,绕卷的磁带,远距离连接的电缆等。这些设备的许多工作通常是在与处理器完全不同的时间周期内完成的,并且总是要比处理器慢。这种让处理器等待外部事件的情况总是不能令人满意,所以必须有一种方法可
2013-07-27 12:07:49 718
转载 USB枚举过程
1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统
2013-07-26 12:09:34 594
转载 uboot移植过程
1.修改Makefile首先给要建立的S3C2410开发板取名为TE2410, 移植uboot时以smdk2410为模板,修改Makefile#tar xvjf u-boot-1.1.3.tar.bz2#cd u-boot-1.1.3#vi Makefile scb9328_config : unconfig @./mkconfig $(@:_confi
2013-07-23 11:07:44 685
转载 Linux 与 Windows
在讨论 Linux 与 Windows 有多大不同之前,让我们先来看看这两者有哪些相似之处。用户和组Linux和Windows都是多用户操作系统。都可以由许多不同的用户来使用,为每个用户提供单独的环境和资源。基于用户身份来控制安全性。都可以以组成员的方式来控制资源的访问权限,这样在用户数目较大时可以不必为每一个帐号设置权限。 用户和组可以集中管理,让多个服务器共享相同的用户和身
2013-04-25 19:55:21 632
转载 进程控制 .
1、进程调用的头文件为。2、pid_t getpid() 获取本进程ID。pid_t getppid()获取父进程ID。 3、fork()返回值:在父进程中,返回新创建的子进程的PID在子进程中,返回0出现错误,返回负值4、 fork与vfork的区别forkvfork
2013-03-27 11:37:24 689
转载 Linux 管道通信 .
一、定义 管道是单向的、先进先出的。它将一个程序的输入和另一个程序的输出连接起来。数据被一个进程读出后,将被从管道中删除。分为无名和有名管道两种。前者用于父进程和子进程间的通信,后者用于同一系统的两个进程间通信。 二、无名管道 int pipe(int fd[2]); 其中,fd[0]用于读管道,fd[1]用于写管道。若成功则返回零,否则返回-1,错
2013-03-27 11:34:49 646
转载 Linux 信号通信 .
一、信号 信号(signal)机制是Unix进程间通信的一种机制。很多条件可以产生信号。 进程可以用kill 函数将信号发送给另一个进程,用户可以用kill命令发送信号。 信号有三种处理方式:1、忽略信号。通常情况下都按这种方式进行处理,但SIGKILL和SIGSTOP不能被忽略。2、执行用户定义的动作。调用用户定义的函数,执行用户希望的处理。3、执行系统默认
2013-03-27 11:34:14 655
转载 Linux 共享内存 .
一、概念共享内存是被多个进程共享的一部分物理内存,是进程间共享数据的最快的一种方法。 二、实现分为两个步骤:1、创建共享内存。2、映射共享内存。1、创建 int shmget(key_t key, int size, int shmflg)当key的取值为 IPC_PRIVATE 时,将创建一块新的共享内存。shmflg至少设为S_IR
2013-03-27 11:33:36 566
转载 Linux消息队列 .
一、概念 消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向中按照一定的规则添加新消息;有读权限的进程则可以读走消息。读走就没有了。消息队列是随内核持续的。 只有内核重启或人工删除时,该消息才会被删除。在系统范围内,消息队列与键值唯一对应。二、步骤及思路1、取得键值2、打开、创建消息队列3、发送消
2013-03-27 11:32:06 704
转载 Linux 多线程学习 .
一、多线程 VS 多进程 和进程相比,线程有很多优势。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护代码段和数据。而运行于一个进程中的多个线程,他们之间使用相同的地址空间。正是这样,同一进程下的线程之间共享数据空间,数据可以相互使用,并且线程间切换也要更快些,可以更有效的利用CPU。二、程序设计[注] 头文件 编译时要加载动态
2013-03-27 11:31:23 556
转载 linux文件读写 文件锁、select、poll .
一、文件锁 文件锁用于多个用户共同使用或操作同一个文件。有读锁的时候可以再加读锁,不能再加写锁。有写锁的时候,不能加任何锁,加读锁时,该描述符必须是读打开,加写锁时,该描述符必须是写打开,且只在进程间有用。 重写的上锁方法[cpp] view plaincopyprint?//lock.c int lock_set(int fd,i
2013-03-27 11:30:09 867
转载 linux多进程——进程组与会话、守护进程、信号通信 .
[+]killraise 发信号一些相关知识可以参考 Linux 信号通信pause 将进程挂起直到捕捉到信号为止举例1 一、进程组与会话 进程组:是一个或多个进程的集合。可以调用 getpgid(0) 或 getpgrp() 来得到。进程组ID为组长的进程ID。只要进程组中有一个进程存在,进程组就存在,与组长进程是否终止无关。调用 setpgid() 加入一个现有的
2013-03-27 11:27:19 632
广东北电面试题.doc
2013-10-31
stm32030.pdf
2013-10-27
几何算法.zip
2013-08-06
( Linux窗口程序设计Qt4精彩实例分析_2012-12-27-01-59-40.pdf )
2013-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人