主题 : U-BOOT  for Mini6410  移植(大家讨论) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 35597
精华: 1
发帖: 12
金钱: 110 两
威望: 22 点
贡献值: 1 点
综合积分: 44 分
注册时间: 2011-01-04
最后登录: 2012-02-25
楼主  发表于: 2011-03-02 17:43

 U-BOOT  for Mini6410  移植(大家讨论)

管理提醒: 本帖被 xoom 设置为精华(2011-05-31)
U-BOOT  for Mini6410  移植(这个不是我的东西,今天因为比较有空按照http://blog.chinaunix.net/space.php?uid=20543672&do=blog&id=94390里tekkamanninja
的东西写的一个文档,纯粹吃饱饭没事干,这个就是原来作者修改的,我贴出来希望大家对一些改动作些讨论可否?)

这是u-boot-2010.09 针对友善之臂MINI6410移植的最基础版本,只包含了就基本的系统引导,NAND读写,DM9000网卡等等。但是这个足够开发的方便使用。今后会陆续添加原先我为mini2440添加的所有功能。

   但是此次移植并非我的功劳,首先基本的移植是由Alex Ling <kasimling at gmail.com>完成的,你可以在这里看到他提交的补丁,但是编译后无法使用,可能是因为host系统不同,对脚本的解析不同,使得spl部分的生成出现问题,只需修改一下nand_spl目录下目标板目录的中config.mk中的
PAD_TO    := $(shell expr $$[$(TEXT_BASE) + 4096])
即可。

   DM9000的驱动没有太大的问题(修改了一点可能出现问题的地方,感谢肖工指教),但是原本的u-boot并没有调整所有SROM控制器的配置(其中包括连接DM9000所使用的bank1的总线),我使用了友善带的u-boot的参数配置了一下就好了。


一:http://www.icdev.com.cn/batch.viewlink.php?itemid=1694
ftp://ftp.denx.de/pub/u-boot/

去这2个网站随便下载都可以下载得到最新或者你想要的u-boot。现在我将下载u-boot-2010-09,这个也就是最新的版本啦。

下载后把它解压,然后得到u-boot-2010-09的文件夹,然后进去,并且做下面几件事情:
1:进入arch这个文件夹,把出arm外的前部文件夹删掉
2:进入board这个文件夹,把除samsung外前部文件夹删掉
3:进入include/configs,把除smdk6400.h外的所有文件删除。
4: 把顶层目录下有一个叫onenand_ipl的文件夹删除掉,因为没有用到。
5:进入nand_spl/board,把除samsung外全部文件删除掉。
6:再进入arch/arm/cpu文件夹,把除arm1176外其他文件夹删除掉。
7:再进入arch/arm/include/asm文件夹,把除arch-s3c64xx文件外带arch-XX的文件夹删除
8:再进入board/samsung文价夹下,把除smdk6400外其他文价夹删除掉。
至此已经把没用到或者不想见到它的文件夹跟文件删除掉了。爽吧。

二:
1:在顶层的目录下找到Makefile文件,并且打开,因为vi或者vim没用习惯而是改用gedit。
lwf@lwf-desktop:/home/u-boot-2010.12$ sudo gedit Makefile
在这个Makefile你会找到:
#########################################################################
## ARM1176 Systems
#########################################################################
smdk6400_noUSB_config    \
smdk6400_config    :    unconfig
    @mkdir -p $(obj)include $(obj)board/samsung/smdk6400
    @mkdir -p $(obj)nand_spl/board/samsung/smdk6400
    @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
    @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then            \
        echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
    else                                        \
        echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
    fi
    @$(MKCONFIG) smdk6400 arm arm1176 smdk6400 samsung s3c64xx
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
然后我们可以这样为了适用我们的板子的仿照一下上面的写法于是就有这样:



#########################################################################
## ARM1176 Systems
#########################################################################
smdk6400_noUSB_config    \
smdk6400_config    :    unconfig
    @mkdir -p $(obj)include $(obj)board/samsung/smdk6400
    @mkdir -p $(obj)nand_spl/board/samsung/smdk6400
    @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
    @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then            \
        echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
    else                                        \
        echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
    fi
    @$(MKCONFIG) smdk6400 arm arm1176 smdk6400 samsung s3c64xx
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

mini6410_noUSB_config    \
mini6410_config    :    unconfig
    @mkdir -p $(obj)include $(obj)board/samsung/mini6410
    @mkdir -p $(obj)nand_spl/board/samsung/mini6410
    @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
    @if [ -z "$(findstring mini6410_noUSB_config,$@)" ]; then            \
        echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/mini6410/config.tmp;\
    else                                        \
        echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/mini6410/config.tmp;\
    fi
    @$(MKCONFIG) mini6410 arm arm1176 mini6410 samsung s3c64xx
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

上面红色部分则为添加的代码。

四:修改
arch\arm\cpu\arm1176\s3c64xx\cpu_init.S后面添加外设存储的操作
    bne    check_dmc1_ready
    nop

#if defined(CONFIG_MINI6410)
/* ------------------------------------------------------------------------- */
#define SROM_BC1_REG_Tacs     (0x0)   // 0clk         address set-up
#define SROM_BC1_REG_Tcos     (0x4)   // 4clk         chip selection set-up
#define SROM_BC1_REG_Tacc     (0xE)   // 14clk        access cycle
#define SROM_BC1_REG_Tcoh     (0x1)   // 1clk         chip selection hold
#define SROM_BC1_REG_Tah      (0x4)   // 4clk         address holding time
#define SROM_BC1_REG_Tacp     (0x6)   // 6clk         page mode access cycle
#define SROM_BC1_REG_PMC      (0x0)   // normal(1data)page mode configuration

#define SROM_BW_REG_DATA    ((1<<7) | (1<<6) | (1<<4))
#define SROM_BW_REG_BC1        (0xf << 4)
#define SROM_BC1_REG_DATA    ((SROM_BC1_REG_Tacs << 28) | (SROM_BC1_REG_Tcos << 24) | \
                (SROM_BC1_REG_Tacc << 16) | (SROM_BC1_REG_Tcoh << 12) | \
                (SROM_BC1_REG_Tah << 8) | (SROM_BC1_REG_Tacp << 4) | \
                (SROM_BC1_REG_PMC))

    ldr    r0, =ELFIN_SROM_BASE

    ldr    r1, [r0, #SROM_BW_REG_DATA]
    mov    r2, #(~SROM_BW_REG_BC1)
    and    r1, r1, r2
    mov    r2, #SROM_BW_REG_DATA
    orr    r1, r1, r2    
    str    r1, [r0, #INDEX_SROM_BW_REG]

    ldr    r1, =SROM_BC1_REG_DATA
    str    r1, [r0, #INDEX_SROM_BC1_REG]
#endif

    mov    pc, lr

五:arch\arm\cpu\arm1176\s3c64xx\Makefile
修改:
include $(TOPDIR)/config.mk

LIB    = $(obj)lib$(SOC).a

SOBJS    = reset.o

COBJS-$(CONFIG_S3C6400)    += cpu_init.o speed.o
COBJS-$(CONFIG_S3C6410)    += cpu_init.o speed.o
COBJS-y    += timer.o




六:arch\arm\include\asm\arch-s3c64xx\s3c64x0.h


#ifndef __S3C64XX_H__
#define __S3C64XX_H__

#if defined(CONFIG_SYNC_MODE) && (defined(CONFIG_S3C6400) || defined(CONFIG_S3C6410))
#error CONFIG_SYNC_MODE unavailable on S3C6400, please, fix your configuration!
#endif

#include <asm/types.h>

七:arch\arm\include\asm\arch-s3c64xx\s3c6400.h
define ELFIN_SROM_BASE        0x70000000

#define SROM_BW_REG    __REG(ELFIN_SROM_BASE + 0x0)
#define SROM_BC0_REG    __REG(ELFIN_SROM_BASE + 0x4)
#define SROM_BC1_REG    __REG(ELFIN_SROM_BASE + 0x8)
#define SROM_BC2_REG    __REG(ELFIN_SROM_BASE + 0xC)
#define SROM_BC3_REG    __REG(ELFIN_SROM_BASE + 0x10)
#define SROM_BC4_REG    __REG(ELFIN_SROM_BASE + 0x14)
#define SROM_BC5_REG    __REG(ELFIN_SROM_BASE + 0x18)

#define INDEX_SROM_BW_REG    0x0
#define INDEX_SROM_BC0_REG    0x4
#define INDEX_SROM_BC1_REG    0x8
#define INDEX_SROM_BC2_REG    0xC
#define INDEX_SROM_BC3_REG    0x10
#define INDEX_SROM_BC4_REG    0x14
#define INDEX_SROM_BC5_REG    0x18

八:在board\samsung建立Mini6410的文件夹,并且把smdk6400文件里面的所有文件复制过去
board\samsung\mini6410\lowlevel_init.S

_TEXT_BASE:
    .word    TEXT_BASE

    .globl lowlevel_init
lowlevel_init:
    mov    r12, lr


    /* LED on only #8 */
    ldr    r0, =ELFIN_GPIO_BASE
    ldr    r1, =0x55540000
    str    r1, [r0, #GPNCON_OFFSET]

    ldr    r1, =0x55555555
    str    r1, [r0, #GPNPUD_OFFSET]

    ldr    r1, =0xf000
    str    r1, [r0, #GPNDAT_OFFSET]

把这个上面的LED屏蔽掉

在这个添加
wakeup_reset:

    /* Clear wakeup status register */
    ldr    r0, =(ELFIN_CLOCK_POWER_BASE + WAKEUP_STAT_OFFSET)
    ldr    r1, [r0]
    str    r1, [r0]

    /* LED test */
    ldr    r0, =ELFIN_GPIO_BASE
    ldr    r1, =0x3000
    str    r1, [r0, #GPNDAT_OFFSET]

把上面这个红色的屏蔽掉


#if !defined(CONFIG_S3C6400) && !defined(CONFIG_S3C6410)
    ldr    r1, [r0, #OTHERS_OFFSET]
    bic    r1, r1, #0xC0
    orr    r1, r1, #0x40
    str    r1, [r0, #OTHERS_OFFSET]

添加多一个标志定义!defined(CONFIG_S3C6410)

同样下面的也是添加
if defined(CONFIG_SYNC_MODE)
    ldr    r1, [r0, #OTHERS_OFFSET]
    orr    r1, r1, #0x20
    str    r1, [r0, #OTHERS_OFFSET]
#elif !defined(CONFIG_S3C6400) && !defined(CONFIG_S3C6410)
    /* According to 661558um_S3C6400X_rev10.pdf 0x20 is reserved */
    ldr    r1, [r0, #OTHERS_OFFSET]
    bic    r1, r1, #0x20
    str    r1, [r0, #OTHERS_OFFSET]
#endif
    mov    pc, lr


board\samsung\mini6410\Makefile中
include $(TOPDIR)/config.mk

LIB    = $(obj)lib$(BOARD).a

COBJS-y    := mini6410.o
SOBJS    := lowlevel_init.o

board\samsung\mini6410\mini6410.c中把
头文件#include <netdev.h>屏蔽掉
并且屏蔽掉:
#define CS8900_Tacs    0x0    /* 0clk        address set-up        */
#define CS8900_Tcos    0x4    /* 4clk        chip selection set-up    */
#define CS8900_Tacc    0xE    /* 14clk    access cycle        */
#define CS8900_Tcoh    0x1    /* 1clk        chip selection hold    */
#define CS8900_Tah    0x4    /* 4clk        address holding time    */
#define CS8900_Tacp    0x6    /* 6clk        page mode access cycle    */
#define CS8900_PMC    0x0    /* normal(1data)page mode configuration    */

static void cs8900_pre_init(void)
{
    SROM_BW_REG &= ~(0xf << 4);
    SROM_BW_REG |= (1 << 7) | (1 << 6) | (1 << 4);
    SROM_BC1_REG = ((CS8900_Tacs << 28) + (CS8900_Tcos << 24) +
            (CS8900_Tacc << 16) + (CS8900_Tcoh << 12) +
            (CS8900_Tah << 8) + (CS8900_Tacp << 4) + CS8900_PMC);
}


    cs8900_pre_init();

    /* NOR-flash in SROM0 */

    /* Enable WAIT */
    SROM_BW_REG |= 4 | 8 | 1;


int checkboard(void)
{
    printf("Board:   SMDK6400\n");
    return 0;
}
把SMDK6400改成MINI6410

下面红色标记的也是要改成virt_to_phy_mini6410
#ifdef CONFIG_ENABLE_MMU
ulong virt_to_phy_smdk6400(ulong addr)
{
    if ((0xc0000000 <= addr) && (addr < 0xc8000000))
        return addr - 0xc0000000 + 0x50000000;
    else
        printf("do not support this address : %08lx\n", addr);

    return addr;
}
#endif

屏蔽下面这段:
ulong board_flash_get_legacy (ulong base, int banknum, flash_info_t *info)
{
    if (banknum == 0) {    /* non-CFI boot flash */
        info->portwidth = FLASH_CFI_16BIT;
        info->chipwidth = FLASH_CFI_BY16;
        info->interface = FLASH_CFI_X16;
        return 1;
    } else
        return 0;
}


把下面这个
#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bis)
{
    int rc = 0;
#ifdef CONFIG_CS8900
    rc = cs8900_initialize(0, CONFIG_CS8900_BASE);
#endif
    return rc;
}
#endif
改成:
#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bi)
{
    int rc = 0;

#if defined(CONFIG_DRIVER_DM9000)
    rc = dm9000_initialize(bi);
#endif
    return rc;
}
#endif


九:drivers\net\dm9000x.c
        DM9000_ior(DM9000_MRCMDX);    /* Dummy read */

        /* Get most updated data,
           only look at bits 0:1, See application notes DM9000 */
        rxbyte = DM9000_inb(DM9000_DATA) & 0x03;

        //MR. xiao
        #if 1
         u8 temp;
         temp=DM9000_ior(DM9000_MRRH);
         temp=DM9000_ior(DM9000_MRRL);
        #endif    
        //MR. xiao

增加红色的部分

十:drivers\usb\host\ohci-hcd.c 添加下面红色的部分
#if defined(CONFIG_ARM920T) || \
    defined(CONFIG_S3C24X0) || \
    defined(CONFIG_S3C6400) || \
    defined(CONFIG_S3C6410) || \
    defined(CONFIG_440EP) || \
    defined(CONFIG_PCI_OHCI) || \
    defined(CONFIG_MPC5200) || \
    defined(CONFIG_SYS_OHCI_USE_NPS)
# define OHCI_USE_NPS        /* force NoPowerSwitching mode */
#endif

十一:include\configs\mini6410.h
这个mini6410.h,自己建设一个,内容复制copy的就可以了。
然后打开mini6410.h修改如下:

//#define CONFIG_S3C6400        1    /* in a SAMSUNG S3C6400 SoC     */
#define CONFIG_S3C6410        1    /* in a SAMSUNG S3C6410 SoC     */
#define CONFIG_S3C64XX        1    /* in a SAMSUNG S3C64XX Family  */
#define CONFIG_MINI6410        1    /* on a FriendlyARM MINI6410 Board  */
    
*
* Architecture magic and machine type
*/
#define MACH_TYPE        2520    
这个机械ID 我不知道为什么要改成2520 错了 内核是驱动不了的。

把CS89的网卡干掉 换成这样:
/*
* Hardware drivers
*/
#define CONFIG_NET_MULTI               1
#define CONFIG_DRIVER_DM9000        1
#define CONFIG_DM9000_NO_SROM        1
#define CONFIG_DM9000_USE_16BIT        1
#define CONFIG_DM9000_BASE        0x18000300
#define DM9000_IO            CONFIG_DM9000_BASE
#define DM9000_DATA            (CONFIG_DM9000_BASE+4)




#define CONFIG_ETHADDR            08:08:10:12:10:27
#define CONFIG_NETMASK            255.255.255.0
#define CONFIG_IPADDR            192.168.1.253
#define CONFIG_SERVERIP            192.168.1.159
#define CONFIG_GATEWAYIP        192.168.1.1
/*
* select serial console configuration
*/


添加下面的宏(红色部分)
#define CONFIG_CMD_PING
#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2

#undef CONFIG_CMD_IMLS

#define CONFIG_BOOTDELAY    3

/*
* Miscellaneous configurable options
*/
#define CONFIG_SYS_LONGHELP                /* undef to save memory          */
#define CONFIG_SYS_PROMPT        "MINI6410 # "    /* Monitor Command Prompt     */
改成你自己喜欢的提示字符 这里是"MINI6410 # "

**********************************
Support Clock Settings
**********************************
Setting    SYNC    ASYNC
----------------------------------
667_133_66     X      O
533_133_66     O      O
400_133_66     X      O
400_100_50     O      O
**********************************/

#define CONFIG_CLK_667_133_66
/*#define CONFIG_CLK_533_133_66*/
提高主频


把下面的全部删除掉
把#define CONFIG_SYS_FLASH_CFI        1    /* Use CFI parameters (needed?) */
换成#define CONFIG_SYS_NO_FLASH
*-----------------------------------------------------------------------
* FLASH and environment organization
*/
#define CONFIG_SYS_MAX_FLASH_BANKS    1    /* max number of memory banks    */
/* AM29LV160B has 35 sectors, AM29LV800B - 19 */
#define CONFIG_SYS_MAX_FLASH_SECT    40

#define CONFIG_AMD_LV800
#define CONFIG_SYS_FLASH_CFI        1    /* Use CFI parameters (needed?) */
/* Use drivers/cfi_flash.c, even though the flash is not CFI-compliant    */
#define CONFIG_FLASH_CFI_DRIVER    1
#define CONFIG_SYS_FLASH_CFI_WIDTH    FLASH_CFI_16BIT
#define CONFIG_FLASH_CFI_LEGACY
#define CONFIG_SYS_FLASH_LEGACY_512Kx16

/* timeout values are in ticks */
#define CONFIG_SYS_FLASH_ERASE_TOUT    (5 * CONFIG_SYS_HZ) /* Timeout for Flash Erase    */
#define CONFIG_SYS_FLASH_WRITE_TOUT    (5 * CONFIG_SYS_HZ) /* Timeout for Flash Write    */


#define CONFIG_IDENT_STRING    " for SMDK6400" 改成
#define CONFIG_IDENT_STRING    " for MINI6410"

十二:include\common.h
添加如下:
#ifdef CONFIG_4xx
ulong    get_OPB_freq (void);
ulong    get_PCI_freq (void);
#endif
#if defined(CONFIG_S3C24X0) || \
    defined(CONFIG_LH7A40X) || \
    defined(CONFIG_S3C6400) || \
    defined(CONFIG_S3C6410) || \
    defined(CONFIG_EP93XX)
ulong    get_FCLK (void);
ulong    get_HCLK (void);
ulong    get_PCLK (void);
ulong    get_UCLK (void);
#endif

十三:顶层的MAKEALL
#########################################################################
## ARM11 Systems
#########################################################################
LIST_ARM11="            \
    cp1136            \
    omap2420h4        \
    apollon            \
    imx31_litekit        \
    imx31_phycore        \
    imx31_phycore_eet    \
    mx31ads            \
    mx31pdk            \
    mx31pdk_nand        \
    qong            \
    smdk6400        \
    tnetv107x_evm        \
    mini6410        \
"

十四:顶层的MAINTAINERS
Alex Züpke <azu@sysgo.de>

    lart        SA1100
    dnp1110        SA1110

Alex Ling <kasimling at gmail.com>

    MINI6410    ARM1176JZF-S (S3C6410)

十五:
nand_spl\board\samsung\mini6410\config.mk
修改为:
# FriendlyARM MINI6410 development board, based on
# Samsung S3C64xx Reference Platform (smdk6400) board

# TEXT_BASE for SPL:
#
# On S3C64xx platforms the SPL is located in SRAM at 0.
#
# TEXT_BASE = 0

include $(TOPDIR)/board/$(BOARDDIR)/config.mk

# PAD_TO used to generate a 4kByte binary needed for the combined image
# -> PAD_TO = TEXT_BASE + 4096
PAD_TO    := $(shell expr $(TEXT_BASE) + 4096)

ifeq ($(debug),1)
PLATFORM_CPPFLAGS += -DDEBUG
endif





在nand_spl\board\samsung\mini6410这个mini6410是仿照里面的SMDK6400做的内容一样复制然后如下面的修改就可以
nand_spl\board\samsung\mini6410\Makefile中:
# from board directory
$(obj)lowlevel_init.S:
    @rm -f $@
    @ln -s $(TOPDIR)/board/samsung/smdk6400/lowlevel_init.S $@

改为:
# from board directory
$(obj)lowlevel_init.S:
    @rm -f $@
    @ln -s $(TOPDIR)/board/samsung/mini6410/lowlevel_init.S $@
android~!
级别: 新手上路
UID: 26442
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-08-09
最后登录: 2017-09-13
1楼  发表于: 2011-03-09 19:43

 Re:U-BOOT for Mini6410 移植(大家讨论)

你好我也想试下!请问下你有没有成功啊?
级别: 新手上路
UID: 35597
精华: 1
发帖: 12
金钱: 110 两
威望: 22 点
贡献值: 1 点
综合积分: 44 分
注册时间: 2011-01-04
最后登录: 2012-02-25
2楼  发表于: 2011-03-16 09:28

 Re:U-BOOT for Mini6410 移植(大家讨论)

怎么没有成功呢?我现在就在用着
android~!
成功需要改變
级别: 新手上路
UID: 13607
精华: 0
发帖: 31
金钱: 175 两
威望: 35 点
贡献值: 0 点
综合积分: 62 分
注册时间: 2010-01-26
最后登录: 2011-07-18
3楼  发表于: 2011-03-28 16:21

 Re:U-BOOT for Mini6410 移植(大家讨论)

推推推
成功需要改變
菜鸟在路上
级别: 圣骑士
UID: 42749
精华: 6
发帖: 241
金钱: 1530 两
威望: 306 点
贡献值: 6 点
综合积分: 602 分
注册时间: 2011-04-11
最后登录: 2016-07-19
4楼  发表于: 2011-04-15 00:15

 Re:U-BOOT for Mini6410 移植(大家讨论)

好东西,学习学习
级别: 侠客
UID: 19229
精华: 0
发帖: 88
金钱: 455 两
威望: 91 点
贡献值: 0 点
综合积分: 176 分
注册时间: 2010-04-17
最后登录: 2021-10-20
5楼  发表于: 2011-05-10 17:09

 Re:U-BOOT for Mini6410 移植(大家讨论)

不错不错,研究一下,谢谢楼主啦
级别: 新手上路
UID: 45650
精华: 0
发帖: 30
金钱: 160 两
威望: 32 点
贡献值: 0 点
综合积分: 60 分
注册时间: 2011-05-06
最后登录: 2011-06-05
6楼  发表于: 2011-05-19 22:09

 Re:U-BOOT for Mini6410 移植(大家讨论)

楼主,我完全按照你的方法弄的,编译没有什么问题,但是在烧的时候识别不了文件是怎么回事?请说明下,对uboot的移植很头疼,多谢了
级别: 新手上路
UID: 45650
精华: 0
发帖: 30
金钱: 160 两
威望: 32 点
贡献值: 0 点
综合积分: 60 分
注册时间: 2011-05-06
最后登录: 2011-06-05
7楼  发表于: 2011-05-19 22:31

 Re:U-BOOT for Mini6410 移植(大家讨论)

你这个方法编译过后的System.map里的函数都是57e开头的地址,是没有开启MMU吗?楼主确认按照上面的方法一步一步弄的吗?可以用?
级别: 新手上路
UID: 47667
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2011-05-24
最后登录: 2011-10-05
8楼  发表于: 2011-05-28 23:16

 Re:U-BOOT for Mini6410 移植(大家讨论)

学到了。谢谢!!!
h
级别: 新手上路
UID: 48179
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
贡献值: 0 点
综合积分: 26 分
注册时间: 2011-05-28
最后登录: 2017-09-13
9楼  发表于: 2011-06-05 14:17

 Re:U-BOOT  for Mini6410  移植(大家讨论)

这个 对 tiny6410实用么

按照你的介绍
编译没有问题

就是烧到nand里 启动没反映?

请问用在 tiny6410还还要做那些修改 ?