自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沧海猎人的学习之路

打通软件工程任督二脉

  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 【图解】Linux下C程序进程地址空间布局

作者:沧海猎人   出处:http://blog.csdn.net/embedded_hunter  转载请注明出处   嵌入式技术交流QQ群:179012822我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间

2011-10-22 23:37:41 30952 52

原创 “手把手教你学linux驱动开发”OK6410系列之03---LED字符设备驱动

上一篇文章我们介绍了字符设备驱动程序的框架,本篇文章我们将操作真实的硬件---LED。       作者:沧海猎人   出处:http://blog.csdn.net/embedded_hunter  转载请注明出处   嵌入式技术交流QQ群:179012822  一

2011-10-14 16:06:04 12372 18

原创 “手把手教你学linux驱动开发”OK6410系列之02---虚拟字符设备

上一篇文章我们介绍了如何在linux下编写一个模块,并加载到内核空间。通过实验我们了解了大体的流程以及模块的工作原理。本篇文章我们将介绍如何编写一个虚拟的字符设备驱动程序。       之所以称之为虚拟字符设备驱动程序,主要原因是该驱动程序并没有真正操作外部设备,只是一个字符

2011-10-14 14:23:19 6609 1

原创 “手把手教你学linux驱动开发”OK6410系列之01---模块编程

一、实验环境 开发机环境          操作系统:ubuntu 9.10          交叉编译环境:arm-linux-gcc 4.2.2 ,安装位置 /usr/local/arm/4.3.2/          6410板子内核源码路径:/work/l

2011-10-11 22:17:36 8046 13

原创 为什么对目录不能使用硬链接

如果引入了对目录的硬连接就有可能在目录中引入循环,那么在目录遍历的时候系统就会陷入无限循环当中。也许您会说,符号连接不也可以引入循环吗,那么为什么不限制目录的符号连接呢?原因就在于在linux系统中,每个文件(目录也是文件)都对应着一个inode结构,其中inode数据结构中包含了文件类型(目录,普通文件,符号连接文件等等)的信息,也就是说操作系统在遍历目录时可以判断出符号连接,既然可以判断出符号

2012-08-17 22:45:12 3717

原创 NDK旧版本下载地址

可以手动指定链接地址例如:http://dl.google.com/android/ndk/android-ndk-r7c-linux-x86.tar.bz2http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2

2012-07-23 13:34:38 3317 2

原创 Linux下查找包含字符串的文件命令

# find -type f -name "*.c" | xargs grep ""是你要找的文件夹;如果是当前文件夹可以省略-type f 说明,只找文件-name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件是你要找的某个字符串

2012-07-23 12:54:58 1909

原创 如果dev下没有自动创建设备节点

可以 cat /sys/class/*****/****/dev 查看主次设备号 启动脚本中有 echo  /sbin/mdev > /proc/sys/kernel/hotplug  可以使得 mdev支持热插拔

2012-07-03 16:23:15 3668

原创 Linux下删除一个文件夹命令

Linux下大家经常要删除一些文件。直接使用rm即可,但是当要删除一个文件夹时,首先想到rmdir,但是如果文件夹非空,则非常麻烦。下面的命令可以帮助删除一个非空的文件夹#rm  -rf  文件夹名称

2012-01-26 13:42:58 13415

原创 ubuntu10.10下使用vim+ctags阅读Linux内核源代码

第一步:安装软件vim、ctags、cscope    #apt-get install vim  exuberant-ctags  第二步:下载Linux内核源代码,并释放到一个工作目录中。第三步:在源码根目录下执行以下命令   #ctags -R第四步:

2012-01-04 22:03:58 183

原创 Ubuntu10.10安装adb进行Android开发

所需软件:Android Platform-tools http://dl-ssl.google.com/android/repository/platform-tools_r03-linux.zip1、下载上面的软件并解压  #unzip  platform-tools_r03-linux.zip2、将路径增加到PATH变量中  #vim ~/.bashrc  #sour

2012-01-04 16:21:26 2408

原创 Android环境下直接测试驱动程序的方法(Android_OK6410)

之前我们在Linux环境下可以通过编写一个C语言来测试驱动程序,那么在Android环境下,我们是否也可一采用相同的方法呢?上一篇文章我们介绍了如何将驱动程序编译进内核的方法http://blog.csdn.net/embedded_hunter/article/details/7166757之前我写过一篇文章,介绍了驱动程序和测试程序的编写步骤。http://blog.csdn.net/

2011-12-31 09:44:35 4546

原创 【入门教程】Linux下静态库和共享库的制作方法

在Linux环境下编写程序时,经常会调用glibc库中的API。这些库是如何实现的的呢?很多初学者对此一直很困惑,接下来就与大家一起动手练习一下静态库和共享库的制作方法。      作者:沧海猎人   出处:http://blog.csdn.net/embedded_hunter  转载请注明出处   嵌入式技术交流QQ群:179012822      首先,我们编写代码来实现“输入半径求

2011-11-14 21:05:28 4351

原创 arm-hello文件运行错误分析

首先程序语法没问题,目前遇到的不能运行的原因如下: 1 没有使用交叉编译器             错误信息:段错误或语法错误等            # file hello  看一下目标代码的指令集  2 glibc库的版本不符           错误信息: -sh:./hello:not found           # file hello 查看一下墓边文件

2011-11-05 21:46:21 766

原创 Linux开机自动运行程序

把启动的命令写到 /etc/rc.local 文件里面

2011-11-05 21:21:39 981

原创 Linux下网络配置总结

配置eth0的IP地址, 同时激活该设备#ifconfig eth0 192.168.1.110 netmask 255.255.255.0 up添加默认网关。 #route add default gw 192.168.1.1设置DNS,设置文件/etc/resolv.conf       nameserver xxx.xxx.xxx.xxx名字解析器 /et

2011-11-05 21:15:53 906

原创 Linux下防火墙关闭方法

在Fedora等系统下:chkconfig iptables off  重起后生效service iptables stop  及时生效或/etc/init.d/iptables stop Ubuntu下:iptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPT

2011-11-05 20:59:38 1344

原创 Linux内核网站已经恢复了

http://www.kernel.org/  是Linux内核官方网站。前段时间一直上不去,据说被黑客入侵了。Linux基金网站也因为黑客入侵而被迫下线。今天发现已经可以访问了。

2011-10-15 08:43:29 1090

原创 ok6410裸机开发_裸机编程_烧写工具

很多朋友想做裸机实验,网上也有很多方法,比如将程序烧写到SD卡上运行,操作步骤相对多一些。为此,我写了一个小程序可以直接用来烧写裸机程序到SD。已经在2G SD卡,OK6410板子上测试通过。 附件是烧写工具以及测试程序。请大家参考。 下载地址:http://115.com/file/dnrjgo4xhttp://blog.csdn.net/embedded

2011-10-14 08:45:41 4572 5

原创 探讨6410的启动过程

一直想在 6410上写个启动代码。由于板子上没有nor flash。所以只能通过SD卡启动或nand flash启动,在这里要注意,我们虽然说是从sd或nand启动,实际上在他之前,还有一段代码固化到了芯片的内部rom(irom)中了,这段代码是先运行的,这段代码会将SD卡或nand flash上程序加载到内部ram中(Stepping Stone(8kb)),然后从那里继续运行。

2011-10-11 15:01:49 3242 1

原创 你了解C语言中的关键字volatile吗?

我们在学习C语言的32个关键字时,大家都不太注意volatile这个关键字,volatile是一个类型修饰符。volatile的中文意思是“易变的”。那么在程序中我们在什么情况下才使用他呢?我们在分析内核时经常看到这个关键字的使用。举例如下:struct task_struc

2011-10-10 19:54:59 5548 2

原创 OK6410开发板裸板程序实验-LED

本人想写一个简单的Bootloader,以前在2410上写过一个。因此现在想在6410上也写一个,方便理解启动过程。但是发现刚一起步就遇到了困惑。以前玩ARM7、ARM9、PowerPC板子时,都有烧写器或下载器可以将一段汇编代码放到nor flash中运行。 但现在发现目前市面上很多6410的开发板不太容易这么做,很多都是没有nor flash,要通过u-boot将程序下载到Nand

2011-10-09 16:01:09 7075 2

原创 关于Linux下驱动程序的编译方法

驱动程序源文件名称:/work/driver/test.c      驱动程序目标文件名称:test.ko      内核源码目录:/work/linux2.6.30 这个目录是板子源码根目录      第一步:在内核源码下(/work/linux2.6.30)输入:

2011-10-07 19:44:01 4637 2

原创 Linux下删除非空目录

很多时候不知道如何删除一个目录,以下这个命令可以完成 # rm -rf  目录名       【声明】由于本人水平有限,如果文章内容描述有误,欢迎指正。email: [email protected]  QQ技术交流群:179011723     转载请标明出处ht

2011-10-06 18:05:16 1132

原创 diff和patch使用

hello-1.0 和hello-1.1两个目录,其中hello-1.1为hello-1.0的更新        # diff -ruNa hello-1.0 hello-1.1 >hello-1.1.patch        注意:提交制作内核patch时,需要把生成的

2011-10-06 18:00:58 793

原创 Linux初学者需要掌握的几个基本命令

cd pwd ls mkdir rmdir cp rm mv find chmod chown cat echo       【声明】由于本人水平有限,如果文章内容描述有误

2011-09-30 22:40:42 756

原创 VI基础及常用技巧

1、 新建文件 # vim filename2、VI中的基本模式 插入模式 i a命令模式 ESC键 尾行模式 在命令模式下输入: 保存退出:wq 不保存退出:q! 保存:w 另存:w filename 在命令模式下: 复制 nyy n为数字,代表

2011-09-30 21:12:20 1028 1

原创 Linux环境下C语言编程实践_03

实验3:输入半径求出圆的面积和周长文件:MyPrograme.c#include#includeint main(){double r;printf("请输入圆半径:\n");scanf("%lf",&r);printf("圆的周长为:\n")

2011-09-30 20:43:01 959

原创 Linux环境下C语言编程实践_02

实验2:输入半径求出圆的面积和周长#include#define PI 3.141592653double get_perimeter(double r);double get_area(double r);int main(){ doubl

2011-09-30 20:27:49 1050

原创 Linux环境下C语言编程实践_01

实验1:输入半径求出圆的面积和周长#include#define PI 3.141592653int main(){ double r; printf("请输入圆半径:\n"); scanf("%lf",&r); print

2011-09-30 20:19:03 1526

手游游戏制作流程

手游制作开发流程,非常实用初学者。后续还会有一系列的资源。

2014-04-28

搭建Android平台cocos2dx开发环境

手把手教你如何在Android平台下cocos2dx开发环境的搭建。

2014-04-28

ok6410 led裸机程序 已编译好的可执行bin文件

ok6410 led裸机程序 已编译好的可执行bin文件

2011-10-12

Linux下LED驱动程序实验

Linux下LED驱动实验,供参考,包含测试程序。稍作修改即可在你的板子上运行。

2011-10-02

空空如也

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

TA关注的人

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