总结uboot在FS2410上的移植
来源:互联网 发布:图像形态学 知乎 编辑:程序博客网 时间:2024/05/29 11:01
1、Ubuntu 10.10 发行版
2、u-boot-1.3.1
3、FS2410平台
4、交叉编译器 arm-linux-gnu-gcc (ver:3.4.5)
二、移植步骤
移植的功能特点包括:
1、了解u-boot主要的目录结构和启动流程
u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;
stage1的流程为:系统复位转入u-boot的stage1入口点——>设置异常向量——>设置cpu的速度、时钟频率及终端控制寄存——>初始化内存控制器——>拷贝u-boot的stage2的代码到RAM空间中——>设置堆栈、初始化数据段——>跳转到stage2的c入口点。
u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。
stage2的流程为:c入口点——>初始化Flash设备——>初始化内存——>初始化NAND、显示、网络等设备——>将kernel和根文件系统映射从flash读到ARM中——>设定内存启动参数和调用内核。
2、建立自己的开发板项目并测试编译
目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/smdk2410/目录下就是对三星S3C2410 处理器的支持,但没有FS2410板子的支持,所以我们就在这里建立自己的开发板项目。
3、根据u-boot启动流程图的步骤来分析或者修改u-boot源码
1)fs2410开发板u-boot的stage1入口点分析。
一般在嵌入式系统软件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。那么我们的fs2410开发板u-boot的这个链接文件就是board/fs2410/u-boot.lds。
2)在u-boot中添加对S3C2410一些寄存器的支持、添加中断禁止部分和时钟设置部分。
修改cpu/arm920t/start.S文件,完成U-Boot的重定向。
3)测试编译新建的fs2410开发板项目
好了!修改完毕后我们再重新编译u-boot,然后再烧录到NAND或者NOR FLASH(甚至可以通过仿真器下载到RAM的0x33f80000位置)中运行测试。结果终端有输出信息并且出现类似Shell的命令行,这说明这一部分移植完成。
4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)
- 总结uboot在FS2410上的移植
- MPlayer 在FS2410上的移植过程
- uboot在mini2440上的移植总结
- 2.6.30.4内核在fs2410上的移植
- Fs2410上基于linux触摸屏的移植
- Uboot在不同平台上的移植
- uboot 在utu2440上的移植
- uboot在utut2440上的移植
- uboot在2410上的移植
- uboot在2440上的移植
- Uboot在S3C2440上的移植
- uboot在2440上的移植
- uboot在mini2440上的移植
- uboot在mini2440上的移植
- uboot在2440上的移植
- u-boot1.1.6以及linux和文件系统在fs2410上的移植
- u-boot-1.1.6在FS2410开发板上的移植
- u-boot-1.1.6在FS2410开发板上的移植
- Ruby for Rails 最佳实践十五
- 6: Initialization and Cleanup
- android 状态保存
- NSSet详解
- centos 6.2 安装intel 显卡驱动
- 总结uboot在FS2410上的移植
- 视频网站中的推荐系统
- .net 查找性能瓶颈的利器 ANTS Performance Profiler 使用方法及破解
- OCP-1Z0-053-V12.02-390题
- Ruby for Rails 最佳实践十六
- 最大堆及堆排序的Java实现_world
- PHP与Javascript的两种交互方式
- 搭建eclipse开发quick-cocos2d-x开发环境(转)
- linux dup与dup2