学习linux
发布时间:2013-09-04 13:34:10
CPU通过总线和各种设备相连,每种外设都是通过寄存器进行控制。外设可以将寄存器映射到I/O端口或者I/O内存,例如ISA大多映射到端口,而PCI大多映射到内存。这都和RAM内存不同,因为I/O操作都会有边际效应,不能使用高速缓存,也不能发生访问指令重新排序的优化。这不是问题,因为启动内核时告诉了RAM地址和大小,内核不会对.........【阅读全文】
发布时间:2013-09-04 07:24:28
在移植nand flash驱动之前先学习一下linux的驱动加载过程:(这是我看过的一个博客,但不记得在哪里了 :( )1. bootloader跳转到内核的起始位置后,压缩过的kernel入口在arch/arm/boot/compressed/head.S,它将调用函数decompress_kernel()(arch/arm/boot/compressed/misc.c)解压,打印“Uncompressing Linux...”,调用.........【阅读全文】
发布时间:2013-09-03 22:08:01
既然是移植,就要先找个模板,就用smdk6410吧。它们是相同的CPU,还是相同的SOC,只是不同的machine而已,也就是外设硬件的接法不同而已。1. 先弄个壳子: 我直接用的smdk6410,只要machine ID和我的bootloader一样就可以启动了(在arch/arm/tools/mach-types),最多也只是 .........【阅读全文】
发布时间:2013-09-03 21:00:07
买了一个ok6410的板子,准备开始学习嵌入式linux,同时也想把自己的学习历程记录下来,方便以后看看。有什么问题请各位朋友指教。bootloader的作用主要就是:先将内核拷贝到RAM,再传递bootargs地址并启动内核。我主要用的C语音,只有直接操作CPU寄存器才用了一点汇编。1. arm11的cpu在访问I/O内存之前要先映射一下总线.........【阅读全文】
发布时间:2013-09-03 19:41:35
1.文件与目录基本管理: cp,mkdir,rmdir,pwd,rm,touch,mv。basename取得文件名,dirname取得目录名。 且rmdir仅能删除空目录,可以用rm -r xxx; cp -s a b;创建软链接;cp -l a b;创建硬链接;cp还有可能改变文件权限,对cp要注意。 &nb.........【阅读全文】