linux
文章平均质量分 60
明象Dean
十多年不改对软件系统设计的热爱与投身软件事业的初衷
展开
-
网卡驱动(二)
9.4. softnet_data StructureWe will see in Chapter 10 that each CPU has its own queue for incoming frames . Because each CPU has its own data structure to manage ingress and egress traffic,转载 2009-04-07 21:37:00 · 579 阅读 · 0 评论 -
linux蓝牙编程 bluez
从别的地方转了一篇蓝牙编程的,感觉比较详细,接下来自己慢慢验证一下。 实战Linux Bluetooth编程实战Linux Bluetooth编程(一) 协议栈概述前言:随着嵌入式系统的飞速发展,很多嵌入式平台上需要Bluetooth设备和应用。但在Linux下如何对Bluetooth编程,一直没有一份很好的中文文档。Sam结合自己的工作,一转载 2009-12-23 15:30:00 · 5607 阅读 · 0 评论 -
ARM平台上蓝牙协议栈Bluez的移植使用和配置
ARM平台上蓝牙协议栈Bluez的移植使用和配置作者:刘旭晖 Raymond转载请注明出处Email:colorant@163.com BLOG:http://blog.csdn.net/colorant/主页:http://rgbbones.googlepages.com/Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广转载 2009-12-24 10:33:00 · 931 阅读 · 0 评论 -
Linux下的段错误的原因及调试
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt转载 2009-12-24 17:05:00 · 489 阅读 · 0 评论 -
minigui环境搭建
想好好学学编程基础,先前安装了qt的开发环境,但是最终因为c++水平有限,决定先搞搞minigui的代码,就按着这个教材安装了个开发环境花了我一晚上的时间 Minigui算是我们中国人在世界软件界的骄傲了,作为中国人理应学它,虽然现在基本都用QT了。(关键是我的开发板只有16M的NORFLASH,华恒的板子真会赚钱,故意留个NANDFLASH不给你焊原创 2009-12-29 21:58:00 · 2555 阅读 · 0 评论 -
linux下使用蓝牙设备
UBUNTU下面有个gnome蓝牙桌面管理器,使用起来很简单,但是搞不清除这个工具的工作细节,看看下面的方法,用的是bluez提供的工具,写成的脚本,我好好研究研究,以备做嵌入式之用。 1 加载蓝牙模块 需要加载的模块有bluetooth、 hci_uart、 l2cap、 rfcomm、 sco原创 2009-12-29 08:31:00 · 3510 阅读 · 1 评论 -
CS8900 base address的确定方法
开始研究tftp的实现方法,框架基本上是(从底层向上):媒介->IP->UDP->TFTP。其中,CS8900A就可以完成PHY层和MAC层的所有工作,在媒介的上部应该还有一个LLC(logical link control),IP层也不仅仅包含IP协议,另外还需要有arp协议来确定host的mac地址。这个整体的框架后面详细介绍,下面先简略介绍cs8900a的base address的确定方法和原创 2010-01-01 20:44:00 · 563 阅读 · 0 评论 -
dm9000移植
一直在学习驱动的移植,不过对硬件这块不熟,看了网上的这篇文章,觉得不错,我再加以注解,望原作者见谅。 先看如下关于dm9000和mini2440的连接图: 从上面可以简单得出这些:a. dm9000的访问地址为BANK4的基址(也许是通过上面的nGCS4看出来的)。(这个我是不明白的)b. 只有一根地址线ADDR2。c. 总线位宽为16位,有nWAIT信号。原创 2009-12-31 14:49:00 · 982 阅读 · 0 评论 -
对qt有信心了。
前两天装linux-fetion一直不成功,最后终于找到了解决的办法,我装的是1.3版本,下面写出我找到的解决方法,以作备忘:1:建立编译环境:在终端执行以下命令:sudo apt-get install automakesudo apt-get install libc-devsudo apt-get install g++ sudo apt-get install li原创 2010-03-14 15:00:00 · 570 阅读 · 0 评论 -
dm9000驱动移植 之二
DM9000移植一例 2推荐 在前面移植好内核和文件系统之后,开始考虑网卡的通信了。网上好多关于DM9000驱动的例子,大同小异,但是一律照搬都是不行,最多的只能发现设备,到最后还是ping不通,花费九牛二虎之力,终于还是弄好了。看到ping通其他主机,真是舒了一口气。 首先,移植驱动要做的这么几个事情1、 要让系统能检测到设备2、 初始化它3、 让驱动找到原创 2010-01-01 20:42:00 · 616 阅读 · 0 评论 -
高效率嵌入式程序开发技巧
高效率嵌入式程序开发技巧 摘 要:嵌入式系统对应用软件的质量要求很高,在嵌入式开发中须注意对代码进行优化,尽可能地提高代码效率。虽然C编译器都提供了一定程度的代码优化,但大部分由编译器执行的优化技术仅涉及执行速度和代码大小的平衡,不可能使程序既快又小,因而必须在编写程序时采取必要的措施。本文针对高效率嵌入式程序开发提供了一些编程技巧,对实际系统开发具有重要作用。广告插播信息原创 2010-01-02 09:53:00 · 497 阅读 · 0 评论 -
嵌入式2D加速显卡SM501驱动的移植[linux.2.6.18]
本文从三个方面说明一下SM501显卡驱动在2440+2.6.18环境下的移植:1 硬件情况。2 移植过程3 驱动测试一、硬件情况:第一次接触到显卡编程,有点不太适应。SM501的Datasheet写的太简略,个人觉得有用的基本上就是两个方面:1 内存映射模式。2440与SM501连接模式为2转载 2010-04-15 11:11:00 · 1468 阅读 · 0 评论 -
嵌入式Linux系统小型化技术
作者Email: zhh@httc.cn 介绍了Linux在嵌入式领域中的应用和宿主机、目标机开发模式,详细地给出了精简内核的实现过程。分析了glibc系统库和ELF文件格式的结构和其中的共享库裁剪技术的原理,提出并实现了一种库裁剪方案。 关键词 嵌入式;Linux;小型化 一、 概述 嵌入式Linux一般是指对标准Linux发行版本进行小型化裁剪处理之后,适合于特定嵌入式应用场合的专用Linux转载 2010-04-20 21:25:00 · 1024 阅读 · 0 评论 -
KCONFIG语法 (踏踏实实看内核之一)
下面的是我在网上找到的一篇关于kconfig语法的文章,我对照它写个例子。linux在2.6版本以后将配置文件由原来的config.in改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说明,在这里给出kconfig-language.txt的中文版。 介绍-原创 2009-12-18 14:13:00 · 814 阅读 · 0 评论 -
linux内核驱动DIY (踏踏实实学内核之2)
上文中提到了kconfig文件修改,在里面加入了config EmbedSky_HELLO tristate "TQ2440/SKY2440 Hello Driver" depends on ARCH_S3C2440 help EmbedSky TQ2440/SKY2440 Hello.这几行代码,表示要编译Embed原创 2009-12-18 14:25:00 · 457 阅读 · 0 评论 -
linux内核移植 s3c2440
s3c2440-sdi s3c2410-sdi: powered down.s3c2440-sdi s3c2410-sdi: initialisation done.usbcore: registered new interface driver hiddevusbcore: registered new interface driver usbhiddrivers/hid/usb原创 2009-12-11 13:44:00 · 564 阅读 · 0 评论 -
linux内核编译
最近编译那个arm的linux内核,用的是Ubuntu8.04,环境搭建比较麻烦,好不容易把那个些包给找出来,以防再忘了minicom (字符环境的串口终端,在远程使用telnet时使用) gtkterm (图形环境的串口终端,在图形环境的桌面上使用) cutecom (图形环境的串口终端,可以log和滚动条,但无法显示带格式的字符) samba (Windows的网络文件共享) sy原创 2009-04-17 13:03:00 · 539 阅读 · 0 评论 -
网卡驱动(三)
Linus, please reject if you want renaming as well.The function cpu_raise_softirq() takes a softirq number, and a cpu number,but cannot be used with cpu != smp_processor_id(), because theres nolockin转载 2009-04-07 21:45:00 · 488 阅读 · 0 评论 -
看linux网卡驱动代码,softnet_data[]
看网卡驱动的时候看到这儿不知道了,就查了下这个结构,下面共享一下2、队列层什么是队列层?通常,在网卡收发数据的时候,需要维护一个缓冲区队列,来缓存可能存在的突发数据,类似于前面的DMA环形缓冲区。队列层中,包含了一个叫做struct softnet_data:struct softnet_data{/*throttle 用于拥塞控制,当拥塞发生时,throttle将被设置,后续进入的数据包将被原创 2009-04-07 21:00:00 · 2081 阅读 · 1 评论 -
aircrack-ng中的代码分析
在网上搜索了好久也搜不到有关aircrack的分析过程,只好硬着头皮自己分析了,也再进一步熟悉下linux编程,首先对其中的airodump-ng进行分析,因为这个是用来抓包的,毕竟还是最主要的,是研究数据的基础,下载了1.0-r2的版本,那个不容易阿,最,最后还是在csdn上找到的,以前有来着,装系统给不见了。首先,在airodump里有这个结构struct globals{原创 2009-04-20 19:43:00 · 1398 阅读 · 0 评论 -
c语言指针问题
#include "stdafx.h"#include "stdio.h"void pcopy(char *s,char *d){ while((*d++=*s++)); //这句写的不错}int main(int argc, char* argv[]){ char a[128]="i am a good student"; char b[128]="y原创 2009-04-30 15:28:00 · 425 阅读 · 0 评论 -
linux压缩命令 tar
root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压转载 2009-09-27 12:35:00 · 593 阅读 · 0 评论 -
v4l2 视频传输
关于Linux的视频编程(v4l2编程) 一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”转载 2009-09-23 21:40:00 · 1551 阅读 · 1 评论 -
忙了好久了,都麻木了,种种压力让我放下了它,但如今我下定决心要将这件事儿做好,编程,写出属于自己的代码。奋斗!
以前总在考虑学什么适合自己android,linux内核,服务器,或者是嵌入式设备的开发,或是别的?想了好久还是没给自己想出个结果,最终发现时间也过去了,结果什么都没有学,不过好的一点是什么都接触了。现在开始静下心来好好学学底层的东西,c,c++,做嵌入式linux的视频传输原创 2009-09-23 21:33:00 · 536 阅读 · 0 评论 -
rtp c++ 网络视频传输
linux 下基于jrtplib库的实时传送实现 一、RTP 是进行实时流媒体传输的标准协议和关键技术实 时传输协议(Real-time Transport Protocol,PRT)是在 Internet 上处理多媒体数据流的一种网络协议,利用它能 够在一对一(unicas,单播)或者一对多(multicas,多播)的网络环境中实现传流媒体数据的实时传输。RTP 通常使用 UDP 来进行转载 2009-09-29 10:44:00 · 5067 阅读 · 2 评论 -
qte移植
ubuntu9.04下编译qte-4.5.2全过程 及心得 因为想利用qte在arm9上做界面,花了一天多时间,总算把ubuntu下的qte环境搭建起来。因为先想在x86上先了解下qt的api以及架构,所以我还没有搭建交叉编译的环境,只是构建号qvfb,并跑起了qte中的测试程序。以下是我的编译过程:(红色文字是网络上的一些相关参考资料)在官方网站上下载qt-embedded-linux-o转载 2009-10-27 20:29:00 · 1050 阅读 · 0 评论 -
qte环境搭建
有些linux的光盘,需要的可以联系我,qq是602559817,每人最多3张 都有的触摸屏的支持:tslib下载了qt-embedded-linux-opensource-src-4.5.3分别存为两个文件夹xxx-x86和xxx-arm同时为了获取qvfb(以前下过的没用了,版本不对),下载了qt-x11-opensource-src-4.5.3,直接解压。* 首先转载 2009-10-31 10:54:00 · 978 阅读 · 0 评论 -
Ubuntu 9.04系统下编译 qtopia-src-2.2.0 过程
Ubuntu 9.04系统下编译 qtopia-src-2.2.0 过程A: 安装前准备sudo apt-get -y install x-dev libx11-dev x11proto-xext-dev libxext-dev libqt3-mt-dev uuid uuid-devB:安装以下文件包, 如有依赖请先在更新管理器中更新 文件: xlibs-st转载 2009-10-31 14:45:00 · 1405 阅读 · 2 评论 -
Linux设备驱动程序学习(15)-Linux设备模型(热插拔、mdev 与 firmware)
热插拔有 2 个不同角度来看待热插拔: 从内核角度看,热插拔是在硬件、内核和内核驱动之间的交互。 从用户角度看,热插拔是内核和用户空间之间,通过调用用户空间程序(如hotplug、udev 和 mdev)的交互。 当需要通知用户内核发生了某种热插拔事件时,内核才调用这个用转载 2011-07-09 11:14:29 · 514 阅读 · 0 评论