摘要:原因:office + 硬盘描述: ubuntu12.04 2012年4月28装好,4月29号安装virtualbox; ubuntu /boot 2G /home 70G /swap 2G /其他 virtualbox 软件包自动搜索安装 win7 安装简单 用户增强功能实现共享: VBoxGu...
阅读全文
摘要:do_bootm函数及其所调用的函数,根据头部的定位地址(mkimage –a的参数)将zImage搬移到指定的内存处),根据头部的入口地址(mkimage –e的参数)获得head.o在内存中的地址,设置r0、r1、r2跳到此处执行。boot传入r0=0,r1=machine_ID,r2=taglist (r0为0, r1为machine type, r2位参数列表的物理地址)在次过程中会开启Icache、Dcache,来加速开机过程程序中有一段称为 LC0的表,其中根据链接脚本确定了got段的起始和结束地址,bss段的起始和结束地址,栈的地址(比链接脚本中的指定的stack大于4),解压的
阅读全文
摘要:程序入口The first instruction to execute in a program is called the entry point. You can use theENTRY linker script command to set the entry point. The argument is a symbol name:ENTRY(symbol)There are several ways to set the entry point. The linker will set the entry point by tryingeach of the following
阅读全文
摘要: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结构体类型)中(此处会将头部搬移,以使得头部信息原地址空间在解压时可以被覆
阅读全文
摘要:DESCRIPTIONxxd 建立一个指定文件或者标准输入的十六进制转储,同时也可以把十六进制转储转换成原来的二进制形式。它可以把二进制数据转换ASCII表示形式,而且可以以ASCII的形式显示到标准输出。OPTIONS如果没有给定输入文件,标准输入就作为输入文件infile。如果infile是一个...
阅读全文
摘要:根据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
阅读全文
摘要:.incbin "file"[,skip[,count]] The incbin directive includes file verbatim at the current location. You can controlthe search paths used with the ‘-I’ command-line option . Quotation marks are required around file.The skip argument skips a number of bytes from the start of the file. The cou
阅读全文
摘要:%.d: %.c $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$p-162:sed替换命令的格式是‘s///g’如果没有g,则sed的替换操作只对文本中的第一次出现的匹配模式进行替换。关于‘s///’命令的另一个注意点是‘/’分隔符有许多替换选项。如果正在执行字符串替换,并且规则表达式或替换字符串中有许多斜杠,则可以通过在’s’之后指定一个不同的字符来更改分隔符。例如,下列将把所有出现的/usr
阅读全文
摘要:cache alias问题的产生:L1cache:VIPT型; 32K,(S、E、B)=(256、4、32)way-size=8KB假定TLBSIZE为4KB,有如下两个地址映射关系:VA0:0X0000_0020 -> PA 0X0000_0020VA1:0X0000_1020 -> PA 0X0...
阅读全文
摘要:参考1、AT&T汇编语言与GCC内嵌汇编简介 2、Professional.Assembly.Language十三章ARM GCC 内嵌(inline)汇编手册内嵌汇编语法如下:__asm__ __volatile__ ( 汇编语句模板: 输出部分: 输入部分: 破坏描述部分 ); 汇编语句模板由汇编语句序列组成,语句之间使用“;”、“\n”或“\n\t”分开。指令中的操作数可以使用占位符引用C语言变量,操作数占位符最多10个,名称如下:%0,%1…,%9。指令中使用占位符表示的操作数,总被视为long型(4个字节),但对其施加的操作根据指令可以是字或者字节,当把操作数当作字或者字节使
阅读全文
摘要:文件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
阅读全文
摘要:gas多文件工程摘自:Programming from Groundup Chapter 6主要目的是了解如何组织多文件工程(形式)文件record-def.s:.equ RECORD_FIRSTNAME, 0.equ RECORD_LASTNAME, 40.equ RECORD_ADDRESS, 80.equ RECORD_AGE, 320.equ RECORD_SIZE, 324文件linux.s:#Common Linux Definitions#System Call Numbers.equ SYS_EXIT, 1.equ SYS_READ, 3.equ SYS_WRITE, 4.e.
阅读全文
摘要:一共64个中断向量,内置硬件中断优先级,默认优先级为0,软件可置0-15号优先级,0级最低,每个中断向量对应一个 VICVECTPRIO_XX寄存器来设置相应的优先级。中断服务函数入口地址组成一张中断服务程序表,该表的地址为浮动,表的基地址由 VECT_IRQ_BASE设置,64个中断服务函数入口地址按各自的中断号填入表中,每次执行irq或者fiq时中断服务函数入口地址自动载入 VECT_IRQ_ADDR或者VECT_FIQ_ADDR中,pc载入其中内容跳到中断服务函数开始执行。
阅读全文
摘要:因为hex软件不能向SD开中写入大量数据,所以用另外linux下的dd命令dd if=system.img of=/dev/... bs=512 seek=8200 conv=notruncNAMEdd - convert and copy a fileSYNOPSISdd [operand ...]DESCRIPTION Theddutility will copy the specified input file to the specified output file with possible conversions using specific input and output b.
阅读全文
摘要:mipsel-linux-as –target-help 显示指定汇编器的特殊选项并退出。 This manual is intended to describe what you need to know to use gnu as. We cover the syntax expected in source files, including notation for symbols, constants, and expressions; the directives that as understands; and of course how to invoke as.Depende.
阅读全文
摘要:objcopy的作用是拷贝一个目标文件的内容到另一个目标文件中。objcopy使用GNU BFD库去读或写目标文件。objcopy可以使用不同于源目标文件的格式来写目的目标文件(也即是说可以将一种格式的目标文件转换成另一种格式的目标文件)。objcopy在进行目标文件的转换时,将生成一个临时文件,转换完成后就将这个临时文件删掉。objcopy使用BFD做转换工作。如果没有明确地格式要求,则objcopy将访问所有在BFD库中已经描述了的并且它可以识别的格式。请注意objcopy 所能支持的机器架构,及目标文件格式。mipsel-linux-objcopy –-info显示出该objcopy所支
阅读全文
摘要: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
阅读全文
摘要: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
阅读全文
摘要:ldconfig所做的仅与程序运行时相关,与链接没有关系,因此链接时仍应加 -L选项。ldconfig是动态链接库的管理命令。该命令主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建/跟新ld.so所需的链接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。ldconfigconfigure dynamic linker run-time bindings/lib/ld-linux.so.x: execution time linker/loade
阅读全文
摘要:ldd print shared library dependencies 显示共享库间的依赖关系。 打印出程序的依赖库,以及依赖库所需的依赖库。引述自:http://www.360doc.com/content/10/1230/21/1378815_82757146.shtml1、-v 或 --verbose指示ldd输出关于所依赖的动态库的尽可能详细的信息。2、-d 或 --data-relocs该选项执行重定位,并且显示不存在的函数。3、-r 或 --function-relocs该选项执行数据对象与函数的重定位,同时显示不存在的对象。4、--version打印ldd的版本号
阅读全文
摘要:ar-d 从archive删除modules 加上-v参数后显示最终删除了哪些module-m移动archive文件中的成员(默认是将指定的成员移到最后) -a xxx 将成员移到xxx之后 -b xxx 将成员移到xxx之前 -i xxx 同-b xxx-p 将archive指定的member显示到标准输出文件。-q 将文件成员加入到archive的最后-r 将文件成员加入最后,若有相同则将源文件删除 -U 只把时间戳最新的文件才加入-t 显示archive指定文件的信息或所有文件信息-x 从archive中extract members-c 创建archive-s write an obj
阅读全文
摘要:ranlib 产生archive文件的索引 The index lists each symbol defined by a member of an archive that is a relocatable object file.
阅读全文
摘要:readelf: 显示ELF格式目标文件的信息 其参数控制显示哪一些参数-a,--all: 等同于指定参数:--file-header,--program-headers,--sections,--symbols,--relocs,--dynamic,--notes,--version-info-h,--file-header:显示文件的ELF头中的信息。-I,--program-headers,--segments:显示文件的段头部的信息。-S,--sections,--section-headers:显示文件的区头的信息。-g,--section-groups:显示文件的区组中的信息。-t
阅读全文
摘要:nm 列出目标文件中的符号信息。 每个符号都列出符号值及符号类型、符号名。 小写则符号为局部符号,大写则说明符号为全局符号(注意有的既不是局部符号也不是全局符号,例如引入的调试符号)。A:符号值为绝对值,在以后的链接过程中不会改变。B,b:符号在为初始化的数据段(BSS)C:The symbol is common.Common symbol是未初始化的数据,在链接过程中多个common symbol都显示着同样的名字,若符号在某处被定义为过,则common symbol被视为undefinde references。D,d:data 段G,g:是一个专门对small objects进行初始化
阅读全文
摘要:cpp除特殊规定外,或以=结束的选项,该选项的参数可以直接出现在选项后或者两者之间以空格隔开,例如:-Ifoo与-I foo相同。 由于有的选项有多个字母组成,故多个单个字母选项不能直接接在一起。-D name:预定义name为一个宏,且宏定义为1。-D name=definition:同上,但是当我们定义宏函数时,需要写成如下形式: -D ‘name(args…)=definition’。-U name:取消宏定义(包括内建或以-D option形式建立的宏)。-undef:取消system-specific或Gcc-specific预定义的宏,但是我们自己定义的宏仍有效。-I dir:将d
阅读全文