51CTO博客开发
很久没有更新blog了,这一段时间一直在学习linux driver的开发技术。现在书看了大半了,准备找一些实际的driver学习一下。 现在学习的是Webcam的driver,原因在于Webcam的复杂度较低一些。我采用的Webcam的开源驱动来自于http://mxhaard.free.fr/download.html。(向作者致敬!) 具体
scull是linux device driver里面的一个例子,模拟了一个位于内存中的字符串设备。因为版本原因,源代码在编译过程中经常有错误,这里记录编译过程中所遇到的问题和解决办法,参考了如下网址: http://www.xue163.com/html/201022/3659066.html 1. *** CFLAGS was changed in &quo
前一阶段的实验是了解linux的编译,下载,启动和运行。实验基本是在qemu仿真器下进行的。 两个optional的实验是在qemu中用uboot启动image,以及在qemu中使用busybox和NFS服务器启动。这两个实验没有继续了,因为他们在实际的ARM板上做实验更加直观。 现在正在查看和联系ARM开发板,用于embedded linux的学习。
好几天没有继续linux的学习了,周末忙着买衣服去了,呵呵。 这个实验其实是继续前面的uboot实验,但是这次是指定从一个HelloWorld的镜像启动。 参考网址:http://balau82.wordpress.com/2010/03/10/u-boot-for-arm-on-qemu/ 继续上次的“Qemu下的Hello World程序”。
这个不太清楚怎么翻译,就是ARM C的bare metal program。参考了如下链接: http://balau82.wordpress.com/2010/02/14/simplest-bare-metal-program-for-arm/ http://www.state-machine.com/arm/Building_bare-metal_ARM_with_GNU.pdf
题外话:前一段看了一个文章很有感触,说是很多优秀的开源开发者到了google都停止了开发。为什么呢,因为开源一个很大的动力来自于对现有开发环境的不满,而google提供了一个近似理想的开发环境,所以大家就懈怠了。有意思,呵呵。 今天学习在Qemu下运行一个简单的Hello World程序,整个过程还是参照了 http://balau82.wordpress.com/2010/02/2
参考http://balau82.wordpress.com/2010/03/10/u-boot-for-arm-on-qemu/ 1. 下载uboot wget ftp://ftp.denx.de/pub/u-boot/u-boot-2010.03.tar.bz2 tar –xjvf u-boot—2010.03 2. 编译 cd u-boot-201
对BUSYBOX还不够了解,目前为止,我认为BUSYBOX就是一个编译好的小工具集合。可以简单的通过mount的方法将这些小工具 加载到嵌入式linux中。这种方法就省去了逐个安装的工作量。 这次尝试在Qemu中加载BUSYBOX的过程。参考的blog来自于http://balau82.wordpress.com/2010/03/27/busybox-for-arm-on-qemu/
学习MINIX操作系统在Qemu中的安装。MINIX是基于早期Unix系统的一个开源操作系统,特点是代码规模小,易于学习操作系统内核的开发。这里尝试安装MINIX3在Qemu下,参考网址: http://wiki.minix3.org/en/UsersGuide/RunningMinixOnQemu 1. 下载MINIX wget http://www.minix3.org/
参见 http://blog.leshak.ru/english/pages/how-to-build-cross-toolchain-arm-uclibc-eabi-using-crosstool-ng/ 1. 下载crosstool wget http://ymorin.is-a-geek.org/download/crosstool-ng/crosstool-ng-1.3.3
在继续linux kernel的工作之前,忙里偷闲我们看一下linux下的debug工具。这里主要学习GDB和insight的使用 1. 安装GDB 一般系统中应该都已经安装了gdb,如果没有安装的话 sudo apt-get install gdb 2. 源代码样例 采用的是来自于http://opencsl.openfoundry.org/Lab05_
这个实验主要学习交叉编译环境的安装,方法很多,首先可以自己下载相关的包,然后手动安装。当然现在已经有很多设置好的安装包,直接下载相关的包并且安装。 我首先适用了cross-tool,但是在我的Ubuntu下面编译失败,看网上推荐buildroot,试用后编译成功。下面记录编译的过程。 1. 下载安装包。注意要下载稳定版本,开发版本很容易出错。 下载的版本是bu
这次实验主要完成一个linux内核的编译 1. 下载内核文件 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2 tar jvxf linux-2.6.18.1.tar.bz2 cd linux-2.6.18.1 2. 清理已有的设置 make m
本实验参照了http://opencsl.openfoundry.org/ 的开放实验教程。这里记录了在Ubuntu 9.10上安装qemu的过程。不保证适用于其他系统,仅供参考。 安装qemu 1. 安装qemu sudo apt-get install qemu kernel-package linux-source kqemu-source
Octave和Eclipse框架 windows下的联合仿真工具通常是MATLAB和VC,但目前很多开源软件,特别是数值分析方向,是基于linux系统的。这里我构建了一个linux下的C++和Octave联合仿真工具,类似于MATLAB和VC框架。 优点: 可以使用linux下的众多开源代码,特别是数值分析代码 Octave和C++的链接比MATLAB稍微方便一点
如何设置VS2008和MATLAB的联合调试环境 第一步:Tools -> options -> VC++ Directories Select include files: Add (your MATLAB path) C:\Program Files\MATLAB\R2007b\extern\include
题目1: http://www.careercup.com/question?id=58180 一种是列表法,列一个表格,这个表格里面每个数字对应的1的个数都是确定的 另一种就是除以2,然后检查个位,然后循环 题目2: http://www.careercup.com/question?id=58179 &
题目1: http://www.careercup.com/question?id=175748 读一读就好了 题目2: http://www.careercup.com/question?id=176760 说实话,俺不太明白 题目3: http://www.careercup.com/question?id=175747 malloc输出NU
题目1: http://www.careercup.com/question?id=2777, aligned malloc详细解析,或者简单使用memalign 题目2: http://www.careercup.com/question?id=294741,解释malloc和free 题目3: http://www.careercup.com/ques
这个blog,我想用它作为技术学习的一个园地。从事工程师这一行,就要不停的学习新的知识,这个blog就是我学习这些东西的笔记。 首先开始的是操作系统的学习,方法呢,就是看《自己动手写操作系统》这本书。 http://www.verycd.com/topics/251695/
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号