ILD

git使用beyond compare比较技巧
2017-12-2
配置使用beyongd compare12$ git config --global diff.tool bc3$ git config --global difftool.bc3.trustExitCode true关闭确认1$ git config --global difftool.promp

git分支
2017-11-30
各个分支互不干扰,切换到另外一个分支时,所有的文件也切换到那个分支。通常从当前分支的最新commit创建分支。默认只有一个master分支。HEAD指向当前分支的最后一次commit。查看所有分支:$ git branch* master创建分支$ git brach test创建分支后,分支还未切

lib/asm-offsets.c的作用
2017-12-10
结构体的大小、某个成员的偏移。在c代码中可以用sizeof;将0转换成结构体指针,再取成员地址获得。但是在汇编代码中,没法直接获取这些信息。linux内核采用了一个技巧,生成一个头文件,使用宏定义这些大小信息。u-boot引用了这个技巧。/lib/asm-offsets.c的内容:#include

关于SPL
2017-12-14
SPL (Secondary Program Loader)当从NAND等设备中启动时,SoC ROM中的代码,拷贝NAND等设备的某些数据(如前4K)到内存(如SRAM)中执行,拷贝的数据量通常比较小。当U-Boot比较大时,此时需要一个SPL。SPL小于ROM拷贝的大小。SPL初始化SDRAM等

ELF:Intel architecture and System V Release 4 Dependencies
2017-12-31
SectionsSpecial sections.got 包含global offset tables.plt 包含procedure linkage tableNameTypeAttributes.gotSHT_PROGBITSSHF_ALLOC+SHF_WRITE.pltSHT_PROGBITS

ELF重定向分析(1):无共享库依赖的可执行文件
2018-1-1
通过分析各种不同elf文件的elf和反汇编信息来学习重定向。这里使用x86架构。1 工具通过make来编译可重定向目标文件、可执行文件和共享库。并调用readelf和objdump将elf信息和反汇编信息输出到相应文件。Makefile文件如下:CC := ccREADELF := readelfO

ARM relocation
2018-1-6
Relocation Types和每个重定向类型相关的计算成员:A加数P要重定向的位置,r_offset加上section的基地址。S符号的值B符号定义所在section的基地址。ARM relocation types 0-16TypeNameFieldComputation and meanin

更新sublime
2018-1-6
下载一个tarball,从https://www.sublimetext.com/3 如:https://download.sublimetext.com/sublime_text_3_build_3143_x64.tar.bz2 进入sublime目录,删除所有的旧文件$ cd /opt/subl

ARM options
2018-1-6
以下这些选项为ARM port定义:-mabi=name产生指定ABI的代码,允许的值有:apcs-gnu, atpcs, aapcs, aapcs-linux, iwmmxt-mapcs-frame为所有函数产生兼容ARM Procedure Call standard的栈帧。和-fomit-fr

u-boot中的arm重定向
2018-1-7
U-Boot会对自己重定向,对于ARM架构,它只支持R_ARM_RELATIVE重定向类型。编译可重定向目标文件时,使用-fno-pic和-mword-relocations选项。前者关闭pic,后者只产生32位绝对重定向。链接可执行文件时,使用-pie选项,产生位置无关可执行文件。uboot-ar

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.