自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

那些流淌过的...

本博客仅用于学习方面的交流及备忘,非诚勿扰.

  • 博客(47)
  • 收藏
  • 关注

转载 一个嵌入式牛人学习经历

<br /><br />这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能给刚入行的朋友们一点点帮助。<br />一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中间走了很多弯路,也吃了不少苦。我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为

2011-05-26 16:44:00 1821 4

原创 学习linux/unix编程方法的建议,学习Linux的四个步骤

解答:学习Linux的四个步骤<br />假设你是计算机科班出身,计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过<br /><br />我想大概可以分为4个阶段,水平从低到高<br />从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码<br /><br />其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数<br /><br />安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式<br /><br />系统编

2011-02-18 22:10:00 616

原创 我的大学四年——郭天祥

处大学的第八个学期,眼睁睁看着我大学四年最后的时光一点点逝去,再看看身边很多学生一天天的把时间就这样白白的荒费掉,我在内心里替他们惋惜,在即将结束我的大学本科生涯之际,在这里将我的大学四年生活与大家分享一下,也许能让有些同学为了实现自己的人生目标少走点弯路,大家要相信,大学,真的是很好的学习地方。 我2002年考入哈尔滨工程大学信通学院学电子信息工程专业,现在已经是我在本科阶段的最后一个学期了。在我刚入校的时候对电子类知识一点也不懂,因为以前我比较喜欢经商,第一志愿报了经管学院,结果没被录取,被调到信通学院

2011-02-16 13:14:00 3928 3

原创 Qt4.5.1触摸屏(tslib 1.4)+sqlite3 移植全记录

主机系统:Debian 5.0主机编译器:gcc/g++为4.1.3交叉编译器:arm-linux-gcc/g++3.4.5-glibc-2.3.6软件资源:qt-embedded-linux-opensource-src-4.5.1.tar.gz                qt-x11-opensource-src-4.5.1.tar.gz              

2011-06-13 09:51:00 744

原创 Qt4.5.1触摸屏(tslib 1.4)+sqlite3 移植全记录

主机系统:Debian 5.0主机编译器:gcc/g++为4.1.3交叉编译器:arm-linux-gcc/g++3.4.5-glibc-2.3.6软件资源:qt-embedded-linux-opensource-src-4.5.1.tar.gz                qt-x11-opensource-src-4.5.1.tar.gz              

2011-06-13 09:51:00 529

原创 Qt4.5.1触摸屏(tslib 1.4)+sqlite3 移植全记录

主机系统:Debian 5.0主机编译器:gcc/g++为4.1.3交叉编译器:arm-linux-gcc/g++3.4.5-glibc-2.3.6软件资源:qt-embedded-linux-opensource-src-4.5.1.tar.gz                qt-x11-opensource-src-4.5.1.tar.gz              

2011-06-13 09:51:00 817

原创 fcntl2.h错误

/usr/include/bits/fcntl2.h:51: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments网上查了一下,说是gcc-4.3对语法检查严格的结果,找到出错的那一句,在我编译的程序里是这句int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC);将之改为int fd = open(fn.c

2011-05-27 14:00:00 1715

原创 qtopia2.2.0编译成功,分享一下经验

<br />经过一段漫长而痛苦的过程(几次差点就要放弃)之后,今天qtopia2.2.0pc版本和ARM-LINUX版本都终于编译成功了,下面我和大家分享一下pc机版本的qtopia2.2.0编译过程中的遇到的错误及其解决办法,希望与大家一起进步。(arm-linux版本的编译参照飞凌提供的6410的qt移植视频中的五和六,先编译第三方库,按照视频上来就没有问题,编译完第三方库以后,剩下的就和pc版本的相差无几了)<br /><br />环境:ubuntu10.10   <br />编译器: gcc ver

2011-05-27 07:16:00 4523 2

原创 ubuntu下vim配置使用

<br />        vim比vi的功能强多了,也好用多了。一直就用vim。<br />                        <br />                   配置vim<br />注:只对各个用户在自己的当前目录下的.vimrc修改的话,修改内容只对本用户有效,要想全部有效,可以修改/etc/vim/vimrc.<br />1.apt-get install vim-full<br />2.设置/etc/vim/vimrc加上下面语句:<br />"语法高亮度显示<br /

2011-05-26 21:14:00 965

原创 Source insight中文注释间隔太大的解决办法

我想大家都知道默认情况下,往Source Insight里输入中文,字间距相当的大,这篇文章将帮助你解决这个问题。具体设置如下:1.Options->Style Properties2. 在左边Style Name下找到Comment Multi Line和Comment.在其右边对应的Font属性框下的Font Name中选“Pick...” 设置为宋体、常规、小四。确定,退回Style Properties界面,Size设为10。最后设置Clolors框下Foreground,点“Pick...”选择一

2011-05-26 16:28:00 1564

原创 struct inode 和 struct file

<br /><br />内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。Linux2.6.27内核中,inode结构体具体定义如下:<br />struct inode {<br />struct hlist_node    i_hash;<br />struct list_head    i_list;<br />struct list_head    i_sb_list;<br />struct list_head    i_dentry;<br />unsigned lon

2011-05-06 14:10:00 977

原创 file结构体和inode结构体

<br /><br />(1)struct file结构体定义在include/linux/fs.h中定义。文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的struct file。它由内核在打开文件时创建,并传递给在文件上进行操作的任何函数。在文件的所有实例都关闭后,内核释放这个数据结构。在内核创建和驱动源码中,struct file的指针通常被命名为file或filp。如下所示:<br />struct file {<br />        union {<br />    

2011-05-03 20:06:00 791

原创 结构体初始化的方法——关于struct file_operations

<br /> 最近项目小组在去除代码中的warning,在修正代码的过程中看到了对结构体不正确的初始化方式:<br />假设有一个如下的struct定义:<br />struct astruct<br />{<br />int a;<br />int b;<br />};<br />struct astruct test={0};<br />即使astruct中都是基础类型的成员这样的初始化话也是不正确的。<br />这种初始化仅仅是把a变量设置为了0,而未对b变量做初始化。<br />产生这样错误的原因,

2011-05-03 19:26:00 1181

原创 vi的使用

<br />06-8-16 :vi的文本替换 (1)替换从第n行到第m行的文本 :[n],[m]s/[需要替换的文本]/[替换文本]/g (2)替换整个文本种的需要替换的文本 :%s/[需要替换的文本]/[替换文本]/g (3)替换从当前光标开始处,到第n行的需要替换的文本 :.,[n]s/abcd/dbde/g 06-8-17 vi 中的查找命令 (1):/的用法 <1>从光标向后查找相应字符串[STR] :/[STR] <2>从光标向后查找句首含有[STR]的行 :/^[STR] <3>查找后光标的移动

2011-04-19 14:57:00 588

原创 Linux下Qt 安装及环境变量设置(Ubuntu 10.04)

去http://qt.nokia.com/downloads/downloads 下载Qt SDK for  Linux/X11 32-bit**(422MB)下载文件为qt-sdk-linux-x86-opensource-2010.05.1.bin下载完成后在下载目录中执行chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin接着执行安装./qt-sdk-linux-x86-opensource-2010.05.1.bin在home/usernam

2011-04-02 15:33:00 2805

原创 ubuntu10.10下嵌入式QT开发环境搭建手记

<br />【前言:由于我也是第一次搭建这个环境,整个所用时间不止一周,以及以前用java觉得还要配置环境变量,好麻烦,但那不过是几分钟的事,后来手动配置php,最快半天,一般我都要用一天的时间,个人比较笨;现在配置个嵌入式qt环境的时间不止一周的时间,真的是整个人都被整疯了,而且到此刻,我还不确定我的环境是否已经配置的完全正确,以下是一些环境搭建过程中碰到的问题,稍微整理了一下,建议在配环境的时候,多看几篇比较完整的环境搭建的文章,准备好前期工作(很多与编译有关的软件包提前装好),对比着做,然后出现错误了

2011-04-02 15:28:00 2440 1

原创 ubuntu在配置内核时执行 make menuconfig 有错误发生时的解决办法

<br /><br />起始<br />执行 make menuconfig 有错误发生<br />错误:<br />*** Unable to find the ncurses libraries or the<br />*** required header files.<br />*** 'make menuconfig' requires the ncurses libraries.<br />***<br />*** Install ncurses (ncurses-devel) and try

2011-03-29 18:10:00 1888 1

原创 ubuntu10.10 建立交叉编译工具4.3.2

<br />这个方法与 TQ2440 建立交叉编译4.3.3 的方法一样,都是使用制作好的交叉编译器<br /><br />1. 安装标准的C开发环境,由于Ubuntu 9.04 Linux安装默认是不安装的,所以需要先安装一下(如果已经安装好的话,就可以免去这一步了):<br />$ sudo apt-get install gcc g++ libgcc1 libg++ make gdb<br />如果上面这个安装不行,可以试试<br />$ sudo apt-get install build-esse

2011-03-29 17:55:00 1015

原创 一切都是对象

<br />1.Java提供了两个用于高精度计算的类:BigInteger和BigDecimal。前者支持任意精度的整数,后者支持任意精度的定点数,两者分别可执行作用于int和float的操作。<br /> <br />2.Java的成员变量会默认赋值,但是局部变量则必须被初始化。<br /> <br />3.<br />{<br />String s = new String("string");<br />}<br />出了这个大括号,s就出了作用域,但是new出来的对象还在。<br /> <br />

2011-03-23 18:28:00 392

原创 数组

1.声明数组时不能指定长度。2.数组的初始化分两种:静态初始化:数组定义和为数组分配空间、赋值同时执行。动态初始化:数组定义和为数组分配空间、赋值分开执行。3.每个数组都有一个length属性,记录数组的长度,a.length。

2011-03-14 20:43:00 434

原创 异常处理

1.Throwable 是所有异常的根基类,Error和Exception是Throwable两个直接的子类。Error是系统的错误,程序员处理不了也不用处理,我们只能处理Exception。2.Exception下又分为RuntimeException和其他Exception。RuntimeException是十分细小十分常见的异常,可以不catch它;而其他Exception则是必须被catch的。3.Java程序运行过程中出现异常事件,系统会生成一个异常类对象。该异常对象封装了异常事件

2011-03-14 11:28:00 406

原创 Java基础

1.重载:重载只能是形参个数不同或类型不同。若方法同名、返回类型不同,则不构成重载,而是犯了同名错误。 2.内存:代码在代码段里,全局变量或静态变量在数据段,局部变量在栈里,new出来的东西在堆里。return返回来的数据存放在栈里。字符串常量也是存放在数据段里。 3.static:在staic方法内访问非static属性,必须先new一个对象,通过对象来操作非static属性。 4.包:包是为了解决类名冲突的问

2011-03-12 20:37:00 647

原创 uboot tftp服务

遇到的困难与解决过程就不废话了。。。直接说正确步骤:* 准备:目标板下载好uboot , 打开DNW之类的通信工具,设置目标板,代码如下:u-boot>setenv ipaddr 192.168.1.100 #设定目标板ip u-boot>setenv serverip 192.168.1.106 #主机ip u-boot>setenv ethaddr 00:00:00:00:ff:01 #设定目标板mac地址,可以其它 u-boot>saveenv #保存环境变量 在主机上设置好ip地址,跟目标板上的主机

2011-03-06 17:31:00 1928

原创 ubuntu10.10配置nfs

  安装nfs:  #sudo apt-get install nfs-kernel-server  Ubuntu 10.10中的已经是最新版本了,无需安装  打开/etc/exports文件,在末尾加入:  /home/xgc *(rw,sync,no_root_squash)  注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义, 各字段含义如下:  /home/xgc:要共享的目录  * :允许所有的网段访问  rw :读写权限  sync:资料同步写入内在和硬盘  no_roo

2011-03-02 20:53:00 1002

原创 ubuntu10.10配置tftp

由于在调试Linxu时需要使用网络来进行下载内核,平时使用的是在Windows下采用tftp软件来完成此操作,但是当调试内核是需要经常的来修改内核来进行调试,所以要经常的从Linux下拷贝内核到Windows下,非常麻烦,于是想在Linux下配置tftp服务来进行直接下载。从从网上找了好久,找了一个比较好的文章并试了一下,结果满意。  1、首先要打开root权限的终端。  Ubuntu 的 10.XX以上,已经可以找到root的终端,如果没有,可以使用普通的终端使用sudo命令前缀。  2、下载并安装tft

2011-03-02 19:44:00 625

原创 ldr和adr的区别

ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。     ldr     r0, _start        adr     r0, _start        ldr     r0, =_start_start:        b  _start编译的时候设置 RO 为 0x30000000,下面是反汇编的结果:   0x00000000: e59f0004  ldr r0, [pc, #4] ; 0xc   0x

2011-02-27 09:34:00 651

原创 Source Insight

<br />Source Insight实质上是一个支持多种开发语言(java,c ,c <br />等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代?<br />朐亩凉ぞ呤褂谩?<br />作为一个开放源代码的操作系统,Linux<br />附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux<br />内核的组织极为复杂,同时,又不能像windows<br />平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行?<br

2011-02-26 14:16:00 5527 1

原创 Uboot里的位置无关码

<br />RM位置无关代码设计规范<br />/*******************************************/<br />参考:ARM的位置无关程序设计在bootloader中的应用.黄振华<br />/*******************************************/<br />位置无关代码(PIC)在嵌入式系统设计中具有很重要的作用,尤其是在裸机状态下bootloader程序以及进行内核初始化设计;利用PIC也可以构建高效的动态链接库。<br />概念<

2011-02-26 13:59:00 1722

原创 关于lowlevel_init函数的理解

我迷迷糊学看了lowlevel_init.S中的代码之后,有一个感觉就是,要想读懂其中的代码首先得看一下你所用的芯片手册,因为里面有比较详细的存储器控制(MemoryController)描述。我用的是s3c2440手册里写得十分清楚,总共有8个块(Banks)(Bank0~Bank7),每个块对应着不同的控制与地址线,其实这些Bank很大一部分是对应着的控制寄存器的地址,这个要看实际的芯片与板子,看了下面的理解估计会有个大概。 第二,就是要清楚你的板子上对的存储地址的分配,一般板子手册上都会有的。

2011-02-26 13:45:00 1288

原创 运行命令

<br />提示符 <br />regedit 注册表 <br />ping 网络信息 <br />explorer 资源管理器 <br />dxdiag DX系统检测 <br />wab 通讯簿 <br />calc 计算器 <br />charmap 字符映射表 <br />compmgmt msc 计算机管理 <br />devmgmt msc 设备管理器 <br />cleanmgr 磁盘清理程序 <br />dfrg msc 磁盘碎片整理程序 <br />diskmgmt msc 磁盘管理 <br

2011-02-26 12:55:00 743

原创 undefined reference to ‘raise’

<br />将cpu /arm920t/config.mk 改为<br />PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 /<br />    -msoft-float<br /><br />PLATFORM_CPPFLAGS += <br /># =========================================================================<br />#<br />#

2011-02-25 18:54:00 4496 3

原创 设置内核参数

<br />设置内核的启动参数 <br /><br />应该说,在将内核映像和根文件系统映像拷贝到 RAM 空间中后,就可以准备启动 Linux <br />内核了。但是在调用内核之前,应该作一步准备工作,即:设置 Linux 内核的启动参数。<br /><br /><br />Linux 2.4.x 以后的内核都期望以标记列表(tagged list)的形式来传递启动参数。启动参<br />数标记列表以标记 ATAG_CORE 开始,以标记 ATAG_NONE 结束。每个标记由标识被传递参<br />数的

2011-02-25 13:49:00 1140 1

原创 嵌入式前景

嵌入式工程师你的路在何方<br />如果你想问我想说什么,那我只能告诉你我无言以对。相信看完这篇文章你会领会到我说的内容。<br /><br /><br />首先举个例子,说某个城市的菜市场的白菜商贩A哥们与菠菜商贩B哥们相邻在一起做生意,某一年,白菜价格比较高,A哥们由于做白菜生意,所以生意红火,赚足了钱。于是,市场上的其他商贩纷纷转向白菜生意,卖鱼,卖油的。。。。。。都转学白菜理论(很象我们学技术的工程师在学市场热门的技术一样),所以,市场上卖白菜的人越来越多,白菜的叫卖声此起彼伏,但是B哥们并没有放弃

2011-02-25 10:16:00 1376

原创 如何运行APUE中的代码?

APUE中的代码不是download下来就可以直接编译执行的。由于头文件的问题,需要做相关的设置,修改一下相关的文件。首先从http://www.apuebook.com/src.tar.gz下载源码压缩包,解压到相应目录,例如:mkdir /home/Rockics/srccd /home/Rockics/src/wget http://www.apuebook.com/src.tar.gztar zxvf src.tar.gz解压以后得到文件夹apue.2e。按照以下步骤完成设置,则可以编译相关代码:1

2011-02-23 13:21:00 496

原创 可以参加的比赛

教育部主办比赛全国大学生电子设计大赛“飞思卡尔”杯 全国大学生智能汽车竞赛ACM/ICPC 国际大学生程序设计竞赛非教育部主办比赛ADI中国大学创新设计竞赛http://www.adicenter.com.cn/报名时间 3 – 4 月份ADI公司(Analog Devices, Inc.,纽约证券交易所代码: ADI )设立的中国大学创新设计竞赛(University Design Competition, 简称UDC)是面向在校大学生的科技型竞赛活动,旨在培养学生的创新能力

2011-02-20 19:30:00 1223

原创 C/C++从入门到高手所有必备PDF书籍收藏,喜欢的朋友支持下吧~

<br />《C和指针》- PDF高清版<br />下载地址:http://www.fishc.com/a/book/C/821.html<br /><br />《C程序设计语言》- 完美中文版PDF<br />下载地址:http://www.fishc.com/a/book/C/632.html<br /><br />《The C Programming Language》- 英文原版<br />下载地址:http://www.fishc.com/a/book/C/115.html<br /><br />

2011-02-20 17:16:00 586

原创 2011年第七届“博创杯”全国大学生嵌入式设计大赛大赛命题

<br />本赛事采用开放式命题的形式,让各参赛队伍能有更自由的发挥空间。<br />   设计内容可涵盖:物联网应用(城市交通,医疗,港口物流,环境监测,多网融合等)、消费类电子、数字电视、GPS导航、智能手机、数字家电、多媒体、视频编码解码、图像处理、安防监控、无线通讯、信息识别、工业应用、医疗卫生领域的硬件设计,应用软件,系统软件等。<br /> <br />参考命题如下:<br />题目:基于物联网的能耗监测系统<br />思路:该系统要具备耗电量、耗水量、耗气量(天然气量或者煤气量)、集中供热耗热

2011-02-20 17:14:00 1821

原创 我的大学六年——郭天祥

写这篇文章的时候,我正处于硕士研究生毕业论文的准备阶段,眼睁睁看着我的大学生活即将画上句号,再看看身边有很多低年级的学生们一天天把时间白白荒费掉,我在心里替他们惋惜,在即将结束我的大学生活之际,我将我的大学几年的有意义的生活与大家分享,看过这篇文章后也许能让那些有梦想的同学为了实现自己的人生目标少走些弯路,大家要相信,大学校园——将为你提供一生最好的学习环境。 我高中毕业于新疆伊宁市三中,2002年考入哈尔滨工程大学信息与通信工程学院电子信息工程专业,2006年以创新人才

2011-02-20 13:42:00 2224

原创 关于时钟体系和各类时钟部件

写在前面:觉得这章比较简单,没有花较大篇幅来讲,很多寄存器的相关用法可以参照S3C2440的官方手册,很容易看懂<br />1系统时钟<br />(1) FCLK:用于CPU核<br />HCLK:用于AHB总线上设备:CPU核、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块<br />PCLK:用于APB总线上设备:WATCHDOG、IIS、I2C、PWM定时器、MMC接口、ADC、UART、GPIO、RTC和SPI<br />(2 )开发板时钟频率为12 MHZ,通过PLL提高系统时钟:

2011-02-19 13:33:00 1253

原创 Ubuntu10.10如何配置samba

<br />一. Samba的安装:<br /># sudo apt-get insall samba <br /># sudo apt-get install smbfs<br /> <br />二.Samba的配置:<br />1.vi /etc/samba/smb.conf<br />2.在share definitions中的最顶部添加:<br />[root]<br />        comment = Root Directories<br />        browseable = yes

2011-02-16 10:42:00 794

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除