在《嵌入式学习笔记104-uboot_1.1.6移植(4)》、《嵌入式学习笔记300-linux根文件系统搭建》uboot和根文件系统都准备好的前提下,此时的kernel已基本可以跑起来,不过还差正确的挂起文件系统,其中uboot传给kernel的挂载处是root=/dev/mtdblock2 ,而在《嵌入式学习笔记201-Linux kernel动起来》的打印分区信息是:
mtd: partiti...
分类:
系统相关 时间:
2015-05-24 15:46:29
阅读次数:
329
前面的4篇uboot博文基本概括了uboot的整体flow,现在使能支持启动linux,至此之前请先阅读《嵌入式学习笔记200-Linux kernel初体验》和《嵌入式学习笔记201-Linux kernel动起来》。准备kernel的镜像文件才可以立马检测uboot是否能够启动kernel。在u-boot-1.1.6\include\configs\tq2440.h 最后添加如下几行code:...
分类:
其他好文 时间:
2015-05-24 13:01:03
阅读次数:
173
在前篇博文《嵌入式学习笔记200-Linux kernel初体验》在已经确保环境编译是ok的,接下来让kernel能够最基本的动起来,起码可以看到基本的启动打印!
修改外部输入时钟频率, 修改 linux-2.6.30.4\arch\arm\mach-s3c2440\mach-smdk2440.c 在大概163行将16934400改成12000000。
static void __init smdk...
分类:
系统相关 时间:
2015-05-24 13:00:42
阅读次数:
248
本实验采用linux-2.6.30.4 version测试,交叉编译为4.3.3,相关源码可以自行下载或到本博客查看是否有,在自己环境下尝试编译kernel通过确保环境ok为后续的移植做好准备。
对下载的linux-2.6.30.4.tar.bz2进行解压到自己指定位置 tar jxvf linux-2.6.30.4.tar.bz2 -C your_path
修改编译工具及架构: 进入kernel根...
分类:
系统相关 时间:
2015-05-24 11:40:22
阅读次数:
347
poll机制(查询机制),隔一段时间查询—下有没有中断。
第四个驱动程序增加poll机制。
应用程序里面open() 函数,read() 函数,write ()函数,poll() 函数分别对应drv_open(),drv_read(),drv_write(),drv_poll()函数。
读取按键的多种方式,
1.查询方式,耗资源。
2.中断方式,如果没有按键按下,read()函数一直等待...
分类:
其他好文 时间:
2015-05-19 13:13:14
阅读次数:
118
经过之前对uboot的整体flow分析,现在开始针对2440移植,需要注意的是移植的code可能包含支持部分的2410code 不过并没有在s3c2410板子实测过。
主要概括:第一阶段的汇编code尽量短小,能用C实现的就用C,由于2440的board和头文件是从2410 copy过来的 里面会有很多信息或者宏关于2410,并且很多.c文件的头文件由于include的是2410,所以新增的一些关...
分类:
其他好文 时间:
2015-05-17 13:48:32
阅读次数:
237
接下来分析uboot的第二阶段,在第一阶段的start.S的末尾有:
ldr pc, _start_armboot_start_armboot: .word start_armboot
而start_armboot()就是第二阶段的入口,首先我们要认识两个重要的结构体,start_armboot()函数的一系列初始化可以说都是以这个结构体为主线的:typedef struct global...
分类:
其他好文 时间:
2015-05-12 00:10:22
阅读次数:
147
根据前篇博文(嵌入式学习笔记100-uboot1.1.6初体验)最后的结论,现在开始将其实现:
a. 修改makefile的CROSS_COMPILE指定编译器 arm-linux-gcc -v –> gcc version 3.4.5
CROSS_COMPILE = /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/...
分类:
其他好文 时间:
2015-05-06 00:00:54
阅读次数:
401
到官网或其他网上下载u-boot-1.1.6.tar.bz2
解压包到相应目录:tar -jxvf u-boot-1.1.6.tar.bz2 -C ../xxxxxx , 我是解压到samba共享的目录上以便到时候用sourceinsight建立工程。
解压好后先 make distclean or make mrproper 确保源码干净
setup project via sourceinsig...
分类:
其他好文 时间:
2015-05-04 20:16:50
阅读次数:
197
串口是个好东西,前几篇裸奔程序由于没有串口,自己调试都是有led等来表示的,比较“苦逼”,终于可以用串口了~~~,这里主要采用上一篇博文(嵌入式学习笔记007-裸奔篇之定时器),也就是串口也是用中断实现的,而且也只是在前一篇博文增加串口的初始化uart0_init(),以及在中断处理函数增加对串口的处理。只要稍微改造前一篇博文就是一个通用的中断处理程序!
这里主要实现在串口输入一个字符,接受后+2再...
分类:
其他好文 时间:
2015-04-28 22:51:30
阅读次数:
476