U-BOOT
木子李
这个作者很懒,什么都没留下…
展开
-
u-boot-1.1.6顶层目录config.mk非常详细的分析
u-boot-1.1.6顶层目录config.mk分析###################################### 这个文件的主要任务就是:1、定义交叉编译器 2、定义AR、调试、优化、预处理、C编译器、链接选项 3、指定编译规则#####################################ifneq ($(OBJTREE),$(SRCTREE)) #如果目标存放目转载 2011-06-18 09:05:00 · 3001 阅读 · 0 评论 -
U-Boot顶层Makefile分析
## (C) Copyright 2000-2006# Wolfgang Denk, DENX Software Engineering, wd@denx.de.## See file CREDITS for list of people who contribu原创 2011-08-08 20:20:48 · 1136 阅读 · 0 评论 -
cpu/arm920t/s3c2440/interrupts.c 解析
#include#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_TRAB)#if defined(CONFIG_S3C2400)#include#elif def原创 2011-07-05 15:17:27 · 1075 阅读 · 1 评论 -
S3C2440 对clock的基本认识
clock部分比较容易,现在按照datasheet的思路梳理一下。一、对clock的基本认识 第七部分是“clock & power management”,总结如下: 1 s3c2410的clock & power management模块包含三原创 2011-07-05 13:15:27 · 612 阅读 · 0 评论 -
CPU/Arm920t/interrupt.c解析
#include#include#include#ifdef CONFIG_USE_IRQvoid enable_interrupt(void){ unsigned long temp; __asm__ __volatile__( "mrs %0,cpar\原创 2011-07-03 21:29:56 · 1023 阅读 · 0 评论 -
CPU/Arm920T/cpu.c解读
#include "stdio.h"//操作协处理器CP15的寄存器C1主要是cache控制器//读取CP15/C1中的内容static unsigned long read_p15_c1(void){ unsigned long value; __asm_原创 2011-07-03 15:55:29 · 1334 阅读 · 0 评论 -
U-BOOT/Board/flash.c 分析
#include ulong myflush (void);//请仔细阅读Am29LV400手册//PHYS_FLASH_SIZE=512KB 定义咋include/configs/embendsky.h中#define FLASH_BANK_SIZE PHYS_FLASH_SIZE//根据Am29LV400手册可知 有11个sect。最大sect的大小为64KB#define MAIN_SEC原创 2011-07-02 16:18:50 · 2565 阅读 · 0 评论 -
uboot之start.s分析
一般来说,大家都是从start.s来分析UBOOT,但是事实是流程是从makefile中来的,也就是说是在敲入make smdk2410_config和make all后才进入start.s中,makefile在这里不做分析,韦东山的那本书有详细的说明,这里要提到的是makefile传进来的,我们在UBOOT中所设计到的LDFLAGS,这个标志确定了连接方式,其中的-T board/smd2410转载 2011-06-23 10:12:00 · 435 阅读 · 0 评论 -
U-Boot的常用命令
U-Boot上电启动后,敲任意键可以退出自动启动状态,进入命令行。 U-Boot 1.1.2 (Apr 26 2005 - 12:27:13)U-Boot code: 11080000 -> 1109614C BSS: -> 1109A91CRAM Configuration:Bank #0: 10000000 32 MBMicron StrataFlash MT28F1原创 2011-06-22 11:00:00 · 463 阅读 · 0 评论 -
U_BOOT_CMD命令的实现
在UBOOT当中,各个命令是通过U_BOOT_CMD这个宏来定义出来的,其本质其实理解起来也很简单,不过今天也从中学到了一点东西先来看UBOOT当中关于U_BOOT_CMD这个宏的定义:/* 这是定义一个结构的属性,将其放在.u_boot_cmd这个段当中,相当于.data/.bss这些段 */#define Struct_Section __attribute__ ((unus转载 2011-06-21 09:36:00 · 570 阅读 · 0 评论 -
U-Boot源码结构
目 录特 性解 释 说 明board平台依赖存放电路板相关的目录文件,例如:RPXlite(mpc8xx)、smdk2410(arm920t)、sc520_cdp(x86) 等目录cpu平台依赖存放CPU相关的目录文件,例如:mpc8xx、ppc4xx、arm原创 2011-06-22 09:50:00 · 489 阅读 · 0 评论 -
start.S进一步、更详细的、深入的解释和分析
start.S进一步、更详细的、深入的解释和分析 #incl? l config.h这个头文件在u-boot-1.1.6/incl?/linux目录下,执行命令# make smdk2410_config之前,内容如下: #ifndef _LINUX_CONFIG_H#define _LINUX_CONFIG_H/* #incl? */#end转载 2011-06-18 09:15:00 · 4270 阅读 · 0 评论 -
U-Boot的环境变量
有点类似Shell,U-Boot也使用环境变量。可以通过printenv命令查看环境变量的设置。 U-Boot> printenvbootdelay=3baudrate=115200netmask=255.255.0.0ethaddr=12:34:56:78:90:abbootfile=uImagebootargs=console=ttyS0,115200 root原创 2011-06-22 10:57:00 · 628 阅读 · 0 评论 -
添加U-Boot命令
U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在include/command.h头文件中定义,每一个命令定义一个cmd_tbl_t结构体。 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,hel原创 2011-06-22 09:58:00 · 348 阅读 · 0 评论 -
顶层目录下的Makefile
它负责U-Boot整体配置编译。按照配置的顺序阅读其中关键的几行。每一种开发板在Makefile都需要有板子配置的定义。例如smdk2410开发板的定义如下。smdk2410_config : unconfig @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0执行配置U-Boot的命令make smd原创 2011-06-22 09:55:00 · 557 阅读 · 0 评论 -
开发板配置头文件
除了编译过程Makefile以外,还要在程序中为开发板定义配置选项或者参数。这个头文件是include/configs/.h。用相应的BOARD定义代替。这个头文件中主要定义了两类变量。一类是选项,前缀是CONFIG_,用来选择处理器、设备接口、命令、属性等。例如: #define CONFIG_ARM920T 1#define CONFIG_DRIVER_原创 2011-06-22 09:56:00 · 546 阅读 · 0 评论 -
U-Boot顶层目录MKconfig解析
#!/bin/sh -e# Script to create header files and links to configure# U-Boot for a specific board.## Parameters: Target Architecture原创 2011-08-08 20:54:31 · 682 阅读 · 0 评论