学习主要参考https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide
本次学习需要在Linux系统下进行,Windows下的Embedded_Command_Shell终端不支持。
linux系统版本:unbuntu16.04 64位系统

下载相关工具

交叉编译工具

在这里可以下载交叉编译工具
https://rocketboards.org/foswiki/pub/Documentation/EmbeddedLinuxBeginnerSGuide/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz?t=1648696246
然后在终端配置环境变量

gedit ~/.bashrc
#在最后写入如下内容:
export CROSS_COMPILE=/{your path}/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-
#完成之后使配置有效
source ~/.bashrc

u-boot

使用git下载altera提供的u-boot。如果没有git,输入sudo apt-get install git进行安装,之后再执行以下命令。

git clone https://github.com/altera-opensource/u-boot-socfpga.git
cd u-boot-socfpga

之后可以通过下面指令查看版本:

git tag -l rel*
git tag -l ACDS*

这里使用官方提供的早期的版本,因为当前的最新版本不一定兼容前面下载的交叉编译工具。如果想尝试最新版本,最好去下载6.0以后的交叉编译工具。

git checkout rel_socfpga_v2013.01.01_15.09.01_pr

执行以下指令删除相关文件

make mrproper

设置cyclone V系列芯片,并编译:

make socfpga_cyclone5_config
make

此时会提示错误

/bin/bash: /home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: No such file or directory
/bin/bash: /home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
/bin/bash: /home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: No such file or directory
/bin/bash: /home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-ld: No such file or directory
/home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc -DDO_DEPS_ONLY \-g  -Os   -fno-common -ffixed-r8 -msoft-float  -I/home/dyq2/u-boot-socfpga/board/altera/socfpga -I/home/dyq2/u-boot-socfpga/board/altera/socfpga/sdram -D__KERNEL__ -I/home/dyq2/u-boot-socfpga/include -fno-builtin -ffreestanding -nostdinc -isystem  -pipe  -DCONFIG_ARM -D__ARM__    -march=armv5 -Wall -Wstrict-prototypes       \-o lib/asm-offsets.s lib/asm-offsets.c -c -S
/bin/bash: /home/dyq2/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc: No such file or directory
Makefile:701: recipe for target 'lib/asm-offsets.s' failed
make: *** [lib/asm-offsets.s] Error 127

参考:
https://blog.csdn.net/x13163303344/article/details/109522684
主要是因为当前系统为64位,没有32位的兼用包。
安装:

sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install lib32stdc++6

安装之后重启一下系统,重新设置cyclone V系列芯片再进行make即可完成u-boot编译。
最后会生成一个u-boot.img文件。可以看出,这与前面生成predloader时勾选FAT_SUPPORT有关。

然后把官方给的boot脚本复制过来进行编译:

echo -- Programming FPGA --
fatload mmc 0:1 $fpgadata soc_system.rbf;
fpga load 0 $fpgadata $filesize;
run bridge_enable_handoff;echo -- Setting Env Variables --
setenv fdtimage soc_system.dtb;
setenv mmcroot /dev/mmcblk0p2;
setenv mmcload 'mmc rescan;${mmcloadcmd} mmc 0:${mmcloadpart} ${loadaddr} ${bootimage};${mmcloadcmd} mmc 0:${mmcloadpart} ${fdtaddr} ${fdtimage};';
setenv mmcboot 'setenv bootargs console=ttyS0,115200 root=${mmcroot} rw rootwait; bootz ${loadaddr} - ${fdtaddr}';run mmcload;
run mmcboot;

需要先安装一些工具才能编译该脚本:

 sudo apt-get install uboot-mkimagesudo apt-get install u-boot-tools
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Boot Script Name" -d boot.script u-boot.scr

最后生成u-boot.scr文件。

搭建FPGA SOC系统(3)编译u-boot相关推荐

  1. 搭建FPGA SOC系统(1)自定义Avalon总线组件

    学习主要参考https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 本学习以altera cyclone ...

  2. Altera FPGA SoC搭建步骤

    转至https://www.cnblogs.com/li--chao/p/7294306.html Altera SoC 官方搭建指南: https://rocketboards.org/foswik ...

  3. fushia系统的编译环境搭建

    本文讲述在Linux环境下fushia系统的编译环境搭建(系统ubuntu 14.04): Fuchsia是Google主要为IoT(物联网).PC以及移动端开发的新一代只能操作系统.与之前的Andr ...

  4. MarsBoard全志A20的Android4.2.2系统的编译(分色排版)

    MarsBoard全志A20的Android4.2.2系统的编译 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/9/25 16:34 开发板:Mar ...

  5. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  6. apache+tomcat 搭建负载均衡系统

    apache+tomcat+mod_jk 搭建负载均衡系统. 0.os系统采用centos6.8 x64 2.6.32-642.el6.x86_64 1.首先安装好jdk环境本次采用jdk-8u111 ...

  7. 环境搭建:Windows系统下Nacos集群搭建

    环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...

  8. 搭建前端监控系统(二)JS错误监控篇

    背景:市面上的监控系统有很多,大多收费,对于小型前端项目来说,必然是痛点.另一点主要原因是,功能通用,却未必能够满足我们自己的需求, 所以我们自给自足. 这是搭建前端监控系统的第二章,主要是介绍如何统 ...

  9. 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5

    实验二.软RAID搭建-基于linux系统搭建RAID5 实验要求: 1)创建RAID5; 2)添加一个热备盘sdj 3)指定chunk为32k 4停止阵列,重新激活阵列 5使用热备盘,扩展阵列容量, ...

  10. Fuchsia 系统的编译和探索

    版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com 最近下载了 Fuchsia 源代码并编译好后跑起来进行了简单的探索,并且跑了几个测试程序,现在把中途 ...

最新文章

  1. verilog简易密码锁设计
  2. 微型计算机原理中LEA,微型计算机系统原理及应用(第2版)第2章
  3. Git笔记(19) 生成SSH公钥
  4. 全议程公布丨八大理由让你畅游2021数据技术嘉年华
  5. 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?
  6. Dynamic Set Up the Web Reference Url To WebService
  7. 金融反欺诈的底层逻辑
  8. Java开发-使用Java语言实现刷微信跳一跳小游戏的分数
  9. 姿态估计相比Mask-RCNN提高8.2%,上海交大卢策吾团队开源AlphaPose
  10. python人工智能之:多边形矩阵热图程序实战篇(二)
  11. Android 之AS项目,无法编译,Make Project(小锤子)、Rebuild Project、Clean Project都无效
  12. 高校研究生在微博留下绝笔后于实验室自杀,谁来关心研究生压力?
  13. yolov5的混淆矩阵
  14. 挺带劲!这款免费开源的监控系统真强大~
  15. NFS服务常见故障排查和解决方法
  16. 鸿蒙系统新平板,华为官宣新款MatePad Pro,首款鸿蒙系统平板
  17. dataV 自定义组件开发(个人信息展示 自动轮播)
  18. ML之PDP:基于titanic泰坦尼克是否获救二分类预测数据集利用PDP部分依赖图对RF随机森林实现模型可解释性案例
  19. 织梦cms模板下载:广告品牌设计网站织梦模板
  20. 华为钱包扫码云闪付_支持华为钱包云闪付的有几个机型

热门文章

  1. 中南大学计算机在职博士招生简章,中南大学在职博士专业报考要求
  2. 用于自动驾驶的同步定位和建图 (SLAM):概念和分析
  3. 19800元考CISP-PTE值得么?包不包过?
  4. 【Unity实战100例】Unity通过Aspose读取并显示打开PDF,PPT,Excel,Word
  5. MySQL高级(进阶)语句
  6. 关于【中孚计算机终端保密检查系统】的卸载
  7. WPF中图形表示语法详解(Path之Data属性语法)
  8. spring boot快速入门 7: 使用aop处理请求
  9. 微信支付结果通知,回调的策略
  10. MapReduce自定义排序WriteComparable