嵌入式杂谈
墨、白
厚积薄发
展开
-
u-boot.lds链接文件详解
1. 格式 GNU编译器生成的目标文件缺省为elf格式,elf文件由若干段(section)组成,如不特殊指明,由C源程序生成的目标代码中包含如下段:.text(正文段)包含程序的指令代码; .data(数据段)包含固定的数据,如常量、字符串; .bss(未初始化数据段)包含未初始化的变量、数组等。 C++源程序生成的目标代码中还包括:.fini(析构函数代码); ...原创 2019-01-04 15:03:08 · 1570 阅读 · 0 评论 -
位置无关码介绍
1. 基本概念 应用程序必须经过编译、汇编和链接后才变成可执行文件,在链接时,要对所有目标文件进行地址重定位,建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间即链接地址(链接地址介绍在链接地址与运行地址),以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。 通常情况下,将bootloader程序下载到RO...原创 2019-01-05 14:56:10 · 1043 阅读 · 1 评论 -
链接地址与运行地址
1. 基本概念 链接地址: 32位的处理器,它的每一条指令是4个字节顺序存储,CPU是顺序执行的,只要没发生什么跳转,它会顺序进行执行这些指令, 编译器对代码中的变量名、函数名等东西进行一个地址的编排,赋予这些抽象的东西一个地址,然后在程序中访问这些变量名、函数名就是在访问一些地址,这些地址我们称之为编译地址。 运行地址:是指程序指令真正运行的地址,是由用户指定的,用户将运行地址烧...原创 2019-01-12 11:27:21 · 2429 阅读 · 0 评论 -
移植u-boot-2012.04.01到JZ2440(四:修改源码之支持NOR Flash与NAND Flash)
目录4. 修改源码之识别NOR Flash与NAND Flash 4.1 修改源码之识别NOR Flash 4.1.1 打开DEBUG调试 4.1.2 分析flash_init()函数 4.1.3 分析flash_detect_legacy()函数 4.1.4 分析jedec_flash_match()函数 4.1...原创 2019-01-15 14:31:42 · 574 阅读 · 0 评论