一、移植环境
主 机:VMWare--Fedora 9
开发板:Mini2440--64MB Nand,Kernel:2.6.30.4
编译器:arm-linux-gcc-4.3.2.tgz
u-boot:u-boot-2009.08.tar.bz2
二、移植步骤
4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)。
通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。u-boot中默认是从Nor Flash启动,再从上一节这个运行结果图中看,还发现几个问题:第一,我开发板的Nor Flash是2M的,而这里显示的是512kB;第二,出现Warning - bad CRC, using default environment的警告信息。不是u-boot默认是从Nor Flash启动的吗?为什么会有这些错误信息呢?这是因为我们还没有添加对我们自己的Nor Flash的支持,u-boot默认的是其他型号的Nor Flash,而我们的Nor Flash的型号是SST39VF1601。另外怎样将命令行提示符前面的SMDK2410变成我自己定义的呢?
下面我们一一来解决这些问题,让u-boot完全对我们Nor Flash的支持。首先我们修改头文件代码如下:
#gedit include/configs/my2440.h //修改命令行前的名字和Nor Flash参数部分的定义 |
#define CONFIG_SYS_PROMPT "[MY2440]#" //将命令行前的名字改成[MY2440]
/*----------------------------------------------------------------------- |
然后添加对我们mini2440开发板上2M的Nor Flash(型号为SST39VF1601)的支持。在u-boot中对Nor Flash的操作分别有初始化、擦除和写入,所以我们主要修改与硬件密切相关的三个函数flash_init、flash_erase、write_hword,修改代码如下:
#gedit board/samsung/my2440/flash.c |
//修改定义部分如下: //#define MAIN_SECT_SIZE 0x10000
//修改flash_init函数如下:
//修改flash_print_info函数如下: case (AMD_MANUFACT & FLASH_VENDMASK):
//修改flash_erase函数如下:
//修改write_hword函数如下:
[1] [2]
关键字:uboot s3c2440 移植
引用地址:uboot在s3c2440上的移植(2)
声明:本文内容及配图由平台用户或入驻媒体撰写。文章观点仅代表作者本人,不代表EEWorld网站立场。文章及其配图仅供工程师学习之用,如有内容侵权或违规,请联系本站处理,邮箱地址:bbs_service@eeworld.com.cn
上一篇:ARM特殊寄存器定义详解——#define A (* (volatile unsigned long *) 0x48000000
0
推荐阅读最新更新时间:2024-07-18 10:22
对S3C2440片上总线(AMBA)的一点理解
最近一直在深入的了解S3c2440的AMBA总线,进展缓慢,大部分时间花在了论文开题上,只能挤出一点时间来搞嵌入式。用了一年的钥匙串坏了,挂钩断了,买了一个新的钥匙串。下午在换钥匙串时,一些小钥匙由于孔太小而钥匙环太粗,无法挂上去;指甲剪也也因为孔太小挂不上去;较大的钥匙倒是没有问题。只把把这些小钥匙和指甲钳挂在旧的钥匙环上,然后旧的钥匙环挂在新的钥匙环上。 说了这么多,这和S3C2440的的AMBA总线有什么关系啊??? 先简单介绍一下AMBA总线规范。ARM公司定义了AMBA(Advanced Microcontroller Bus Architecture)总线规范,它是一组针对基于ARM核的、片上系
[单片机]
对S3C2440裸板程序设计(无操作系统)的抽象
在嵌入式领域中,几乎所有的设备控制和各种协议控制都在同一个嵌入式CPU当中,非常有利于对CPU Core和设备进行抽象。如果能对CPU Core和设备的各种控制进行抽象,人们在移植OS或者开发驱动程序时就没有必要对CPU进行非常深入的了解,不必要了解某个寄存器的某个位是控制什么的,也没有必要了解怎样初始化某个控制寄存器等等。 在利用控制器编写裸板应用程序时,编程人员只需要了解该控制器的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成应用程序。显然可以大大的提高工作效率,并且对于硬件的具体细节设置是在应用程序中最容易出错的地方,而利用控制器则可以大大的减少出错的可能性。 ARM是功能更加强大的单
[单片机]
RT-Thread在Lan8720a和 lwip基础上移植ntp流程
开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2。以RT-Thread中Lan8720和lwip协议栈的使用文章创建的工程为基础。 新建ntptest.c测试文件,移植以上参考的ntp代码,整理后如下: #include #include #define SERVER_IP 114.67.237.130 #define SERVER_PORT 123 #define TIMEOUT 10 //宏定义 #define NTP_TIMESTAMP_DELTA 2208988800ull //number of seconds between 1900 an
[单片机]
RISC-V移植安卓12.0再进一步:阿里平头哥首次实现AI支持
自去年10月玄铁C910成功兼容安卓系统后,RISC-V与安卓生态的打通再度取得重要进展。北京时间4月20日,在全球芯片联盟(CHIPS Alliance)春季会议上,阿里平头哥公布RISC-V兼容安卓12.0的新进展:玄铁C910上成功运行TensorFlow Lite,首次实现RISC-V在安卓新系统上的AI支持;同时,平头哥集成多项第三方关键组件,为广大RISC-V集成商和开发者成功打样。 (图说:平头哥公布RISC-V兼容安卓12.0最新进展) RISC-V是新兴的CPU指令集架构,安卓(Android)是全球使用最广泛的操作系统之一,两者的深度融合被业界寄予厚望,是极具前瞻性的研究方向,技术挑战很大。此前,平头哥
[嵌入式]
为什么微软三星都要移植应用到iOS上
本文来自太平洋电脑网 一直以来,软件应用都是智能手机上最值得关注的点。得益于远超网页端的用户体验,软件应用已然成为了真正的互联网接入端口。可以说,消费者在软件方面的体验,往往会决定消费者对于其使用的智能手机的看法。
当然,我们所说的体验,一方面是指手机应用能否在智能机上稳定高效的运行。另一方面,就是指智能手机厂商是否在手机上提供独家应用,给消费者独到的体 验。事实上,随着智能手机在硬件性能上无法拉开较大的差距,软件应用大多能保证高效平稳的运行。由此,是否拥有独家应用,已然成为了判定各家手机产品优劣 高低的一个重要标志。
近期,微软为 iOS 平台开发了一款输入法应用,引起了各路科技媒体以及数码爱好者的
[手机便携]
将应用从串行接口移植到USB接口的简便方法
由于可以获得很多支持USB的微控制器和接口器件,所以对嵌入式应用设计工程师而言,没有COM端口并不会带来障碍。选择正确的工具和软件解决方案提供了一条转移到USB的捷径。 硬件补丁程序 对那些需要为基于串行端口的老项目提出快速解决方案的设计工程师来说,最先有吸引力的策略是采用一种补丁系统。 这可通过在嵌入式控制器串行接口与PC机USB连接器之间增加一个定制的USB-UART转换器来实现(图1)。 这些器件通常配有支持各种操作系统的定制驱动程序,完全可以仿真一个标准的串行端口。 图1:与采用大部分USB-UART接口器件相比,兼容USB接口的MCU单芯片解决方案具有更高的性能和更低的成本。 该方法意味着需要重新设计嵌
[单片机]
ARM_S3C2440中断分析
1.什么是中断 所谓中断,是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的中断程序中去,服务完毕,再返回去执行刚才被中断的程序。 2.什么是中断优先级 中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CPU能够按照预定的顺序(如:按事件的轻重缓急处理)进行响应并处理。 3.什么是中断嵌套 中断嵌套是指当CPU正在处理某个中断源即正在执行中断服务程序时,会出现优先级更高的中断源申请中断,为了使更急的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理更
[单片机]
总结一些在LwIP移植的时候体会
在LwIP移植的时候,一开始遇到很多坑,在大家的帮助下都调通了,现在回头看看,总结了一些体会,和大家分享一下: 1. 对RT-Thread的体系结构不熟悉,特别是设备驱动层这块,如果不理解,很可能会出现如下情况: 这是没有添加I2C底层驱动的原因。当时的情况是这样的,我在menuconfig配置环境中,Device Drivers子条目下,打开了I2C的驱动,如下图所示: 我单纯的以为这样就行了,还天真的想着RT-THread真贴心,啥都做好了,唉!Too young too simple! 这个只是做好了I2C设备(总线)的抽象层(BUS层),供应用层调用,跟linux的设备驱动体系类似,这样做的好处在于能统一设备
[单片机]
猜您喜欢
更多
小广播
添点儿料... 无论热点新闻、行业分析、技术干货…… 发布文章
推荐内容
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
换一换
更多
相关热搜器件
更多热门文章
更多每日新闻
更多往期活动
厂商技术中心
TI 技术论坛 TI 在线培训 Qorvo 射频技术研习社
随便看看
|