- 博客(41)
- 资源 (8)
- 收藏
- 关注
原创 移植tslib,测试电容屏
1、下载tslib-1.4.tar.gz http://download.csdn.net/source/3177449。 2、解压安装tslib # tar -zxvf tslib-1.4.tar.gz # cd tslib # ./autogen.sh echo
2014-03-15 16:38:03 3137
转载 ARM Uboot经历——makefile与uboot目录
makefile是个很复杂的东西,但是只要有耐心层层剥下,也能看到你想看到的东西。很遗憾的事,很多人都没有耐心去层层看,我也是。对于makefile,我也仅仅从基础上了解了它在uboot中的原理和作用,其实你不一定要完全了解,但是你又不能完全不了解,这就是这个世界的矛盾。makefile 第一步最开始当然要看顶层目录下的makefile文件,当你执行make命令是就是默认这
2014-03-05 14:15:17 791
转载 ARM Uboot经历——Uboot初始化代码解析
Uboot初始化代码主要是在Uboot重定位之前的一系列处理,起源于start.s文件,涉及crt0.s和board.c等文件,会完成最系统环境最初始的设置和结构体赋值。reset的相关处理从_start跳转到reset[cpp] view plaincopy.globl _start _start: b
2014-03-05 14:02:59 1067
原创 关于GCC属性中的弱符号(weak symbol)
关于弱符号的解释:若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的引用,但当普通的全局符号不可用时,链接器会使用弱符号。当有函数或变量名可能被用户覆盖时,该函数或变量名可以声明为一个弱符号。当weak和alias属性连用时,还可以声明弱别名。
2014-03-05 12:06:49 3946
转载 Linux进程控制——exec函数族
1、简介在Linux中,并不存在exec()函数,exec指的是一组函数,一共有6个,分别是:#include extern char **environ;int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg
2014-03-04 17:15:04 778
转载 Linux中fork函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新
2014-03-04 12:06:23 796
转载 Linux wait和waitpid和kill
1. Linux wait1) 功能:等待子进程中断或结束2) 头文件 #include #include3) 函数定义: pid_t wait (int * status);4) 函数说明 wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用 wait()时子进程已经结束,则 wait()会立即返回子进程结束状态值
2014-03-04 12:03:12 1141
转载 ELF格式文件符号表全解析及readelf命令使用方法
1. 读取ELF文件头:$ readelf -h signELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data:
2014-02-28 12:04:21 1362
原创 成功在开发板运行vsftpd
按照我转载的大牛的文章操作后,我的配置文件如下#允许匿名访问anonymous_enable=YES#允许本地访问local_enable=YES#设定可以进行写操作write_enable=YES#设定上传后文件的权限掩码local_umask=077#允许匿名用户上传anon_upload_enable=YES#允许匿名创建目录anon_mkdir_write_e
2014-02-26 15:47:25 883
转载 移植vsftpd FTP服务器到ARM-Linux系统
移植vsftpd FTP服务器到ARM-Linux系统一、下载并解压 vsftpd 官方网站:http://vsftpd.beasts.org/ 使用当前的最新版本:vsftpd-2.0.6。[tekkamanninja@Tekkaman-Ninja tarball_for_ftp]$ tar xjvf vsftpd-2.0.6.tar.bz2
2014-02-26 15:19:32 1170
转载 配置Vsftpd
环境:CentOS 5.0 操作系统一.安装:1.安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum install vsftpd*Dependencies Resolved=============================================================================Package
2014-02-26 14:11:07 703
原创 uboot源码中start.S里中断向量表中不直接LDR PC ,"异常地址",而是使用一个标号
LDR指令只能是跳到当前PC 4kB范围内,而B指令能跳转到32MB范围,而现在这样在 LDR PC ,"xxxx"这条指令不远处用"xxxx" DCD 定义一个字,而这个字里面存放最终异常服务程序 的地址,这样可以实现4GB全范围跳转。
2014-02-26 02:01:10 1574
转载 ldr和adr在使用标号表达式作为操作数的区别
ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _start adr r0, _start ldr r0, =_start_start: b _start 编译的时候设
2014-02-26 01:58:05 736
转载 ltib常用命令详解
首先一个比较有用的命令参数就是help,一个人忘记命令参数很常见,何况刚开始熟悉这个工具。下面这个命令行可以查看ltib命令的使用帮助:$ ./ltib --help ## 这个等同于 ./ltib -h在编译内核和文件系统时,有时忘了我们选了哪些程序包来进行编译操作,我们可以用下面的命令来查看当前安装模式下所有可用的程序包,是否被选择编译
2014-02-24 01:03:03 994 1
转载 ltib常见问题
Q1: How do I know which packages are available/will be installed?Before configuring ltib, you can run bin/listpkgs on an ltib config file, for instance, for the mpc8548cds, you could run:bin/lis
2014-02-24 00:59:15 1639
转载 ltib 学习2
上周朋友来电话问ARM接SATA硬盘的问题,如果CPU不带SATA口,或带的SATA口不够用,通常可以用PCI转SATA的芯片扩展SATA口。ATP8624就是这样的芯片,可以将1路PCI转为4路SATA。ATP8624的驱动源码就2个文件:atp8624.h和atp8624.c。原先顺利的加到cortina的NAS板的kernel source里面了。现在换成了MPC平台,MPC8379E是
2014-02-24 00:56:49 929
转载 ltib 学习
换平台,换平台,痛苦的换平台。chroot刚刚理解了。又来了ltib。开源世界的大侠们为了弄出个优秀的嵌入式Linux IDE,煞费苦心啊。what is ltib?The LTIB (Linux Target Image Builder) project is a simple tool that can be used to develop and deploy BSPs (Boa
2014-02-24 00:55:36 791
转载 让Linux内核不再卡死在DHCP请求上
作者:blacksword修订:XYZ@05072012(见红色部分)在做嵌入式产品时,大家通常都会遇到在bootloader里给linux传递ip地址的。在设置这个ip参数时,大部分人都是看着厂商或是其他人的设置依葫芦画瓢写上一个。但很少有人真正知道这个参数里面的每一项是怎么回事。然后当启动时内核走到:eth0: attached PHY driver [
2014-02-23 22:07:22 4179 4
转载 ltib学习笔记
From:http://hi.baidu.com/wangzhongli/blog/item/45a6aeefef7ea718fdfa3cb7.html写得很好,基本都有了.By the way:1. 下载:$ cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/ltib co -P
2014-02-23 19:51:33 1130
原创 飞思卡尔imx6q交叉编译工具有关问题
首先按照手册上的方式安装ltib. 统一编译:§ 键入命令./ltib -m config§ 在出现的选择画面中第一行board config为imx6q,相应的U-BOOT选择mx6q_sabrelite kernel选择3.0.35 后选择退出,保存设置,§ 然后输入命令 ./ltib即可○ 单独编译:§ 提取相应的u-boot包 ./ltib -m prep
2014-02-23 19:36:03 3049
原创 ubuntu 12.04中搭建nfs服务器
ubuntu12.04中的NFS已经是最新版本了,无需安装,(特殊情况没有的话,请输入#sudo apt-get install nfs-kernel-server安装)打开/etc/exports文件,在末尾加入:/home/shajia *(rw,sync,no_root_squash)注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义
2014-02-23 01:20:19 763
原创 ubuntu 12.04中搭建tftp服务器
安装tftp-hpa tftpd-hpa xinetdsudo apt-get install tftp-hpa tftpd-hpa xinetd在根目录下创建文件夹/tftpboot/root修改目录权限chmod -R 777 /tftpboot/root修改inetd.conf文件# gedit /etc/inetd.conf tftp dgram
2014-02-23 01:07:01 669
原创 Linux根文件系统和文件系统
根,可以理解为基础的意思。根文件系统是一种最基础的文件系统,我们知道在 Windows 系统下,磁盘被划分为 C、D、E 等各个盘,如下图所示:同样,Linux 系统也可以将磁盘或 Flash 等存储设备划分为若干个分区,在不同的分区存放不同类型的文件,比如 Nand Flash 中:在某个分区存放 uboot 的可执行文件;在某个分区存放内核映像文件,在另一分区存放根文件系统映像文
2014-02-20 10:46:03 795
原创 A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Ecl
在ubuntu中安装了 eclipse中,打开运行的时候却提示:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the followin
2014-02-20 00:57:14 1349
原创 Arm-linux-gcc-4.3.2安装详解
Arm-linux-gcc-4.3.2安装详解1、首先成功下载arm-linux-gcc-4.3.2.tgz2、解压此文件包tar -zxvf arm-linux-gcc-4.3.2.tgz –C /(注意C是大写的)3、根据根据解压的过程可以看出arm-linux-gcc-4.3.2.tgz被解压在 /usr/local/arm/4.3.2目录下4、此时在终端
2014-02-19 01:26:25 862
原创 Linux下tar命令总结
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文
2014-02-19 01:06:44 601
原创 ubuntu 12.04添加samba服务,实现windows和ubuntu共享文件
嵌入式开发中,经常需要在虚拟机中的ubuntu和windows相互共享文件,那么samba就是必须要配置的服务了。在终端输入下图所示的命令,按照提示安装。在终端输入下图所示的命令,按照提示安装。创建共享目录:安装图形化配置工具:sudo apt-get install system-config-samba。并且启动他。配置共享文件夹路径和名字:添加用
2014-02-19 01:00:05 728
原创 ubuntu 12.04 ssh 远程登录配置
做嵌入式开发的,当然要习惯命令行界面的操作。在虚拟机中安装了ubuntu之后,通常不会在虚拟机中直接操作终端,而是通过运行ssh协议的软件(我运行的是xshell),登陆到ubuntu系统中,这样可以节省开支。刚安装过ubuntu之后,在终端中输入下图所示的命令后。 如果只有ssh-agent,那么需要安装ssh-server。在终端输入;sudo apt-get inst
2014-02-18 23:37:38 911
原创 arm-linux-gcc交叉编译器的下载地址
学习嵌入式开发有一段时间了,以前用到的编译器都是买开发板时自带的,或者是被人在论坛和网盘中分享的,现在由于工作需要,要重新搭建开发环境,却突然发现自己竟然不知道交叉编译器的官方网址是多少!!!现已找到,在此做个记录:ftp://ftp.gnu.org/gnu/gcc。
2014-02-18 22:45:45 1536
原创 头文件中的保护措施
考 虑一下,如果头文件中只包含声明语句的话,它被同一个.cpp文件包含再多次都没问题——因为声明语句的出现是不受限制的。然而,上面讨论到的头文件中的 三个例外也是头文件很常用的一个用处。那么,一旦一个头文件中出现了上面三个例外中的任何一个,它再被一个.cpp包含多次的话,问题就大了。因为这三个 例外中的语法元素虽然“可以定义在多个源文件中”,但是“在一个源文件中只能出现一次”。设想一下,如果a.h
2011-10-24 15:08:29 615
原创 头文件中应该写什么
通 过上面的讨论,我们可以了解到,头文件的作用就是被其他的.cpp包含进去的。它们本身并不参与编译,但实际上,它们的内容却在多个.cpp文件中得到了 编译。通过“定义只能有一次”的规则,我们很容易可以得出,头文件中应该只放变量和函数的声明,而不能放它们的定义。因为一个头文件的内容实际上是会被引 入到多个不同的.cpp文件中的,并且它们都会被编译。放声明当然没事,如果放了定义,那么也就相当于在多个文
2011-10-24 14:56:35 1547
原创 #include
#include 是一个来自C语言的宏命令,它在编译器进行编译之前,即在预编译的时候就会起作用。#include的作用是把它后面所写的那个文件的内容,完完整整地、 一字不改地包含到当前的文件中来。值得一提的是,它本身是没有其它任何作用与副功能的,它的作用就是把每一个它出现的地方,替换成它后面所写的那个文件的 内容。简单的文本替换,别无其他。因此,main.cpp文件中的第一句(#include "
2011-10-24 14:53:55 495
原创 头文件
考虑一下,如果有一个很常用的函数“void f() {}”,在整个程序中的许多.cpp文件中都会被调用,那么,我们就只需要在一个文件中定义这个函数,而在其他的文件中声明这个函数就可以了。一个函数还 好对付,声明起来也就一句话。但是,如果函数多了,比如是一大堆的数学函数,有好几百个,那怎么办?能保证每个程序员都可以完完全全地把所有函数的形式都 准确地记下来并写出来吗?显然是不可能的啦!!!有
2011-10-24 14:52:13 503
原创 c++编译模式
通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,在编 译(
2011-10-24 14:46:14 456
原创 诚邀C语言初级学者加入
本人自己创建了一个C语言交流群,期待初级学着的加入!!!高手不嫌弃的话,当然可以加入啦!我的水平也很一般,大家不要见怪哦!!!群号码:125170458!!!一个人学习编程语言是很枯燥,难度也较大的,大家一起学习,一起交流,一起分享,进步是明显的!!!
2011-10-23 17:46:53 609
原创 无敌编辑器
UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。下载地址:http://w
2011-10-23 17:41:38 543
原创 给学习C,JAVA,数据结构,数据库的一个惊喜
郝斌老师的C,JAVA,数据结构,数据库的视频教程,讲得真的是很好很好,针针见血,看他的视频绝对不会错的!!!嘿嘿……电驴上面有的哦!!!一起向郝斌老师致敬!!!
2011-10-22 11:00:20 498
转载 ubuntu 中Java配置方法
首先从SUN网站下载JDK然后在shell中执行:代码:sudo chmod +x jdk-6u17-linux-i586.bin修 改bin文件权限,使其可执行。然后执行代码:jdk-6u17-linux-i586.bin将 会出现字幕,持续按回车键,直到屏幕出现需要输入yes/no,此时输入yes/y 回车,将会把JDK解压到文件夹,得到jdk1.6.0_17.
2011-10-22 10:49:33 365
转载 动态分配内存与静态内存分配如何选择
首先,在使用动态分配内存技术前,必须明白自己在做什么,这样做与其它的方法有什么不同,特别是会产生哪些负面影响,天下没有免费的午餐。动态分配内存与静态分配内存的区别:1) 静态内存分配是在编译时完成的,不需要占用CPU资源;动态分配内存是在运行时完成的,动态内存的分配与释放需要占用CPU资源; 2) 静态内存分配是在栈上分配的,动态内存是堆上分配的; 3) 动态内存分配需要指针或引用数据
2011-10-21 14:36:16 511
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人