1.本文主要讲解U-boot 在 mini2440-S3C2440 上的移植,用到的版本为
U-boot-2009.11_tekkaman-master,下载地址:
https://download.csdn.net/download/jinanhezhuang/20823342?spm=1001.2014.3001.5501
1.下载官方u-boot:下载地址:
2.用xftp软件将压缩包上传到ubuntu;
3.解压安装包;tar命令
4.建立开发板文件: 我们将在smdk2410基础上移植,为了不破坏原本的代码,在board目录下将smdk2410复制到board下新建的文件夹tekkaman中的mini2440中;将mini2440中的smdk2440.c改名为mini2440.c;
在include文件夹的configs目录下,建立位置文件mini2440.h,可以将include/configs/smdk2410.h的内容直接复制过来;
5.修改顶层Makefile:在U-boot-2009.11_tekkaman-master/Makefile,用指令vim Makefile打开,添加(如果安装了交叉编译工具链这一行可以不加)
6.修改/board/tekkamanninja/mini2440目录下的Makefile文件:
红色部分为改动内容,用vim指令编辑;insert进入编辑模式;esc退出编辑模式;:wq:保存退出;
7.至此,配置交叉编译和开发板配置文件编辑结束,下面测试编译环境;
在在 U-boot 源码的根目录下:执行以下命令;
关键字:U-boot mini2440 S3C2440 移植
引用地址:
U-boot 在 mini2440-S3C2440 上的移植(2)
推荐阅读最新更新时间:2024-10-27 10:21
mini2440 u-boot linux 内核启动,移植较新(Linux3.19)内核至mini2440开发板(一)
s3c24xx-nand s3c2440-nand: Tacls=1, 9ns Twrph0=3 29ns, Twrph1=2 19ns s3c24xx-nand s3c2440-nand: NAND soft ECC nand: device found, Manufacturer ID: 0xec, Chip ID: 0xda nand: Samsung NAND 256MiB 3,3V 8-bit nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 Creating 5 MTD partitions on nand : 0x000000
[单片机]
U-boot移植到mini2440上
本文章中的很多内容参考友善之臂的说明文档《mini2440之U-boot移植详细手册-20100419》,使用的U-boot的版本是u-boot-2010.03 说明:此次移植的目的不是为了制作一个功能强大的U-boot,只是做一个最简单的U_boot。该U-boot能够实现通过串口和电脑通信,可以将环境变量保存在NOR Flash中,通过TFTP服务器将使用NFS根文件系统的内核镜像从电脑拷贝到内存中执行。而且这个U-boot只支持从NOR中启动。 在移植U-Boot之前建议对U-Boot中的源码组织结构有较深的理解,可参考我的另一篇博文Bootloader介绍和Uboot源码结构 移植U-Boot的原则是,先选取与
[单片机]
【嵌入式】从零开始移植U-boot到mini2440(一)——U-boot编译篇
U-boot版本:2020/5/2 编译环境:Ubuntu 16.04 arm-none-eabi-gcc version 4.9.3 20150529 (prerelease) (15:4.9.3+svn231177-1) 运行环境:mini2440(s3c2440,arm920t) 代码仓库:git@github.com:JingyeLi/u-boot_2440.git commit hash:45516b370859b022b9bf2c9fb87318b1fa2d34a3 GitHub上下载最新的u-boot git@github.com:u-boot/u-boot.git 实际上最新的u-boot(好像是从2017年开
[单片机]
【嵌入式】从零开始移植U-boot到mini2440(二)——烧录篇
烧录 相关工具:j-link 软件:j-flash ARM V4.70 在编译成功之后,会生成u-boot.bin在output目录下,这个二进制文件就可以直接用于烧录。 烧录位置的确定方法 烧录的时候,我这里选择直接烧写在NOR中,看S3C2440的SPEC和开发板的原理图(找NOR的CE接口和S3C2440哪个引脚相连),当我们选择从NOR启动的时候,NOR Flash被映射到内存0x0000_0000 ~ 0x0800_0000,也就是说我们直接把bin文件烧录到0地址即可。 这里有一篇写的蛮好的blog,解释了ARM是如何通过NOR和NAND启动的。 https://www.cnblogs.com/aaron
[单片机]
【嵌入式】从零开始移植U-boot到mini2440(四)——C runtime配置篇
设置C运行环境及代码relocate - lib/crt0.S C-runtime startup Code for ARM U-Boot 在CPU完成最基本的初始化之后,我们总不能一直以汇编的方式写代码,此时我们就需要C运行环境。同时其他地方经常会把relocate单独拉出来讲,其实本质上来讲,也是属于创造C运行环境的一部分。 首先我们应该理解,C语言运行对于芯片来讲除了可以稳定,正确地执行指令,还需要什么样的内存环境? 众所周知,内存环境可以分成五段,其中TEXT段,data段在bin文件中,或者说就是在我们写代码的时候已经定义好,BSS段需要有系统初始化,剩下的是堆区和栈区,需要我们启动的时候划分好。 按照这个思路,
[单片机]
从零开始移植U-boot到mini2440(三)——CPU初始化篇
经过前两节的准备,我们现在可以开始肝u-boot的代码了 U-boot版本:2020/5/2 编译环境:Ubuntu 16.04 arm-none-eabi-gcc version 4.9.3 20150529 (prerelease) (15:4.9.3+svn231177-1) 运行环境:mini2440(s3c2440,arm920t) 代码仓库:git@github.com:JingyeLi/u-boot_2440.git https://github.com/JingyeLi/u-boot_2440/tree/v0.1 u-boot.lds 这是一个很容易被人忽略的一个文件,包括我自己,以前一般用keil的时候都是自
[单片机]
友善之臂最新版mini2440学习笔记——u-boot 1.1.6移植(一)
从本文开始,将记录博主在进行u-boot 1.1.6移植过程中遇到的问题。本文将涉及两个问题: 1. u-boot中添加开发板 2. u-boot第一阶段启动代码 1. u-boot中添加开发板 1.1. Makefile更改 1.1.1. 增加反汇编文件输出 Makefile文件中239行,源文件为: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) 更改为: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(obj)u-boot.dis $
[单片机]
mini2440系统移植篇之u-boot分析
1. Bootloader概念 系统上电后,需要一段程序来初始化重要的硬件,有些程序是固化在固件firmwware上的,如PC的BIOS。然后是Bootloader,如PC上的GRUB。对于嵌入式系统来说,一般只有Bootloader,它负责初始化内核运行的硬件环境,如内存,然后调用操作系统内核。一般最终产品它只需要启动内核就足够了,为了方便开发,还可以增强Bootloader功能,比如网络功能,通过网络下载文件,烧写文件到Flash中。 2. 嵌入式系统结构 嵌入式系统一般包含4部分。 1、引导加载程序,包括固化在固件的boot代码(可选)和Bootloader。 2、Linux内核 3、文件系统,包括根文件系统和其他挂载
[单片机]