- 博客(64)
- 资源 (1)
- 收藏
- 关注
转载 嵌入式调试方法——用GDB Server进行远程
嵌入式调试方法——用GDB Server进行远程 关键字: 用GDB Server进行远程调试 某些时候由于模拟环境的限制,调试必须要在目标板上进行。由于嵌入式系统资源比较有限,一般不能在目标板上直接构建GDB的调试环境,这时我们通常采用gdb+gdbserver的远程
2014-10-18 16:21:17 289
转载 win7环境下配置eclipse 4.4.0完美编译c/c++程序
win7环境下配置eclipse 4.4.0完美编译c/c++程序|浏览:150|更新:2014-08-28 16:00|标签: windows7 1234567分步阅读很多朋友都想在windows环境下尝试使用eclipse编写c/c++程序,但如何配置环境
2014-10-18 00:31:40 236
转载 EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接
EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接 2011-02-15 21:41:40分类:EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接EWOULDBLOCK用于非阻塞模式,不需要重新读或者写EINTR指操作被中断唤醒,需要重新读/写在Linux环境下开发经常会碰到很多错误(设置errno),其中EA
2014-10-15 23:54:29 170
转载 对stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的学习
对stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的学习在unix系统调用中,标准输入描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.他们的区别:stdin等是FILE *类型,
2014-10-15 17:07:50 154
转载 va_start和va_end使用详解
va_start和va_end使用详解 本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的
2014-10-14 11:06:24 110
转载 利用ssh传输文件
利用ssh传输文件在linux下一般用scp这个命令来通过ssh传输文件。1、从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www
2014-10-11 16:54:10 615
转载 eclipse中的debug怎么用
eclipse中的debug怎么用?2010-08-19 21:36匿名 | 分类:其他编程语言 | 浏览29476次分享到:2010-08-20 17:10提问者采纳最基本的操作是: 1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run
2014-10-11 16:25:07 202
转载 Linux内存管理之mmap详解
Linux内存管理之mmap详解一. mmap系统调用1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,w
2014-10-10 16:00:37 120
转载 “#ifdef __cplusplus extern "C" { #endif”的定义
“#ifdef __cplusplus extern "C" { #endif”的定义看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事:Microsoft-Specific Predefined Macros__cplusplus Defined for C++ prog
2014-10-09 18:36:06 94
转载 一个80年小子的创业道理,和所有准备创业或者正在创业的兄弟们共享
一个80年小子的创业道理,和所有准备创业或者正在创业的兄弟们共享 作者:我的礼物 我是一个离开家乡在外地打拼的年轻人。回头看看过去的几年,从迷茫的小子,到对未来抱有信心的创业者,一步步走来,除了一直伴随的运气,觉得还有一些关键的东西,可以写出来,和每一个创业的兄弟们分享, 特别是那些没有风险投资、没有大量资金支持、没有特殊技术优势的朋友。 前序 在
2014-10-09 15:36:23 387
转载 OSSemCreate
在ucos-II中,为了实现任务之间的同步,用到的同步机制有:信号量,邮箱和消息队列。其中这里我主要说下对信号量的使用经验。信号量在创建时,调用OSSemCreate(INT16U cnt)函数。cnt为信号量的初始值。对cnt赋予不同的值,所起到的作用不同。如果Semp = OSSemCreate(0), 该信号量表示等待一个事件或者多个事件的发生。如果我们想对一个公共资源进行互斥访
2014-09-30 15:32:03 1186
转载 Ubuntu 10.04 配置TQ2440交叉编译环境
Ubuntu 10.04 配置TQ2440交叉编译环境Davim0 条评论发布于 2014-2-19 18:36:02 一、解压交叉编译开发工具包 EABI_4.3.3_EmbedSky_20100610.tar.bz2 $ sudo mkdir /opt/EmbedSky/ $ sudo cp -r /home/EABI_4.3.3_EmbedSky_2010061
2014-09-28 14:57:28 118
转载 Ubuntu12.04(32位)下TQ2440开发板环境搭建
Ubuntu12.04(32位)下TQ2440开发板环境搭建Step 1.安装arm-linux-gcc交叉编译器这里我使用的是天嵌tq2440光盘下的EABI-4.3.3_EmbedSky_20100610.tar.bz2安装包。1、在根目录下解压EABI-4.3.3_EmbedSky_20100610.tar.bz2sudo tar -xvf EABI-4.3.
2014-09-28 14:38:31 130
转载 miscdevice、platform_device、platform_driver的区别(转载)
最近研究Linux设备驱动程序遇到混乱,请大侠过来理理头绪。Linux设备模型中:bus_type、device、device_driver《Linux设备驱动程序》的linux设备模型章中说到设备模型中,所有设备都通过总线相连。添加设备devA,必须指定其device结构体的bus_type域,初始化其他域,然后调用device_register(&devA),将设备devA注册
2014-09-26 17:57:52 182
转载 异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET使用说明
select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include #include select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include
2014-09-26 17:55:33 130
转载 copy_to_user和copy_from_user两个函数的分析(转)
在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数。copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数。由于内核空间与用户空间的内存不能直接互访,因此借助函数copy_to_user()完成用户空间到内核空间的复制,函数copy_from_user()完成内核空间到用户空间的复制。下面我们来仔细的理一下这两个函
2014-09-26 17:54:39 138
转载 谈EXPORT_SYMBOL使用
EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的。2.6就必须用EXPORT_SYMBOL() 来导出来(因为2.6默认不到处所有的符号)。 1、EXPORT_SYMBOL的作用是什么?EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,
2014-09-26 17:52:02 125
转载 I/O驱动相关__raw_readl和__raw_writel
1.S3C2410_GPB5是端口编号,定义在regs-gpio.h中,#define S3C2410_GPIO_BANKB (32*1)#define S3C2410_GPIONO(bank,offset) ((bank) + (offset))#define S3C2410_GPB5 S3C2410_GPIONO(S3C2410_GPIO_BANKB,
2014-09-26 17:44:31 190
转载 linux驱动头文件说明(转载)
http://hi.baidu.com/%BB%F0%D0%C7%C6%B0%B3%E6911/blog/item/3c01cb8c3c5bccab0f244491.html驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。
2014-09-26 17:41:28 113
转载 ARM Linux静态映射分析
作者:易松华,华清远见嵌入式学院讲师。在华清远见上课过程中,发现静态映射方面初学者比较难于掌握和理解,下面分析一下静态映射机制的原理并通过GPIO和USB、LCD等的静态映射作为例子来说明如何通过这种静态映射的方式访问外设资源。内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系
2014-09-26 17:14:24 73
转载 wait_event_interruptible 使用方法
1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedule(), 而schedule()会将位于TASK_INTERRUPTIBLE状态的当前进程从runqueue 队
2014-09-26 10:48:08 195
转载 wait_event_interruptible() 和 wake_up()的使用
http://www.newsmth.net/nForum/#!article/KernelTech/20731 1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用s
2014-09-26 10:45:48 97
转载 miscdevice混杂设备驱动
定义:字符设备的一种,它们共享一个主设备号(10),但次设备号不同,所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的miscdevice设备。例如:触摸屏,LED,按键,串口。即:为了节约主设备号,将某些设备用链表的形式连接在一起,最后通过查找次设备区分。这里用主设备无法匹配出设备驱动,只能找到链表,再通过次设备号,才能找到设备驱动。而之前所学的,一般字
2014-09-26 10:44:04 123
转载 s3c2410自带AD的linux驱动程序 学习笔记
做的第一个嵌入式的实验,给我带来了不少乐趣。。希望多交些喜欢嵌入式linux的朋友。。QQ52410154 这个实验是网上有的,我做了一点点修改。原因是我的板子不知道为什么申请不到中断号。(触摸屏的驱动没加载)。 驱动程序/** s3c2410-adc.c** S3C2410 ADC* exclusive with s3c2410-ts.c
2014-09-26 10:43:22 222
转载 linux-2.6.32在mini2440开发板上移植 添加ADC驱动程序
添加ADC驱动程序编者:由于内核没有支持S3C2440的ADC驱动,在这里增加ADC驱动。友善的手册对这个介绍的还算相当详细,所以直接按照手册进行。里面的代码也有详细的注释。ADC驱动属于字符型设备,在这里以杂项设备也有的翻译为混杂设备,进行实现。 1 、关于S3C2440 的ADC 和触摸屏接口Linux-2.6.32.2 内核并没有提供支持S3C2440 的ADC
2014-09-26 10:42:57 136
转载 6410添加USB HOST
UHCI(UniversalHostControllerInterface),OHCI(OpenHostControllerInterface),ehci(EnhancedHostControllerInterface)他们都是主机控制器的规格,OHCI主要为非PC系统上的USB芯片,UHCI大多为Intel和Via主板上的USB控制器芯片。UHCI的硬件电路比OHCI简单,成本低,但驱动复杂,但
2014-09-26 00:15:45 139
转载 platform_device与platform_driver
做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 platform_driver。 (1)platform_devic
2014-09-26 00:15:03 177
转载 miscdevice、platform_device区别?
miscdevice、platform_device区别?最近研究Linux设备驱动程序遇到混乱,请大侠过来理理头绪。Linux设备模型中:bus_type、device、device_driver《Linux设备驱动程序》的linux设备模型章中说到设备模型中,所有设备都通过总线相连。添加设备devA,必须指定其device结构体的bus_type域,初始化其他域,然后调用d
2014-09-25 18:32:17 163
转载 Platform_device和platform_driver
Platform_device和platform_driver通过Platform机制开发发底层驱动的大致流程为: 定义 platform_device---注册 platform_device ---定义 platform_driver-----注册 platform_driver。 1. Platform_device 定义于 kernel/include/linux/plat
2014-09-25 18:31:59 93
转载 linux resouce,platform_device和platform_driver驱动的关系
linux resouce,platform_device和platform_driver驱动的关系Author: taoyuetaoEmail: tao_yuetao@yahoo.com.cnBlog: http://www.eetop.cn/blog/?111452006-11-21================================从2
2014-09-25 18:31:13 102
转载 关于chip->ecc.mode = NAND_ECC_NONE
关于chip->ecc.mode = NAND_ECC_NONE分类: ARM/Linux2011-11-03 16:59 768人阅读 评论(0) 收藏 举报c "mount_devfs_fs(): unable to mount devfs, err: -2"一个困扰了我很久的问题,主要是ecc的问题。在此我把我的理解说一下好了: 搞清
2014-09-25 16:57:38 688
转载 手把手教你写Linux I2C设备驱动
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/760020 Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,因为凡是系统中使用到的I2C设备,几乎都需要编写相应的I2C驱动去配置和控制它,例如 RTC实时时钟芯片、音视频
2014-09-25 11:59:27 118
转载 Linux下读写芯片的I2C寄存器
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/760965 要想在Linux下读写芯片的I2C寄存器,一般需要在Linux编写一份该芯片的I2C驱动,关于Linux下如何编写I2C驱动,前一篇文章《手把手教你写Linux I2C设备驱动》已经做了初
2014-09-25 11:56:37 169
转载 用户空间访问I2C设备驱动
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/761830 关于Linux下如何编写芯片的I2C驱动,本系列第一篇文章《手把手教你写Linux I2C设备驱动》对编写I2C Client 设备驱动的关键代码给出了初步的讲述和示例,第二篇文章《Lin
2014-09-25 11:54:38 98
转载 linux串口驱动分析
硬件资源及描述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)端口,每个端口都可以在中断模式或 DMA 模式下操作。UART 使用系统时钟可以支持最高 115.2Kbps 的波特率。每个 UART 通道对于接收器和发送器包括了 2 个 64 位的 FIFO。寄存器名称地址在linux中的描述 (2
2014-09-25 09:05:58 120
转载 Linux串口(serial、uart)驱动程序设计
原文地址,点击打开链接Linux串口(serial、uart)驱动程序设计 (2010-05-26 16:28)分类: 驱动设计一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心t
2014-09-25 09:03:15 128
转载 linux设备模型之uart驱动架构分析
一:前言接着前面的终端控制台分析,接下来分析serial的驱动.在linux中,serial也对应着终端,通常被称为串口终端.在shell上,我们看到的/dev/ttyS*就是串口终端所对应的设备节点.在分析具体的serial驱动之前.有必要先分析uart驱动架构.uart是Universal Asynchronous Receiver and Transmitter的缩写.翻译成中文即为
2014-09-25 08:54:46 145
转载 linux设备模型之uart驱动架构分析 .
linux设备模型之uart驱动架构分析分类: linux驱动 2012-02-18 23:07 1197人阅读 评论(0)收藏 举报linux数据结构asynchronous终端delaystruct原文地址:点击打开链接一:前言接着前面的终端控制台分析,接下来分析serial的驱动.在linux中,serial也对应着终端,通
2014-09-25 01:00:58 162
转载 linux2.6驱动编程第一例:hello,world的实现
linux2.6驱动编程第一例:hello,world的实现来源: ChinaUnix博客 日期: 2008.07.25 13:42 (共有条评论) 我要评论 《linux2.6驱动
2014-09-24 00:31:33 121
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人