- 博客(68)
- 资源 (3)
- 收藏
- 关注
转载 putty 和gtk
Linux下安装Putty其实是非常简单的,只是自己太菜了,还是花了相当长时间才解决这个问题。一开始按照baidu到的文章, ./configure和make就是链接不出putty执行文件。后来仔细看了一下安装过程,那个教程是用于0.59版本的,我下载的是0.60。关键是,我没有装gtk。所以,下面的方法是正确的:在添加删除软件中选择添加list下的gtk+-xxx和gtk
2013-08-12 11:20:00
1136
原创 开发板启动和烧写全过程总结-- hegz
开发板启动和烧写全过程总结-- hegz1.借助DNW 工具,通过usb 将 uboot 到SDROM 里面 A.将开发板拨码开关 拨到从usb启动 B.连接好usb线,(第一次连接要装usb驱动) 启动DNW工具 ,在DNW里面设置uboot加载到的目标地址(这个地址是uboot 在SDROM里面的.text_base 段,如我的s5pc100的是 0X27e0 0000); 然后下
2013-07-25 01:21:40
2463
原创 -ERESTARTSYS 的意思
关于ERESTARTSYS到底是什么意思 关于 ERESTARTSYS 到底是什么意思 经常我们在睡眠的代码中 会看到这样的例子: if (signal_pending(current)) { ret = -ERESTARTSYS; return ret; } 关于 ERESTARTSYS 到底是什么意思? 通过下面的论坛可
2013-07-12 07:57:52
2350
原创 ARM PL330 DMA控制器开发
一、DMA介绍DMA作为一种CPU与外设传输数据的技术,现在广泛用于各种计算机架构中,它最大的优点就是无需CPU干涉下,完成数据从内存到外设的传递。本文讲解一下S5PC100中的DMA控制器的操作方法。文中例举的代码都是在FS_S5PC100平台上经过验证的。在华清远见的FS_S5PC100平台上通过PL330 DMA控制器实现了内存到内存、内存到串口、串口到串口等多种DMA传输方式。
2013-07-12 07:57:26
1813
原创 container_of 作用
指针ptr指向结构体type中的成员member;通过指针ptr,返回结构体type的起始地址 type |----------| | | | | |----------|ptr-->| member --| |----------| |
2013-07-12 07:56:39
718
原创 copy_to_user 与 copy_from_use
copy_to_user内核空间与用户空间数据传递的通道是copy_to_user和copy_from_user,刚开始使用时对他们的返回值非常困惑。按照”常理”,返回值应该是copy成功了多少个Bytes。但是在kernel里面,他们的语义是相反的。今天费神找到源码,通过注释可以看到他们的含义:1.语义是:如果成功返回0;如果失败,返回有多少个Bytes未完成copy。2.这
2013-07-12 07:55:15
786
原创 ioctl 中定义的 _IO
对于系统支持设备的ioctl号,你可以在/usr/include下面的头文件中找到,对于你自己的设备,如果需要使用ioctl接口,则需要定义自己 的ioctl号。以前的2.4中有个问题是,大家都随便定义自己的ioctl号,造成很大可能性的重复性。一个坏处是难以管理,另外一个是容易造成错误, 例如如果用户本来希望打开一个串口设备,结果通过open打开了网口,如果串口的某个ioctl号正好是网口的关闭
2013-07-12 07:54:14
874
原创 memcpy
memcpy目录函数原型功能所需头文件返回值说明程序例example1example2example3展开编辑本段函数原型void *memcpy(void *dest, const void *src, size_t n);编辑本段功能从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中编辑本段
2013-07-12 07:52:48
851
转载 分享自cole3 《u-boot向linux内核传递启动参数》
(被一个u-boot搞了3、4天,才明白是个宏定义没加,) U-BOOT 在启动内核时,会向内核传递一些参数.而这些参数是通过 struct tag来传递的。U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel;Linux kernel 通过这个地址分析出u-boot传递的参数
2013-07-12 07:50:00
615
转载 分享自清客 《基于MTD的NAND驱动开发(完) (转)》
url:http://blog.youkuaiyun.com/mianyy/article/details/6712631六、NAND驱动中的坏块管理 由 于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用的过程中也很
2013-07-12 07:49:23
542
原创 写nandflash 注意到的几个头文件 和目录
1.驱动的目录 driver/mtd/nand/*.c 下面所有的.c 文件是与nandflash 驱动编写相关的 最重要的有两个: 一. 系统默认的 驱动主体函数 nand_base.c 二.你自己针对需要自己写的驱动主体函数 如:s3c_nand.c 如果在自己写的 s3c_nand.c 中没有指定某些配置,
2013-07-12 07:47:59
703
原创 字符设备驱动中常见的几个 目录
1. cat /pro/devices 是你程序中 注册的设备名称 和该设备号 2. cd /dev/ 下面是 你创建的设备节点 该名字对应用户程序中 open 打开的设备 3. cd /sys/moudle 下面是你 insmod 进内核的 .ko 文件 4. mknod hello c 250 0创建设备节点,是给 /dev 目录下添加 hello
2013-07-12 07:47:14
665
原创 头文件分析。。。待续
1.#include 在内核源码 /home/linux/linux-2.6.35-farsight/arch/arm/mach-s5pc100/include/mach 目录下面,每一个不通的 开发板,都有这样的一个mach/regs-gpio.h 头文件,在编译的时候他是怎么自动匹配的呢。。
2013-07-12 07:46:42
373
原创 如何让U-boot实现Nand/Nor 双启动
作者:曹忠明,华清远见嵌入式学院讲师。在做u-boot移植的时候,多数人使用的是Nand flash启动或Nar Flash启动。这样u-boot就只能在Nand flash或Nor flash。那么我们如何让我们的u-boot在Nand flash或Nor flash都能使用。首先,我们说说u-boot,u-boot是系统启动的时候执行的一段程序,这段程序一般存放在Nand flash中
2013-07-12 07:45:42
442
原创 驱动中 open()函数里面的两个结构体参数
struct inode 和 struct file 1、struct inode──字符设备驱动相关的重要结构介绍内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。Linux2.6.27内核中,inode结构体具体定义如下:struct inode {struct hlist_node i_hash;struct list_head
2013-07-12 07:44:32
1785
原创 模块编译成功插入时候 打印 -1 invalid module format
3.执行命令insmod ./hello.ko插入模块,失败,错误信息是insmod: error inserting './hello.ko': -1 Invalid module format。4.执行命令cat /var/log/message | tail,打印信息version magic '2.6.25.14 mod_unload 686' should be '2.6.25-14
2013-07-12 07:42:24
746
原创 互斥锁
pthread_mutex_trylock目录头文件函数体展开头文件函数体展开非阻塞的锁定互斥锁pthread_mutex_trylock头文件#include 函数体int pthread_mutex_trylock( pthread_mutex_t *mutex );返回值函数成功返回0。任何其他返回值
2013-07-12 07:41:42
433
原创 schedule()
2007-03-08 15:26schedule() -- 调度进程 The goal of the schedule( ) function consists of replacing the currently executing process with another one. Thus, the key outcome of the function is to set
2013-07-12 07:40:37
525
原创 readl 与 writel
writel() 往内存映射的 I/O 空间上写数据,wirtel() I/O 上写入 32 位数据 (4字节)。 原型:引用#include void writel (unsigned char data , unsigned short addr )readl() 从内存映射的 I/O 空间读取数据,readl 从 I/O 读取 32 位数据 (
2013-07-12 07:39:10
1536
原创 tftp 中遇到的问题
sudo service tftp-hpa restart 这句是开启服务不然即使你sudo /etc/init.d/tftpd-hpa restart 也没用的
2013-07-12 07:37:42
754
转载 SQlite3
分类: SQLite/嵌入式数据库原文地址:数据库--sqlite的操作 作者:草根老师一、数据库基本概念A.数据(Data)能够输入计算机并能被计算机程序识别和处理的信息集合。B.数据库(Database)数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。注意:数据库管理系统(DataBase Mang
2013-07-12 01:19:38
654
原创 比较杂的
1.sqlite3>select * from peopleNAME IDAGE ADDRAA 11 wuhangNAME IDAGE ADDRbb 22 shanghaisqlite3>insert into people values('cc',3,3,'beijin'); //就是要注意此处的引号sqlite3>select *
2013-07-12 01:09:44
549
原创 脚本常见知识
who | grep "^-"|wc -l 其中 who 是用来查看登录用户 grep 是用来指定查看某个 或 省缺的文件 wc -l 是当前文件有多少行
2013-07-12 01:06:42
432
转载 tail n
1、tail -n 38 results.txt :显示文件results.txt的后38行2、sed '/X-S/d' :将这后38行中含有"X-S"的行删除3、sed处理后的行由gawk再处理:对输入的每一行执行(每行作为一条记录处理一次,记录号从1开始): {if(NR==1&&length==115)printf" %.1f %.1f %.2f %f %E %E
2013-07-12 01:06:11
963
原创 #! /bin/sh
#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径。如果脚本中没有声明,则脚本将在用户默认的shell中执行。用户默认的shell环境是在/etc/passwd中定义:比如passwd文件第一行中 root:x:0:0:root:/root:/bin/bash,最后的/bin/bash说明root用户的默认shell是/bin
2013-07-12 01:05:33
738
原创 fgets()/fputs() fgetc()/fputc() fwrite()/fread() 等待杂类
目标:fgets()/fputs() fgetc()/fputc() 1.测试流的空间 a.标准IO库 FILE 指针结构在 /usr/include 中定义 b. 找到最下面两个变量 char * _IO_buf_base /*start of reserve area */
2013-07-12 01:04:48
726
原创 待命名
1.vfork 创建的进程 最后退出时 不能用 return 0 。要用exit 0;不然会一直在vfork 下面循环 1.incompatible(不相兼容的) implicit(蕴含,暗示) declaration(声明) of built-in function ‘_exit’ 头文件 未包含2. missing binary operator(符号) befor
2013-07-12 01:01:44
458
转载 大端 与 小端
一、字节序定义//是按照字节存取 如: motorola大端0x1234 通过大端的网络(此时不用转换,小段要转成大端)传给intel小端 就变成 0x3412 字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该
2013-07-12 01:00:17
596
转载 多线程_条件变量
多线程--条件变量条件变量函数 操作相关函数说明初始化条件变量pthread_cond_init 语法基于条件变量阻塞pthread_cond_wait 语法解除阻塞特定线程pthread_cond_signal 语法在指定
2013-07-12 00:59:41
502
原创 解决网络图标消失的方法
某天Ubuntu右上角的网络连接图标突然消失不见了,右击panel -> add to panel -> Notification Area 也不管用,最关键的是上不了网了。可以在Network Connection里add 一个connection,但是无论如何就是无法连上网络。 解决办法 sudo service network-manager stopsudo rm
2013-07-12 00:58:28
1152
原创 pthread_mutex_trylock
pthread_mutex_trylock目录头文件函数体展开头文件函数体展开非阻塞的锁定互斥锁pthread_mutex_trylock头文件#include 函数体int pthread_mutex_trylock( pthread_mutex_t *mutex );返回值函数成功返回0。任何其他返回值
2013-07-12 00:57:28
12396
转载 Bzero 和memset
bzero 原型:extern void bzero(void *s, int n); 用法:#include 功能:置字节字符串s的前n个字节为零且包括‘\0’。 说明:bzero无返回值,并且使用strings.h头文件,strings.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在P
2013-07-12 00:55:07
1003
转载 Ubuntu 10.10系统更新+编译环境+中文输入法设置
前一阵安装体验了一下Ubuntu 10,不太会用,尤其是中文输入法折腾好一阵,找到下面这篇文章,转过来存档。以后有更多体会了再来更新。由于10.10现在好像还没有太好用的源,所以直接采取寻最优源的方法。我发现好多人是不知道怎么寻最优源的,其实很简单,只需以下几步。1) 找到System->Administration->Update Manager,然后点击Settings
2013-07-12 00:50:09
720
转载 INADDR_ANY
INADDR_ANY求助编辑百科名片INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。一般来说,在各个系统中均定义成为0值。例如MontiVista Linux中在/usr/include/netinet/in.h定义为:/* Address
2013-07-12 00:48:42
534
原创 12.5 beep 以及 系统中的延时函数
应用层:1.系统中的延时函数 头文件 #include sleep(2) 功能:延时2 妙 usleep() 功能:延时微妙2.#include _POSIC_C_SOURCE 199309 #include int nanosleep(const struct timespec *req , s
2013-07-12 00:46:14
960
原创 u-boot 中的汇编指令asr adrl ldr
adr,adrl和ldr指令的用法比较(2011-01-02 13:54:50)转载▼标签:it ADR: 这是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中。 使用的格式:ADR register,exper。 在编译源程序时,汇编器首先计算出当前PC到exp
2013-07-12 00:45:11
2057
原创 u—boot 启动 学习
1.在/u-boot-samsung/board/samsung 以smdkc100 为参考移植 为 s5pc100 的参考版 移植 fas100 第一个文件夹:fsc100.c cp -a smdkc100 fsc100 cd fsc100 mv smdkc100.c fsc100.c 修改 该目录下的Makefi
2013-07-12 00:40:59
584
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人