资源简介
基本功能:
1. SD boot,基于linaro u-boot的SPL功能实现
2. 从SD卡的FAT分区上加载文件到SDRAM
3. 将环境变量保存至SD卡 等
代码片段和文件信息
/*
* (C) Copyright 2007 Semihalf
*
* Written by: Rafal Jaworowski
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not write to the Free Software
* Foundation Inc. 59 Temple Place Suite 330 Boston
* MA 02111-1307 USA
*
*/
#include
#include
#include
#include
#include
#include
#include
#include “api_private.h“
#define DEBUG
#undef DEBUG
/*****************************************************************************
*
* This is the API core.
*
* API_ functions are part of U-Boot code and constitute the lowest level
* calls:
*
* - they know what values they need as arguments
* - their direct return value pertains to the API_ “shell“ itself (0 on
* success some error code otherwise)
* - if the call returns a value it is buried within arguments
*
****************************************************************************/
#ifdef DEBUG
#define debugf(fmt args...) do { printf(“%s(): “ __func__); printf(fmt ##args); } while (0)
#else
#define debugf(fmt args...)
#endif
typedef int (*cfp_t)(va_list argp);
static int calls_no;
/*
* pseudo signature:
*
* int API_getc(int *c)
*/
static int API_getc(va_list ap)
{
int *c;
if ((c = (int *)va_arg(ap u_int32_t)) == NULL)
return API_EINVAL;
*c = getc();
return 0;
}
/*
* pseudo signature:
*
* int API_tstc(int *c)
*/
static int API_tstc(va_list ap)
{
int *t;
if ((t = (int *)va_arg(ap u_int32_t)) == NULL)
return API_EINVAL;
*t = tstc();
return 0;
}
/*
* pseudo signature:
*
* int API_putc(char *ch)
*/
static int API_putc(va_list ap)
{
char *c;
if ((c = (char *)va_arg(ap u_int32_t)) == NULL)
return API_EINVAL;
putc(*c);
return 0;
}
/*
* pseudo signature:
*
* int API_puts(char **s)
*/
static int API_puts(va_list ap)
{
char *s;
if ((s = (char *)va_arg(ap u_int32_t)) == NULL)
return API_EINVAL;
puts(s);
return 0;
}
/*
* pseudo signature:
*
* int API_reset(void)
*/
static int API_reset(va_list ap)
{
do_reset(NULL 0 0 NULL);
/* NOT REACHED */
return 0;
}
/*
* pseudo signature:
*
* int API_get_sys_info(struct sys_info *si)
*
* fill out the sys_info struct containing selected parameters about the
* machine
*/
static int API_get_sys_info(va_list ap)
{
struct sys_info *si;
si =
相关资源
- tiny210-u-boot-version4.0
- tiny210-u-boot-version3.0
- u-boot for tiny210 ver2.2
- AP6010DN-AGN-FAT-V200R005C10SPCa00.zip
- 不拆机更换HG255D的U-BOOT并刷不同版本
- tiny210的替代学习书籍
- 史上最详细最全面的uboot启动过程分析
- mini2440的u-boot.bin 2012.04.01版
- FS4412 sd卡启动u-boot文件
- mini2440裸机实现简易u-boot代码.rar
- 基于S3C2410的u-boot移植步骤
- 嵌入式Linux系统移植开发-1基于Yocto构
- u-boot-ar9341
- u-boot_AR9344 DEMO版本
- mini2440之U-boot移植详细手册-20110908.p
- tiny210-uboot.bin
- 扬创 YC2440-T35B启动u-boot文件
- u-boot.bin_tekkaman_2009.11.bz2
- wr842n_v4改wr841nv9_en4M编程器固件-u-boo
- 支持Yaffs2文件系统的U-Boot的实现
- U-BOOT源码分析及移植
- 不死 U-Boot
- uboot代码详细分析.pdf
- JZ2440 u-boot移植2014-04-14
- u-boot移植手册和uboot代码详细分析和
评论
共有 条评论