【原创】u-boot移植-->连载一

STM32MP157系列教程连载-Linux系统移植篇1:STM32MP1微处理器之源码编译 STM32MP157系列教程连载-Linux系统移植篇1:STM32MP1微处理器之源码编译 系统移植前说明 关于命令行提示符: 在实验步骤中会涉及到执行命令的操作,为区分操作是在Ubuntu上完成还是在开发板上完成,不同操作会有不同的提示符: Ubuntu操作时命令行提示符为:linux@ubuntu:$ 开发板Linux系统下操作时命令行提示符为:root@fsmp1a:$ 开发板u-boot期间操作是命令行提示符为:STM32MP> 注意:由于部分操作需要进入特定目录下完成,导致命令行提示符较长 阅读详情

uboot移植参考说明:

       该移植有部分移植参考互联网资源,如有侵权,请与我联系。大部分为自己原创,如有转载请注明出处,该技术仅供学习交流,不可商用。------小盒子  于哈尔滨2008年12月13日整理

1 U-Boot简介
       U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11月PPCBOOT改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。

选择U-Boot的理由:

  ① 开放源码;
  ② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS;
  ③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale;
  ④ 较高的可靠性和稳定性;
  ④ 较高的可靠性和稳定性;
  ⑤ 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等;
  ⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;
  ⑦ 较为丰富的开发调试文档与强大的网络技术支持;

2 U-Boot主要目录结构

board 目标板相关文件,主要包含SDRAM、FLASH驱动;
common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;
cpu 与处理器相关的文件。如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件;
driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好)
doc U-Boot的说明文档;
examples可在U-Boot下运行的示例程序;如hello_world.c,timer.c;
include U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件;
lib_xxx 处理器体系相关的文件,如lib_ppc, lib_arm目录分别包含与PowerPC、ARM体系结构相关的文件;
net 与网络功能相关的文件目录,如bootp,nfs,tftp;
post 上电自检文件目录。尚有待于进一步完善;
rtc RTC驱动程序;
tools 用于创建U-Boot S-RECORD和BIN镜像文件的工具;
3 U-Boot支持的主要功能

U-Boot可支持的主要功能列表

系统引导 支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统
支持NFS挂载、从FLASH中引导压缩或非压缩系统内核;
基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤其对Linux支持最为强劲;
支持目标板环境参数多种存储方式,如FLASH、NVRAM、EEPROM;
CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好;
设备驱动 串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC等驱动支持;
上电自检功能 SDRAM、FLASH大小自动检测;SDRAM故障检测;CPU型号;
特殊功能 XIP内核引导;

好了废话就少说了,直接进入主题

1.下载最新版本的u-boot:
ftp://ftp.denx.de/pub/u-boot/
u-boot 手册:http://www.denx.de/wiki/DULG/Manual

2.安装编译工具cross-3.3.2.tar.bz2
#tar –xjvf cross-3.3.2.tar.bz2
将解压缩的文件夹3.3.2 copy到/usr/local/arm/下

3.修改文件脚本文件
#cd /etc
#vim bashrc
在文件最后添加以下语句
PATH=/usr/local/arm/3.3.2/bin:”${PATH}”
保存退出
退出当前用户重新登陆即可
查看是否修改成功
#echo $PATH
或
修改uboot的Makefile文件,详细修改参考第5小结

4.在linux下面解压缩uboot
#tar –xjvf u-boot-1.1.4.tar.bz2   //解压缩

5.修改Makefile文件
#cd u-boot-1.1.4
#vi Makefile

ifeq ($(ARCH),arm)
CROSS_COMPILE := /usr/local/arm/3.3.2/bin/arm-linux-
endif
如果你修改了此处就不需要执行第三节的设置了。

5.首先随便找一个SOC芯片编译一下
 make distclean
 make smdk2410_config
 make
看看是否能通过。如果这里你都编译不过,你就别继续往下看了,还是检查你的交叉编译器或是源码吧。。。。。。

请关注《【原创】u-boot移植-->连载二》

UniApp 与 Taro 深度解析:如何根据项目需求选择最佳跨平台框架? 本文深度对比了UniApp和Taro两大主流跨平台开发框架。UniApp基于Vue生态,提供开箱即用的高效开发体验,尤其适合快速覆盖多端小程序;Taro则根植React范式,架构灵活,便于与现有React生态集成,更适合对性能和原生体验有高要求的复杂项目。文章结合团队技术栈、项目类型及性能需求,为开发者提供了清晰的选型指南。 阅读详情

相关推荐

MFC 修改CheckBox的文本颜色方法

设置主题 这一步是必须的,不可省略。 BOOL CMFCApplication1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 // 设置主题 HWND

Kim的博客 2249

【原创】u-boot移植-->连载二

uboot移植参考说明:        该移植有部分移植参考互联网资源,如有侵权,请与我联系。大部分为自己原创,如有转载请注明出处,该技术仅供学习交流,不可商用。------小盒子  于哈尔滨2008年12月22日整理 6. 打开board文件夹新建一个处理器文件名    Ex:mkdir hyt24x0    分别从SDMK2410下拷贝以下几个文件到该目录    config.mk \ f...

SmallBox00的博客 211

工控机RS485通讯实战:DB9接线与BIOS配置避坑指南

工业现场的数据采集离不开可靠的串行通讯,RS485凭借差分信号传输、抗干扰能力强、传输距离远等特性,成为连接电表、变频器、PLC等设备的主流总线标准。实际部署中,DB9接口的针脚定义、A/B线序、终端电阻匹配以及工控机BIOS中的串口模式切换,往往决定了整个通讯链路能否稳定运行。任何环节的疏漏,例如线序接反、地电位偏差或模式未正确设置为RS485,都会导致乱码、掉线甚至设备损坏。本文从RS485通讯原理出发,结合研华工控机的DB9接线实操与Super IO配置细节,梳理出一套从物理层到系统层的完整排查路径,

weixin_29196315的博客 283

【原创】u-boot移植-->连载四

uboot移植参考说明:       该移植有部分移植参考互联网资源,如有侵权,请与我联系。大部分为自己原创,如有转载请注明出处,该技术仅供学习交流,不可商用。------小盒子  于哈尔滨2009年03月16日整理11.修改cpu/arm920t/start.S文件 #if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || d...

SmallBox00的博客 194

如何理解反步法设计控制器?

假设以二阶系统为例,被控对象的系统状态方程为: 基于反步控制的具体方法如下: 1.1步骤一 定义期望状态为xd,状态误差e1,为: e1=x1-xd; 则e1的导数为: 1.2步骤二 定义虚拟控制量为: e2定义为: 1.3步骤三 定义Lyapunov能量函数为: 1.4步骤四 定义总Lyapunov能量函数为: 因此设计的控制律为: 设计c>0,则: 满足Lyapunov的稳定性判定条件...

weixin_42736130的博客 2万+

用C#完成最小二乘法拟合平面方程,再计算点到面的距离

【代码】用C#完成最小二乘法拟合平面方程,再计算点到面的距离。

MechMaster 649

【正点原子FPGA连载】第十二章U-Boot移植 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html上一章节我们讲解了uboot的使用,对uboot有了一个初步的了解。前两章我们都是使用的正点原子提供的uboot,本章我们就来学习如何将Xilinx官方的uboot移植到正点原子的ZYNQ MPSoC开发板上,学习如何在ub

weixin_55796564的博客 1247

DLPFC.h5ad格式数据简便获取方式+STAGATE论文复现问题

简便获取DLPFC.h5ad格式的数据方式

apple_74057836的博客 2257

【原创】u-boot移植-->连载三

uboot移植参考说明:        该移植有部分移植参考互联网资源,如有侵权,请与我联系。大部分为自己原创,如有转载请注明出处,该技术仅供学习交流,不可商用。------小盒子  于哈尔滨2009年03月10日整理 这里介绍一下有关编译器的问题,如果你使用的交叉编译器版本不是3.4.1,你可以跳过此节。注意使用3.3.2版本的也需要看一下,后面有一个小地方需要修改一下。 如果你使用的是3...

SmallBox00的博客 204

MTK手机传感器驱动开发避坑指南:从SCP代码大小限制到Overlay加载流程详解

本文详细解析了MTK平台传感器驱动开发中的常见问题,包括SCP代码大小限制、Overlay加载流程及客制化传感器集成。通过实战案例和优化策略,帮助开发者高效解决MTK传感器驱动开发中的技术难题,提升开发效率。

weixin_42522374的博客 402

3.38 工业缺陷检测实战:物体表面缺陷检测,从图像处理到深度学习

本文介绍了工业缺陷检测的完整流程,从传统图像处理到深度学习方法。首先定义了缺陷检测任务的目标和应用场景,然后详细讲解了传统图像处理方法(边缘检测、阈值分割等)和深度学习方法(分类、检测、分割模型)。文章最后总结了核心要点,提出了思考题和实践建议,建议从简单方法开始逐步优化。下一篇将介绍工业视觉基础技术——相机标定与角点检测。

yonggeit的博客 2890

【原创】u-boot移植-->连载五

uboot移植参考说明:       该移植有部分移植参考互联网资源,如有侵权,请与我联系。大部分为自己原创,如有转载请注明出处,该技术仅供学习交流,不可商用。------小盒子  于哈尔滨2009年05月08日整理12.在board/hyt24x0/文件夹下新建一个.c文件<read_nand.c> 文件内容如下:   /* *****************...

SmallBox00的博客 173

向华为学习——解读99页华为战略解码【附全文阅读】

摘要:本方案针对企业战略落地难题,系统介绍华为战略解码方法论。内容涵盖BLM模型等核心工具,聚焦差距分析、市场洞察等关键环节,详细拆解战略到KPI、PBC的落地路径,配套组织保障和执行督导体系。适用于高管及战略规划人员,提供从战略制定到执行的全流程解决方案,帮助企业实现战略与执行的高效协同。

cdfunlove的博客 331

STM32MP157系列教程连载-Linux系统移植篇4:STM32MP1微处理器之Bootloader移植

STM32MP157系列教程连载-Linux系统移植篇4:STM32MP1微处理器之Bootloader移植 第 1 章 BootLoader(Uboot)移植 1.1 实验原理 1.1.1 概念 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射图的功能,从而将系统的软硬件环境带到一个合适的状态,为最终调用系统内核做好准备。 通常,Bootloader是严重地依赖于硬件实现的,特别是在嵌入式中

stm_fpga的博客 3209

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

u 打造便携式linux 盘_【正点原子FPGA连载】第十四章U-Boot移植-领航者ZYNQ之linux开发指南...

1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html4)对正点原子FPGA感兴趣的同学可以加群讨论:8767449005)关注正点原子...

weixin_33783273的博客 1188

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【正点原子Linux连载】第三十三章 U-Boot移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html 3)对正点原子Linux感兴趣的同学可以加群讨论:935446741 4)关注正点原子公众号,获取最新资料更新 第三十三章 U-Boot移植 上一章节我们详细的分析了uboot的启动流程,对uboot有了一个初步的了解

weixin_55796564的博客 2063

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【正点原子FPGA连载】第十一章U-Boot使用实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

对于计算机系统而言,从开机上电到操作系统启动需要一个引导过程,这个引导过程由引导程序指定。引导程序是系统加电启动运行的第一段软件代码。在PC体系结构中,引导程序由主板上的BlOS和位于硬盘MBR中的启动代码组成。系统上电后,首先运行BlOS,在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映像从硬盘读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。

weixin_55796564的博客 2365

zybo 作业板 linux,Zybo全栈开发入门教程——连载二:移植Linux操作系统

作者:Commanderfranz,编译:kenshin这篇文章将向大家介绍向Zynq SoC移植Linux操作系统,具体划分为制作Boot.bin文件、设备树文件、内核镜像以及根文件系统。开始之前需要大家对u-boot、Linux内核以及Git工具具有一定的了解,这样下面的步骤才能够顺利的进行。资源下载:注:相关资料可以在Digilent的GitHub账户上找到(即https://github....

weixin_39531582的博客 774

【正点原子Linux连载】第三十章 U-Boot使用实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html 3)对正点原子Linux感兴趣的同学可以加群讨论:935446741 4)关注正点原子公众号,获取最新资料更新 第三十章 U-Boot使用实验 在移植U-Boot之前,我们肯定要先使用一下U-Boot,得先体验一下U-

weixin_55796564的博客 1699

【正点原子MP157连载】 第十章 U-boot使用-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-318813-1-1.html 4)正点原子官方B站:https://space.bilibili.com/394620890 5)正点原子STM32MP157技术交流群:691905614 第十章 U-boot使用 在移植U-Boot之前

weixin_55796564的博客 2325

zybo上运行linux,Zybo全栈开发入门教程——连载二:移植Linux操作系统

这篇文章将向大家介绍向Zynq SoC移植Linux操作系统,具体划分为制作Boot.bin文件、设备树文件、内核镜像以及根文件系统。开始之前需要大家对u-boot、Linux内核以及Git工具具有一定的了解,这样下面的步骤才能够顺利的进行。资源下载:U-boot:与ZYBO板卡硬件设计相关Linux内核源码根文件系统注:相关资料可以在Digilent的GitHub账户上找到(即https://...

weixin_39581571的博客 238

linux命令 把文件夹拷贝一遍_「正点原子Linux连载」第三十一章U-Boot顶层Makefile详解(一)...

1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更多资料:正点原子第三十一章U-Boot顶层Makefile详解上一章我们详细的讲解了uboot的使用方法,其实就是各种命令的使用,学会uboot使用以后就可以尝试移植uboot到自己的开发板上了,但是在移植之前需要我们得先分析一遍uboot的启动流程源码,得捋一下uboot...

weixin_30819373的博客 717

【正点原子Linux连载】第三十一章 U-Boot顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html 3)对正点原子Linux感兴趣的同学可以加群讨论:935446741 4)关注正点原子公众号,获取最新资料更新 第三十一章 U-Boot顶层Makefile详解 上一章我们详细的讲解了uboot的使用方法,其实就是各种

weixin_55796564的博客 1617

正点原子 潘多拉stlink驱动_「正点原子Linux连载」第三十三章U-Boot移植(二)

1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更多资料:正点原子33.2.7 网络驱动修改1、I.MX6U-ALPHA开发板网络简介I.MX6UL/ULL内部有个以太网MAC外设,也就是ENET,需要外接一个PHY芯片来实现网络通信功能,也就是内部MAC+外部PHY芯片的方案。大家可能听过DM9000这个网络芯片,在一些...

weixin_32019361的博客 800

正点原子 战舰原理图pcb_「正点原子Linux连载」第三十三章U-Boot移植(二)

1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更多资料:正点原子33.2.7 网络驱动修改1、I.MX6U-ALPHA开发板网络简介I.MX6UL/ULL内部有个以太网MAC外设,也就是ENET,需要外接一个PHY芯片来实现网络通信功能,也就是内部MAC+外部PHY芯片的方案。大家可能听过DM9000这个网络芯片,在一些...

weixin_39611208的博客 1330

ARM+LINUX移植攻略 基于TE2440II开发板

努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处 http://blog.youkuaiyun.com/woshixingaaa/archive/2011/02/17/6190896.aspx 完成了在sdram中运行,nor/nand的支持,nand启动,DM9000A,内核移植,文件系统制作,lcd logo,tftp,nfs等。文章连载中,正在不断添加功能。...

tomhibolu 181
上一篇: 【原创】UCOS-ii+LWIP之DHCP功能添加
下一篇: 【原创】u-boot移植-->连载二
SmallBox00
博客等级 码龄20年 61粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值