u-boot2011.12在mini2440上的移植2

发布者:美丽花朵最新更新时间:2022-07-26 来源: csdn关键字:u-boot  mini244  移植 手机看文章 扫描二维码
随时随地手机看文章

u-boot2011.12在mini2440上的移植1中的错误,经查看源代码后发现时开始NOR Flash支持时引起的,考虑到不需要NOR Flash支持,故去掉NOR FLASH支持。


1.  mini2440.h中,添加宏定义

#define CONFIG_SYS_NO_FLASH

用于关闭NOR FLASH


将上次注释掉的#define CONFIG_CMD_NAND打开并在其后添加#define CONFIG_CMD_SAVEENV

修改Flash配置为

#if 0

#define CONFIG_SYS_FLASH_CFI

#define CONFIG_FLASH_CFI_DRIVER

#define CONFIG_FLASH_CFI_LEGACY

#define CONFIG_SYS_FLASH_LEGACY_512Kx16

#define CONFIG_FLASH_SHOW_PROGRESS    45


#define CONFIG_SYS_MAX_FLASH_BANKS    1

#define CONFIG_SYS_FLASH_BANKS_LIST     { CONFIG_SYS_FLASH_BASE }

#define CONFIG_SYS_MAX_FLASH_SECT    (19)


#define CONFIG_ENV_ADDR            (CONFIG_SYS_FLASH_BASE + 0x070000)

#define CONFIG_ENV_IS_IN_FLASH

#define CONFIG_ENV_SIZE            0x10000

#else

#define CONFIG_ENV_IS_IN_NAND  1  

#define CONFIG_ENV_OFFSET      0x30000 //将环境变量保存到nand中的0x30000位置  

#define CONFIG_ENV_SIZE        0x10000 /* Total Size of Environment Sector */  

#endif

用于将ENV设置在NAND中


mini2440.c中,注释掉函数ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)

修改cmd_bootm.c文件

a)把81和82行注释掉,如下:


// abort NOR FLASH  |del by guoyirong 2011.06.25

//#include

//extern flash_info_t flash_info[]; /* info for FLASH chips */


b)把函数int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])整体注释掉,改为如下:


int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]){return (0);}


添加

drivers/mtd/nand/目录下新建s3c2440_nand.c文件实现对NAND FLASH的操作,参考http://blog.csdn.net/reille/article/details/6568761中2.5

编译即可。


运行时可uboot可运行,但NAND仍有bug

关键字:u-boot  mini244  移植 引用地址:u-boot2011.12在mini2440上的移植2

上一篇:u-boot2011.12在mini2440上的移植1
下一篇:u-boot-2009.08在mini2440上的移植 增加yaffs2文件系统

推荐阅读最新更新时间:2024-11-01 10:43

PPCBoot在MPC8250上的移植方法
1 引言   Boodoader(引导加载程序)是CPU复位后和进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡,为操作系统提供基本的运行环境,如初始化CPU、堆栈、存储器系统等。Bootloader代码与CPU的内核结构、具体型号等因素有关,其功能类似于通用PC的BOIS程序。除了依赖CPU的体系结构外,Bootloader实际上还依赖于具体的嵌入式板级设备的配置。也就是说,对于二块不同的嵌入式板,即使它们使用相同的CPU构建,要想让运行在其中一块板上的Bootloader程序也能运行在另一块板上,通常也都需要修改Boofloader的源程序。因此,在嵌入式系统的开发中不可能有通用的Bootloader
[嵌入式]
μC/OS-II在凌阳单片机SPCE061A上的移植
摘要:以凌阳单片机为例详细介绍μC/OS-II的移植方法;重点讲解在系统移植过程中一些难以理解的概念,并首次实现了μC/OS-II在凌阳SPCE061A单片机上的移植。 关键词:μC/OS-II 凌阳单片机 嵌入式系统   目前,实时操作系统已广泛应用于工业控制的各个领域。μC/OS-II作为一个实时内核,由于其源码公开、代码规范,广受开发人员的喜爱。SPCE061A是凌阳公司继μ’nSPTM系列产品SPCE500A等之后新推出的一款16位单片机,内部集成A/D、D/A等多种接口电路,能很方便地嵌入工业控制的各种场合。更重要的是,其内嵌2K字的SRAM和32K的Flash ROM,因此,在不需要扩展外部存储器的情况下就可以实现
[嵌入式]
基于DE2的开源片上系统Freedom E310移植
引言:伯克利大学于2014年发布了开源指令集架构RISC-V,其目标是成为指令集架构领域的Linux,应用覆盖IoT(Internet of Things)设备、桌面计算机、高性能计算机等众多领域[1]。RISC-V自发布以来受到多方关注和参与,围绕RISC-V的生态环境逐渐完善,并涌现了众多开源处理器及SoC(System on Chip)采用RISC-V架构,其中Rocket-Chip就是由伯克利大学发布的基于RISC-V的可配置SoC,通过配置不同的参数可以得到不同性能、应用不同场合的SoC。RISC-V的迅速发展还激励其设计人员成立了SiFive公司,专注于定制化SoC设计,其产品线包括如下: (1)开源处理器核Cor
[嵌入式]
基于S3C2410A的嵌入式系统的U-Boot移植
0 引 言 ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片更是以其低价格、低功耗、高性能在手持设备中占据着重要市场。在嵌入式操作系统中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁减性更是一支独放。在嵌入式系统中,如何实现在ARM9平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。 1 嵌入式系统的软件组成 1.1 系统的软件组成 嵌入式的软件系统主要由Bootloader、操作系统、文件系统、应用程序等组成。其中,Bootloader是介于硬件和操作系统之间的一层,其作用就好像PC机中的BIOS。系统加电运
[单片机]
基于S3C2410A的嵌入式系统的<font color='red'>U-Boot</font><font color='red'>移植</font>
几步实现stm32上面移植mqtt
最近项目需要,stm32上面使用到mqtt了,百度了下,发现网上资料还是挺少的,虽然有几份相关的资料,下载下来之后,看到了mqtt的底层代码竟然还有错误,这个问题导致了我后面一直调试不通,后来,我直接从官方下载了mqtt的源码用比较器比较后找到了原因,最后果断将官方的mqtt底层代码移植上来,mqtt的发布还是比较顺利,订阅虽然可以收到消息,但是由于没有移植os,发布消息时,订阅接受有时无法收到消息,这个还在优化,我使用的是stm32f103c8t6平台+w5500.其实只要带以太网接口就行。 首先我们从mqtt官方下载源码 http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.e
[单片机]
uClinux在嵌入式系统中的移植研究
1 引言 uClinux作为Linux衍生操作系统,具有支持多任务、内核精简、高效、稳定和源代码开放等优点,专门应用于无MMU微处理器的嵌入式系统 。将uClinux应用于嵌入式系统已经成为许多嵌入式开发人员的选择。本文针对基于三星公司生产的ARM系列微处理器S3C44B0的硬件平台,详细论述移植uClinux 的过程,主要包括BootLoader的设计, uClinux内核的修改,交叉编译环境的建立,uClinux内核的配置,编译及连接,映像文件的下载及运行。 2 硬件环境 硬件平台以S3C44B0为核心,采用的外部晶振频率为10MHz,内核主频最高可达到64MHz;通过RS232接口与上位机通讯;外接JTAG
[嵌入式]
移植ds18b20到stm32f103遇到的问题
之前在AVR单片机上用过DS18B20温度传感器,现在需要在STM32F103平台下使用,就直接在原先的代码基础上做了相应修改,调试时遇到的问题是测量值总是显示127.9375(读取的温度数据为0x7fff),用示波器看波形也没有发现问题,以为是18B20出问题了,又回到AVR下测试,结果正常。后来发现,不同之处在于供电:AVR用的5V,而STM32是3.3V。把18B20的供电电压换成5V就能正常工作了。又测试了18B20用3.3V供电,DQ脚5V上拉,测量数据还是不对,而且与上拉电阻值无关。数据手册上明明写的供电电压3~5.5V,难道是管子的问题? 总结一下STM32与AVR单片机在使用DS18B20的区别。 1
[单片机]
μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植
引 言     目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。     μC/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。μCOS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植μCOS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved