- 博客(6)
- 资源 (4)
- 收藏
- 关注
转载 uboot的init_sequence 分析
第一个C函数startarm_boot中首先执行了一个初始化函数指针数组。初始化函数指针数组:init_fnc_t *init_sequence[] = {#if defined(CONFIG_ARCH_CPU_INIT) //如果定义了CONFIG_ARCH_CPU_INIT这个宏,则调用cpu架构相关的函数。这个函数一般定义在arch/arm/cpu/arm926ejs/l
2013-12-29 01:23:45 1069
转载 uboot的start.S文件分析
.globl _start_start: b reset //复位中断向量 ldr pc, _undefined_instruction //未使用 ldr pc, _software_interrupt //软中断 ldr pc, _prefetch_abort //处理器预取指令的地址不存在,或该地址不允许当前指令访问,产生指令预取中止异常 ldr p
2013-12-29 01:23:13 484
转载 Uboot 的u-boot.lds注释分析
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*指定输出可执行文件是elf格式,32位ARM指令,小端*/ OUTPUT_ARCH(arm) /*指定输出可执行文件的平台为ARM*/ ENTRY(_start) /*指定输出可执行文件的起始代码段为_start*/ SECTIO
2013-12-29 01:21:55 1055
原创 openjtag 调试 u-boot
1、启动opencocd.ini # openocd -f /etc/openocd/interface/openjtag.cfg -f /etc/openocd/target/samsung_s3c2440.cfg 2、开始调试,要在gdb.ini中设置好断点 # arm-linux-gdb -x gdb.ini u-boot/
2013-12-27 15:27:33 1604
转载 Mini 2440 时钟配置 (FCLK,HCLK,PCLK详解)
系统时钟MINI2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,也就是说CPU,内存,UART等需要用到时钟频率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,两者速度相差可想而知,就好比牛车和动车。如果CPU工作在12MHz频率下,开发板的使用效率非常低,所有依赖系统时钟工作的硬件,其工作效率也很低,比如,我们电脑里面经常提到的
2013-12-26 11:20:24 2045
转载 Arm 系统中常用的段分类说明
一、基本概念 .text段是代码段。它用来放程序代码(code)。它通常是只读的。 .data段是数据段。它用来存放初始化了的(initailized)全局变量(global)和初始化了的静态变量(static)。它是可读可写的。 .bss段是全局变量数据段。它用来存放未初始化的(uninitailized)全局变量(global)和未初始化的静态变量(static)。它也是
2013-12-25 15:08:46 555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人