![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Embedded Linux
文章平均质量分 79
shevsten
这个作者很懒,什么都没留下…
展开
-
AT91RM9200Linux移植笔记(一)-交叉编译环境的建立
公司有块复旭AT91RM9200的板子,自带的是u-boot-0.40和2.4.19的kernel,决定把u-boot-1.1.6和2.6的内核移植上去,以此开始进入嵌入式Linux的世界。我的开发环境是Vmvare 5.5.1和Redhat 9, 参考了网上不少网友的移植文档,在此向他们表示感谢!发现原有的arm-linux-2.95.3交叉编译工具只能编译u-boot-1.1.4一下的版本,更原创 2007-07-14 19:59:00 · 2143 阅读 · 0 评论 -
Linux Kernel Development 3rd Edition 读书笔记(1)
该书有第二版中文版,第三版还没看到,这里记录下该书的要点,并翻译成中文以加深印象.欢迎指正第一章 Introduction To The Linux Kernel1. Linux内核类型Linux Linux是单一的内核(monolithic kernel),就是说,Linux内核在单一的地址空间中运行,但是Linux借鉴了很多微内核(mircokernel)的优点. Linux使用了翻译 2011-11-23 17:29:24 · 3547 阅读 · 0 评论 -
Linux Kernel Development 3rd Edition 读书笔记(2)
第四章: Process Scheduling1. 多任务操作系统有2种类型:cooperative and preemptive multitasking, 即非抢占式和抢占式. Linux是抢占式多任务操作系统.2. Linux 2..5版本使用叫o(1)的scheduler, Linux2.6.23使用叫completely fair scheduler(CFS).3. 进程可分翻译 2012-01-12 16:05:29 · 3207 阅读 · 0 评论 -
Linux Kernel Development 3rd Edition 读书笔记(3)
第六章: Kernel Data Structures1. Linked Lists(1) singly list/* an element in a linked list */struct list_element { void *data; /* the payload */ struct list_element *next; /翻译 2012-03-16 15:12:03 · 2501 阅读 · 0 评论 -
Linux Kernel Development 3rd Edition 读书笔记(4)
第七章: Interrupt and Interrupt Handler1. 驱动调用 request_irq()来注册中断,声明在 /* request_irq: allocate a given interrupt line */ int request_irq(unsigned int irq,irq_handler_t handler, unsigned long fl翻译 2012-06-07 17:40:27 · 2785 阅读 · 0 评论 -
Embedded linux移植常见错误及使用总结
在移植嵌入式Linux中碰到了不少错误(u-boot,BusyBox,kernel),搜索了网上不少资源,得到了解决办法,这里整理如下:一. u-boot1.arm-linux-gcc: installation problem, cannot exec `cpp0': ?????????这是由于没有把arm-linux-gcc安装在他的默认目录导致的2.95版本原创 2010-05-11 15:38:00 · 1299 阅读 · 0 评论 -
linux 2.6.24.4及根文件系统在S3C2410上的移植(使用4.3.2编译器支持eabi)(基于GEC2410)
之前移植了linux-2.6.24.4和根文件系统(使用busybox-1.10.1创建)在GEC2410平台上运行。可参考之前的笔记:内核配置: http://blog.csdn.net/shevsten/archive/2010/05/17/5599790.aspx根文件系统: http://blog.csdn.net/shevsten/archive/2010/05/26/5625133.aspx那时候用的是crosstool编译出来的3.4.5的支持softfloat的编译器,如今的原创 2010-12-24 15:42:00 · 3450 阅读 · 2 评论 -
linux 2.6.24.4在S3C2410上的移植(根文件系统cramfs,ramdisk,jffs2)(基于GEC2410)
内核可以跑起来,接下来就是移植根文件系统了.我们使用BusyBox-1.10.1来创建根文件系统.下载地址为:http://www.busybox.net/downloads/1.设置BusyBox(1)解压#tar -xvjf BusyBox-1.10.1.tar.bz2#cd BusyBox-1.10.1(2)修改Makefile,设置CROSS_COMPILEARCH ?= armCROS原创 2010-05-26 13:44:00 · 4112 阅读 · 4 评论 -
linux 2.6.24.4在S3C2410上的移植(CS8900网卡驱动)(基于GEC2410)
SMDK2410配置默认使用的是DM9000A的网卡,因此我们需要修改成CS8900A的网卡驱动.网上找到移植方法有两种方法,一种是将以前版本的cs8900.c驱动拿过来用,只要在配置中增加ARM_CS8900选项,这个代码网上有很多,拿过来试了以下,的确没问题.另一种方法是修改2.6.24.4自带的cs89x0.c驱动,这个驱动没有2410的直接支持,我们需要修改.这里采用第二种方法.参考了网上原创 2010-05-24 14:09:00 · 3563 阅读 · 1 评论 -
linux 2.6.24.4在S3C2410上的移植(内核配置)(基于GEC2410)
移植完u-boot后,接下来就是linux内核了.以下记录我移植的步骤,如有问题,欢迎指正.1.下载linux kernel源代码到http://www.kernel.org/下载linux内核源代码,这里我们使用2.6.24.4的内核.解压linux-2.6.24.4.tar.bz2[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz原创 2010-05-17 11:13:00 · 2567 阅读 · 0 评论 -
UBOOT-1.1.6在S3C2410上的移植(基于GEC2410)
之前做过u-boot-1.1.6在AT91RM9200的移植,虽然2410和9200这两款ARM9芯片都是ARM920T核的,但还是有不少区别的,特别是启动方式(当然前者是工业级后者是民用级不必说)。at91rm9200内部本身有128k的片内rom,其固化了一个bootloader和uploader, 用来支持程序的下载和引导,而且其内部固化的程序提供了很多内部服务接口(Internel Ser原创 2010-05-14 14:40:00 · 2928 阅读 · 1 评论 -
AT91RM9200Linux移植笔记(三)-移植Linux kernel 2.6.17
手上板子原来自带的是2.4.19的内核, 打算移植新的2.6的内核,从网上下了2.6.17的kernel,下载地址为:http://www.kernel.org/pub/linux/kernel/v2.6/修改PATH环境变量或者Makefile文件的CROSS_COMPILE宏,将前面制作好的交叉编译工具链路径添加进来,同时需要下载针对AT91rm9200的patch包, 2.6.17-at91原创 2007-07-16 20:11:00 · 2317 阅读 · 0 评论 -
AT91RM9200Linux移植笔记(二)-移植u-boot-1.1.6
u-boot的下载地址为http://sourceforge.net/project/showfiles.php?group_id=65938 ,最新的为u-boot-1.1.6,这个版本已经可以很好的支持AT91RM9200添加PATH环境变量或者修改u-boot的Makefile将之前编译好的工具链路径添加进来因为我们的开发板配置和at91rm9200dk很类似,因而可以直接使用at91rm9原创 2007-07-15 14:52:00 · 2611 阅读 · 0 评论 -
make clean,mrproper,distclean
make clean - delete everything not needed for building external modulesmake mrproper - delete all generated files, including .configmake distclean - delete all temporary files such as *.orig, *~, *.re转载 2007-07-14 16:34:00 · 734 阅读 · 0 评论 -
Linux Kernel Development 3rd Edition 读书笔记(5)
第九章 An Introduction to Kernel Synchronization1. pseudo-concurrency: 访问不同时发生,但是互相发生交错.2. 内核并发性的原因有:Interrupts, Softirqs and tasklets, Kernel preemption, Sleeping and synchronization with user-space翻译 2012-10-19 17:29:16 · 2892 阅读 · 0 评论