单片机
返回首页

uboot移植

2024-09-30 来源:cnblogs

总体分析:你的目的是什么?

你的计划是什么?

你会碰到什么问题?

你怎么解决的问题?

你今天做了该做的事情了吗?

你今天能把该做的事情做完吗?

修改注意事项有什么?

注意:Toodir中的Makefile中的路径nand_spl/board/samsung/smdk6410未作更改

         出现nand BUG测检查nand_spl/board/samsung/oko6410下面的config.mk

你对S3C6410的了解到了什么程度?

给数据手册制作书签,方便查询……一个一个找太累了!!!

调试技巧:将修改的部分做Mark by xcc 方便调试。

启动成功,flash初始化问题。

增加一个任务:移植一个Linux,内核版本暂定为3.1吧。

 

 

第一步:建立开放环境

       碰到的问题:交叉编译环境在AMD平台的虚拟机上面出现硬件编译环境不支持的问题。Arm-linux-gcc:souch file cannot found

       解决办法:自建交叉编译环境

第二步:分析

       实现目标:

本次移植的功能特点包括:

  • 支持Nand Flash读写

  • 支持从Nor/Nand Flash启动

  • 支持CS8900或者DM9000网卡 

  • 支持Yaffs文件系统 

  • 支持USB下载(还未实现)

1,  了解u-boot主要目录结构和启动流程,阅读代码

2,  生成了基本的uboot.bin,烧写到开发板上,测试显示无法正确运行,无法正确初始化硬件

第三步:移植OK6410开发板的步骤

OK6410开发板u-boot的stage1入口点分析。

一般在嵌入式系统软件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。那么我们的my2440开发板u-boot的这个链接文件就是cpu/arm1176s/u-boot.lds,打开该文件部分代码如下

 

制作文件系统分析例图

 u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;

    u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。

    各个部分的流程图如下:

 

 

第三步:开始移植

1,   建立自己的开发板项目并进行测试

 目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有ok6410,所以我们就在这里建立自己的开发板项目。

问题:根据什么修改移植出我所需要的uboot?

答:1,uboot文档,Makefile,config文件

2,   数据手册,更改入口地址,下载地址等

******************************************************************************

**************************用Uboot点亮LED灯,方便uboot的调试**************************

******************************************************************************


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 实用有趣的按钮控制式附加电路

  • 简单方便的逆变器过流保护器

  • 深度剖析RC电路的工作原理

  • 将DHT11温度和湿度传感器与STM32F103C8连接的方法

  • 2瓦迷你音频放大器电路

  • 基于晶体管的2瓦放大器电路图

    相关电子头条文章