第一范文网 - 专业文章范例文档资料分享平台

U-BOOT源码分析及移植(6)

来源:用户分享 时间:2021-06-02 本文由邂逅黄昏 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

U-BOOT源码分析及移植

从这里我可以这么认为,u-boot工程可配置性和移植性可以分为两层:

一是由makefile来实现,配置工程要包含的文件和文件夹上,用什么编译器。

二是由目标板的配置头文件来实现源码级的可配置性,通用性。主要使用的是#ifdef #else #endif 之类来实现的。

4、smkd2410其余重要的文件:

include/s3c24x0.h 定义了s3x24x0芯片的各个特殊功能寄存器(SFR)的地址。 cpu/arm920t/start.s 在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,然后跳到lib_arm/board.c中的start_armboot中去执行。

lib_arm/board.c u-boot的初始化流程,尤其是u-boot用到的全局数据结构gd,bd的初始化,以及设备和控制台的初始化。

board/smdk2410/flash.c 在board目录下代码的都是严重依赖目标板,对于不同的CPU,SOC,ARCH,u-boot都有相对通用的代码,但是板子构成却是多样的,主要是内存地址,flash型号,外围芯片如网络。对fs2410来说,主要考虑从smdk2410板来移植,差别主要在nor flash上面。

二、u-boot的流程、主要的数据结构、内存分配

1、u-boot的启动流程:

从文件层面上看主要流程是在两个文件中:cpu/arm920t/start.s,lib_arm/board.c,

1)start.s

在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,然后跳到lib_arm/board.c中的start_armboot中去执行。

1.1.6版本的start.s流程:

进入svc模式;关闭watch dog;屏蔽所有IRQ掩码;设置时钟频率FCLK、HCLK、PCLK;清I/D cache;禁止MMU和CACHE;配置memory control;

如果当前代码不在连接指定的地址上(对smdk2410是0x3f000000)则需要把u-boot从当前位置拷贝到RAM指定位置中;

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育U-BOOT源码分析及移植(6)全文阅读和word下载服务。

U-BOOT源码分析及移植(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1203617.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top