随笔分类 -  Embeded

上一页 1 2 3 4 5

6200 uboot测试版分析(四)
摘要:include/autoconf.mk中COFIG_LOAD_ADDR=0x40008000common/do_boom.c 中潜入了U_BOOT_CMD(bootm,CONFIG_SYS_MAXARGS,1,do_bootm)因此在default_environment中将会找到的bootm最终将执行do_bootm函数,do_bootm调用同文件下的bootm_start函数,在bootm_start函数中将会通过boot_get_kernel获得uImage的头部并且录入images(bootm_headers_t结构体类型)中(此处会将头部搬移,以使得头部信息原地址空间在解压时可以被覆 阅读全文

posted @ 2012-04-24 12:21 阿加 阅读(433) 评论(0) 推荐(0)

Embedded linux primer
摘要: 阅读全文

posted @ 2012-04-23 13:32 阿加 阅读(194) 评论(0) 推荐(0)

612 根目录下vmlinux , compressed下的vmlinux,boot下的Image、zImage
摘要:根据arch/unicore/kernel下的连接脚本vmlinux.lds以及hend.S等其他文件生成根目录下的vmlinuxELF格式文件。quiet_cmd_vmlinux__ ?= LD $@ cmd_vmlinux__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) -o $@ \ -T $(vmlinux-lds) $(vmlinux-init) \ --start-group $(vmlinux-main) --end-group \ $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-mai 阅读全文

posted @ 2012-04-18 22:25 阿加 阅读(634) 评论(0) 推荐(0)

关于 ld 命令中 -Ttext 参数 的测试
摘要:文件sramboot.S#include"regdef.h".text.globl mainmain: .set noreorder .set noat la at, value lw a0, 0(at) lw a1, 4(at) jal my_add add a2, a0, a1 sw a2, 8(at)文件#include"regdef.h".text.globl my_add,valuemy_add: .set noreorder add a0,a0,3 j raadd a1,a1,4.datavalue: .word 10, 20, 0Makef 阅读全文

posted @ 2012-04-12 20:25 阿加 阅读(1879) 评论(0) 推荐(0)

VIC流程
摘要:一共64个中断向量,内置硬件中断优先级,默认优先级为0,软件可置0-15号优先级,0级最低,每个中断向量对应一个 VICVECTPRIO­_XX寄存器来设置相应的优先级。中断服务函数入口地址组成一张中断服务程序表,该表的地址为浮动,表的基地址由 VECT_IRQ_BASE设置,64个中断服务函数入口地址按各自的中断号填入表中,每次执行irq或者fiq时中断服务函数入口地址自动载入 VECT_IRQ_ADDR或者VECT_FIQ_ADDR中,pc载入其中内容跳到中断服务函数开始执行。 阅读全文

posted @ 2012-04-11 10:14 阿加 阅读(201) 评论(0) 推荐(0)

S-record & Intel hex
摘要:s-record 文件格式+------------------//-------------------//-----------------------+ | type | count | address | data | checksum +------------------//-------------------//-----------------------+其中type指明记录类型(head record:S0、0x5330;data record:S1、0X5331,S2、0X5332,S3、0X5333;count record:S5、0X5335,termination 阅读全文

posted @ 2012-04-07 20:47 阿加 阅读(994) 评论(0) 推荐(0)

mips 纯二进制反汇编(bin文件)
摘要:Usage: mipsel-linux-objdump <option(s)> <file(s)> Display information from object <file(s)>. At least one of the following switches must be given: -a, --archive-headers Display archive header information -f, --file-headers Display the contents of the overall file header -p, --priva 阅读全文

posted @ 2012-04-04 14:47 阿加 阅读(5554) 评论(0) 推荐(0)

6200 uboot 测试版分析(三)
摘要:小结:uboot中_start开始执行一段程序(基本配置,这一段在6200 sdboot时已经执行过了)跳到start_unicoreboot执行,完成init_sequence[]中的一系列初始化。注意初始化序列之前gd(gd_t*类型)被赋予一个常数值,gd所指向中的bd指针也赋予一常数值。在初始化序列中,务必注意board_init中对gd->bd->bi_boot_params的赋值(0x40000100),因为在紧临近执行theKernel (0, machid, bd->bi_boot_params)前,我们会把需要传给内核的参数都赋给params指针所指向的st 阅读全文

posted @ 2012-02-28 17:03 阿加 阅读(340) 评论(0) 推荐(0)

6200 uboot 测试版分析(二)
摘要:6200uboot启动过程注:PC此时跳到0x42800000处开始执行。在这启动过程中主要包括系统信息采集(CPU信息、MAC、外设信息),配置一些系统模块正常工作,DDR2地址重映射(由0X40000000映射到0X00000000),今天阅读的Uboot_6200代码没有做PC重置,原来在Uboot_1.3.3版的代码会涉及到中断向量表搬移(从Norflash搬至ESRAM,以及PC重置)。主要记录下今天阅读的uboot自启动下遇到的一个问题)。在void start_unicoreboot(void)最后会执行main_loop(),进入函数后,获取默认启动过程,同时延迟一段时间,调试 阅读全文

posted @ 2012-02-25 10:58 阿加 阅读(625) 评论(0) 推荐(0)

6200 sdboot 测试版分析(一)
摘要:分析boot启动代码时先分析存储空间分布(硬件工程师一般会提供),链接脚本,Makefile文件, 务必注意由板级硬件设置的启动方式(例如:sd卡启动,nand启动,nor启动)。处理器在执行程序之前,会从相应存储介质搬移代码到ESRAM中(对 于从nor启动,也有可能从nor直接取指令执行)。对于6200测试平台,板级设置为SD卡启动,系统上电后从SD卡搬移8KB代码到ESRAM中,且 此时0地址映射到ESRAM(注意系统启动时,ESRAM具有三个地址,分别是0x0:映射,0XB2000000:物理。Boot的代码量较大,所以在 这前8KB代码中会设计代码搬移(sdboot设计成两个部分)。 阅读全文

posted @ 2012-02-23 21:37 阿加 阅读(263) 评论(0) 推荐(0)

上一页 1 2 3 4 5

导航