摘要: 在分析内核启动过程的./arch/arm/Makefile文件里碰到了这样字段 然后在子目录arch/arm/kernel/vmlinux.lds文件中又用到了TEXT_OFFSET 上网一查export才知道: 这个是用来提供该子目录makefile(sub make)中访问的,同一级的另外一个m 阅读全文
posted @ 2017-08-11 19:08 诺谦 阅读(8455) 评论(0) 推荐(0) 编辑
摘要: = 无关位置的等于,值永远等于最后的值 比如: := 有关位置的等于,值取决于当时位置的值 比如: ?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 $(x) 表示引用变量x,一般调用的是用:=复制的变量 $(PWD) 表示当前目录 % 通配符,比如有a.c,b.c,c.c,则%. 阅读全文
posted @ 2017-08-11 18:20 诺谦 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 目标: 1.给内核打补丁 2.配置 3.编译 4.重启 1 内核打补丁 1.1 通过FTP将Windows里system目录下linux-2.6.22.6.tar.bz2和linux-2.6.22.6_jz2440.patch文件拷贝到linux里/work/system下 1.2 使用 tar x 阅读全文
posted @ 2017-08-10 23:20 诺谦 阅读(2341) 评论(2) 推荐(3) 编辑
摘要: 编译测试: 1.将写好的uboot复制到linux下面 2.make编译,然后将错误的地方修改,生成boot.bin (编译出错的解决方案:http://www.cnblogs.com/lifexy/p/7326172.html) 3.通过make生成的反汇编来查看代码是否正确 4.通过oflash 阅读全文
posted @ 2017-08-10 09:35 诺谦 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: 目标: 1 添加头文件setup.h和serial.h 2 写main函数 2.1 帮内核设置串口0, (内核启动会打印出启动信息) 2.2把内核读入到SDRAM 2.3设置参数(参考u-boot-1.1.6 /lib_arm/armlinux.C中do_bootm_linux()函数) 2.4跳转 阅读全文
posted @ 2017-08-10 09:32 诺谦 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 目标: 第一阶段: 1.关看门狗 2.设置时钟 3.初始化SDRAM (初始化寄存器以及清除bss段) 4.重定位 (将nand/nor中代码COPY到链接地址上,需要初始化nandflash,读flash) 5.执行main 进入第二阶段: 6.写main函数,在main()中设置要传给内核的参数 阅读全文
posted @ 2017-08-10 09:31 诺谦 阅读(1774) 评论(0) 推荐(0) 编辑
摘要: 编译出错笔记:start.s:20: Error: no such instruction: `ldr r0,=WTCON' 错误:没有这样的指令 解决:编译文件后缀名必须为大写S,改为start.S start.S:34: Error: bad instruction `ldr,r0,=0x4C0 阅读全文
posted @ 2017-08-09 16:44 诺谦 阅读(5666) 评论(0) 推荐(2) 编辑
摘要: adr :相对寻址,与当前位置有关 ldr :绝对寻址,与当前位置无关 在初始化SDRAM时就会用到adr,代码如下: 上面代码中第3行之所以用到了 “ adr r1,SDRAM_CONFIG ”,是因为SDRAM未初始化之前,不能使用绝对寻址,所以使用adr相对寻址. adr r1,SDRAM_C 阅读全文
posted @ 2017-08-09 16:22 诺谦 阅读(1797) 评论(0) 推荐(0) 编辑
摘要: MOV 1.可以寄存器与寄存器之间传递数据 2.可以常数传递到寄存器中(常数不能超过32位) LDR 1.可以地址与寄存器之间的数据传递 2.也可以常数传递到寄存器中 实例: 1.r1与r2之间传递就只能用MOV: MOV r1,r2 2.常数传递到寄存器可以使用MOV和ldr: MOV r0,#0 阅读全文
posted @ 2017-08-09 09:20 诺谦 阅读(2311) 评论(0) 推荐(0) 编辑
摘要: 本节主要学习: 详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0"中怎么实现bootm命令启动内核. 其中bootm要做的事情:a 读取头部,把内核拷贝到合适的地方(0X30008000)b 在do_boom_ 阅读全文
posted @ 2017-08-09 01:16 诺谦 阅读(10070) 评论(1) 推荐(1) 编辑