- 博客(26)
- 资源 (11)
- 收藏
- 关注
转载 内核空间和用户空间,内核态和用户态,进程上下文和中断上下文
内核空间和用户空间 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空间)。因为每个进程可以
2011-12-29 11:33:47 998
转载 Linux s3c2410 DMA驱动开发
网上介绍LINUX下的一般驱动程序开发示例浩如烟海,或是因为简单,关于DMA驱动的介绍却寥寥无几;近期zhaoyang因工作需要,花了几日时间开发了某设备在S3C2410处理器Linux下DMA通信的驱动程序,有感于刚接手时无资料借鉴的茫然,故写点介绍,期待能给有DMA开发任务的网友们一点帮助。本文将包括如下内容:DMA驱动主要函数功能 驱动中关键技术分析 具体的DMA实例分析 申
2011-12-26 16:16:19 1080
转载 Linux设备模型 -- 总线、设备、驱动程序和类(机制理解)
文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject、kset、attribute等等)的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的。总线总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连
2011-12-22 18:18:33 868
转载 Linux设备模型--总线、驱动、设备、设备类 (相关结构介绍)
前面的文章分析设备模型中的最基础部分,下面就要更跨入现实,看看如何在这些基础之上构建整个设备驱动子系统。谈到设备驱动,总会涉及到三个概念:总线、驱动、设备。而在Linux中,为了便于用户管理一些功能不同但是使用方式却很接近的设备,开发者们定义了一个设备类的概念。总线?structbus_type { constchar
2011-12-22 18:00:53 841
转载 linux共享中断的处理
Linux可以让多个设备共享一个中断号,而且共享同一中断的中断处理程序形成一个链表,内核对每个中断处理程序都要执行,那么,没有产生中断的设备本该靠边站的,它的中断处理程序也被执行了?到底是怎么会事?实际上: 共享的处理程序与非共享的处理程序在注册和运行方式上比较相似,但差异主要有以下三处:* request_irq()的参数flags必须设置SA_SHIRQ标志
2011-12-22 17:52:50 1838
原创 platform总线
platform总线是linux2.6内核加入的一种虚拟总线。platform机制的本身使用并不复杂,由两部分组成:platform_device和platform_driver。platform驱动与传统的设备驱动模型相比,优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序使用这些资源时使用统一的接口,这样提高了程序的可移植性。通过platform机制开发
2011-12-22 17:12:05 987
原创 linux2.6 总线设备驱动模型
总线设备驱动模型:其中的设备,驱动是什么关系?与真实的物理设备是如何对应的? 欢迎留言讨论。总线由bus_type描述:struct bus_type my_bus_type = { .name = "my_bus", .match = my_match, // 当一个新设备或者驱动被添加到这个总线时,该方法被调用,用于判断指定的驱动程序与指定
2011-12-22 11:02:54 1101
转载 嵌入式Linux相关的关键技术
嵌入式Linux相关的关键技术:1、C语言高级编程;2、数据结构;3、C++面向对象编程4、QT等Linux图形界面程序编程机制与技巧;5、Linux操作系统开发环境;6、嵌入式Linux高级应用编程(包括:网络、数据库、文件IO等开发);7、ARM、POWERPC等处理器编程;8、ARM、POWERPC等硬件接口开发;9、嵌入式Linux内核裁剪及移植;1
2011-12-21 16:10:37 743
转载 推翻谬论 程序员至少能做到五十岁!
引言总是不断地在论坛、博客乃至报刊、杂志上看到关于“程序员是否可以干到30岁之后”,或者“程序员30岁以后能够做什么”,这样的讨论。这样的讨论多了,似乎在校念计算机的学生也没出校门就开始严肃思考自己30岁之后应该转行干什么的问题。 这个观点对整个产业影响不小,然而,我似乎无法为“不能干到30之后”这个论点找到充分的论据。反之,我觉得做程序员至少可以做到五十岁。首先声明一点:本人已经
2011-12-21 16:07:17 1643
转载 CTO语录:真正技术高手是如何炼成的?
在第三届中国软件技术英雄会上,上海群硕大中华区软件开发总监邵荣,阿里软件技术总监叶伟,盛大游戏首席技术官朱继盛, 趋势科技(中国)有限公司技术总监蔡昇钦,巨人网络集团首席技术官CTO宋仕良,淘宝网首席架构师王文彬共同参与的CTO论坛上,就有关CTO是否必须为技术高手,从程序员到技术高手成长之路,发表了自己的见解。 我觉得CTO并不必须是技术大拿,大家今天可以看到,从CTO的定义来
2011-12-21 15:57:53 971
转载 研发人员的职业化与职业素养
2005年,在德国,我乘坐一辆德国司机开的大客车,车上装了GPS导航,有导航地图,也有一个领路人。在一段高速上,领路人说不对,不该在这个高速公路口出去,应该是下一个,司机坚持,固执的依靠导航仪,最后还是走错路了,原因是两个地方、同一个地名,GPS导航到了离得近的那个,远的那个才是我们的目的地。 德国出口到中国的一台机器,安装调试作业文件上有一个要求“顺时针拧紧360度,然后逆时针拧
2011-12-21 15:54:17 798
原创 kobject和kset
kobject和kset实现了基本的面向对象管理机制,是构成linux2.6设备模型的核心结构。它与sysfs文件系统紧密相联,在内核中注册的每个kobject对象对应sysfs文件系统中的一个目录。kset是kobject的集合,kobject只能包含属性(在sysfs中即为文件),kset可以包含目录(亦即kobject)。linux2.6 引入了sysfs文件系统,与proc文件
2011-12-21 15:40:41 981
原创 I/O端口与I/O内存
寄存器与ram的区别: 寄存器的操作有副作用(side effect),如有些状态寄存器,读取后便会自动清零。X86:支持I/O空间,支持内存空间ARM,MIPS,POWERPC:只支持内存空间I/O端口:一个寄存器或内存位于I/O空间I/O内存:一个寄存器或内存位于内存空间I/O端口的操作: (1)申请 request_reg
2011-12-21 15:21:49 1188
原创 系统调用 -- mmap
mmap系统调用 作用:把文件内容映射到进程的虚拟内存空间 void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); prot: 映射区的保护方式, PROT_EXEC PROT_READ PROT_WRITE flags: MAP_SHARED 写回
2011-12-21 14:56:28 1206
原创 《华为研发》阅读 - 26 (中试部,品质保证)
中试部:成熟产品的摇篮 在华为成立中试部以前,研发人员把产品研发出来之后,自己测试一下以为没有问题,就匆忙交给生产部门,以为完事大吉,然后自己去做新产品的研发去了。结果到了批量生产阶段,各种问题都冒了出来:生产过程中的直通率低,废品率高,生产过程中因为一个个小问题出现批量事故:批量生产时出现诸多质量问题,不明原因:发货清单不全,出货前才发现有了这个少了那个,不能构
2011-12-07 15:15:11 11128 1
原创 《华为研发》阅读 - 25 (预研)
预研体系:研发的“千里眼” 知道下一步做什么技术能赚钱,无疑是至关重要的,因为资源是有限的,研发经费必须花在刀刃上才有意义,而“做什么”的方向对了,离成功也就近了一半。 1997 年年初,华为在珠海召开战略规划委员会,会议上明确了战略规划的核心是抓住机会,每年要拨出一定数量的科研经费,用于战略性预研;区分了规划办与总体办的职责:规定了重大项目的审议流
2011-12-07 15:02:01 5055
原创 《华为研发》阅读 - 24 (研发体系,研发流程)
研发体系的“三驾马车· 有一家在电子行业里经营了20 年的上市公司,研发部有600 人,最多时曾有1000 人.该公司研发郎有硬件部,软件部,测试部、项日部,测试部是几个初中毕业的小姑娘在不停地打电话测试手机功能,项目部也是几个刚毕业没多长时间的年轻人,结果项目出问题不知道找谁来承担责任。年轻的项目经理已经“很忙”,经常还因为协调不动硬件部,软件部而眼泪汪汪。
2011-12-06 15:39:51 5670
原创 《华为研发》阅读 - 23 (市场,客户需求,客户价值)
微软和思科成功在哪里 1998 年从美国考察回国,颇有触动的郑宝用写了篇《企业创新旨在低成本高增值的客户服务》的文章,以下是该文中的重要思想和段落: 微软和思科公司看起来似乎是并没有什么专有技术的公司。微软不就是用C 语言编写软件吗?思科公司的路由器也没有特别技术,其以太网协议源于Novell 公司,TCP/IP、IPX 协议不过十几本书,而且是公开
2011-12-06 12:25:15 2156
原创 《华为研发》阅读 - 22 (先进的项目管理工具)
淘金美国 1998 年,中研部总裁李一男给了刘平一个美差——派刘平去华为美国公司工作一段时间。这次去美国不是像以前那样走马观花,而是在美国待一段时间。带队的是郑宝用,他是作为华为美国公司的负责人而去的。同行的还有中研部基础研究部(芯片部门)的总监叶青、华为电气研发部的总监金海明和华为香港公司的总监莫军。 在去美国之前,任正非召见了郑宝用、叶青和刘平。
2011-12-06 10:28:03 3119
原创 《华为研发》阅读 - 21
国际同步,管理先行 1996 年,无线业务部的负责人陈朝晖、交换业务部的张云飞、总体办的陈青等四人随华南通信电子考察团赴美,参加美国达拉斯96’Supercomm 通信电子展览会,并考察美国两家著名的通信电子公司(德州仪器及高通)。参观后,他们发现了很多重要的信息,之后在华为研发系统掀起了重大的波澜。 一是美国的科技企业间比较讲究既斗争又联合的策略,
2011-12-06 09:59:04 1527
原创 《华为研发》阅读 - 20 (并行开发,规划、管理、市场······)
教训惨痛:“闭着眼睛”研发 如果说华为公司1998 年以前中研部在研发上有一个屡犯不改的错误,那一定是过于主观性地去开发产品,即不顾市场需求的变化和竞争对手技术的发展,“闭住眼睛”做研发。1994 年年初华为公司开始组建CT2(无线通信的一种制式,号称二哥大,以别于GSM 大哥大)项目组。项目组花几个月的时间便学习完全新的CT2 技术,并于1994 年6 月就基本调
2011-12-05 17:11:29 2704
原创 《华为研发》阅读 - 19 (芯片设计,从零突破)
从小处做起,从零突破 华为早期的芯片设计工程师,很多人没有做过芯片设计,更没有芯片投产的实战经验。而华为也没有条件从国外引入高薪的工程师,只能靠年轻的芯片设计工程师从理论学习开始,再结合实践—步步地摸索。 1996 年南京大学研究生毕业的孙洪军来到华为基础研究部,刚开始对芯片设计简直是—窍不通。他从对已有芯片的电路解剖分析入手,一边对着芯片,—边对着
2011-12-05 10:46:53 3761
原创 《华为研发》阅读 - 18 (自己做芯片,提高竞争力)
如何既有成本优势又有利润 早期华为的产品在技术和功能上弱于国外竞争对手,其最重要的竞争优势就是价格。但是自华为1996 年进入“中国电子百强”后,就一直高居中国电子百强利润排名的第一。华为是怎么做到既有成本优势又有利润的呢? 许多人都认为在国际竞争的舞台上,中国的电子制造企业有成本优势,因为中国人的工资低,从而中国企业具有“比较”优势。其实不然,在通
2011-12-05 10:35:47 4675
原创 《华为研发》阅读 - 17 (跨部门的研发协作)
如何确保跨部门的研发协作 很多公司在推行矩阵管理过程中都遇到比较多的问题,而使矩阵管理无法落实下去。如矩阵结构存在两条权力线,这样就形成了对人员的双重指挥,项目经理承担着项目责任,但却不拥有相应资源(人员、设备等),又导致了责权不对等,从而给项目部门的运作和考核带来很大的不确定性。 华为中研部在避免矩阵管理常见问题方面采取了几条特别的措施:(1)
2011-12-05 09:58:01 3000
转载 Windows下用wingrub引导安装linux (2)
一.安装wingrub1. 双击wingrub 的安装程序,如下图所示:2. 选择安装的位置,如下图所示:单击Install 安装完成。下图选择时,不一定要选放有linux镜像的分区,可以选C盘,即(hd0,0)。二.Wingrub的配置A.选择Tools--àInstall Grub如下图所示:在弹出的窗口中做如下配置,最后单击Istall完成安装。
2011-12-01 23:58:28 1788
MySQL-python-1.2.5.win-amd64-py2.7.exe
2017-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人