资源简介
解决了“nand read from offset xxx failed -74”这个经典问题,主要是支持了SLC nand,不过也并不是十全十美,下载功能还有待完善。
代码片段和文件信息
/*
* (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 =
相关资源
- wr720n v4固件合集-openwrt-uboot-官方原固
- u-boot-2014.10.tar.bz2 for TQ3358
- 详细Smart210 uboot移植手册
-
TP-li
nk 941n v6原厂固件Web直刷不死u - PXA270 uboot 源码.rar
- u-boot-2012.10移植全记录基于s3c2440
- u-boot2017.01启动过程分析.pdf
- ZYNQ开发全过程概览
-
rali
nk.bin(hg255d网页刷uboot所需固件 - 深入了解uboot
- petalinux编译uboot、kernel、rootfs方法
- linux系统移植嵌入式linux系统:内核、
- 路由器最后所有的不死UBOOT。150427版。
- FS4412系统移植uboot移植实验代码
- Tiny6410 mlc2 uboot
- 支持tiny4412-1506的uboot
- uboot_tiny4412_0929.tar.gz
- u-boot-2017.07移植到s5pv210教程(含对应
- wndr3800(ch)刷不死uboot,解锁boot区分
- TP-WR720N 路由器固件 大合集共14个 op
- uboot for mini2440
- TIny4412 uboot
- tiny6410 uboot代码145866
- itop4412 UBOOT源代码
- Smart210常用资料
- tiny6410 uboot代码
- uboot代码详细分析完整88页版.pdf
- 嵌入式Linux软硬件开发详解 基于S5PV
- 史上最详细最全面的uboot启动过程分析
- Uboot-1.1.2 for PXA270源码分析.pdf
评论
共有 条评论