搭建FPGA SOC系统(3)编译u-boot
学习主要参考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相关推荐
- 搭建FPGA SOC系统(1)自定义Avalon总线组件
学习主要参考https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 本学习以altera cyclone ...
- Altera FPGA SoC搭建步骤
转至https://www.cnblogs.com/li--chao/p/7294306.html Altera SoC 官方搭建指南: https://rocketboards.org/foswik ...
- fushia系统的编译环境搭建
本文讲述在Linux环境下fushia系统的编译环境搭建(系统ubuntu 14.04): Fuchsia是Google主要为IoT(物联网).PC以及移动端开发的新一代只能操作系统.与之前的Andr ...
- MarsBoard全志A20的Android4.2.2系统的编译(分色排版)
MarsBoard全志A20的Android4.2.2系统的编译 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/9/25 16:34 开发板:Mar ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- apache+tomcat 搭建负载均衡系统
apache+tomcat+mod_jk 搭建负载均衡系统. 0.os系统采用centos6.8 x64 2.6.32-642.el6.x86_64 1.首先安装好jdk环境本次采用jdk-8u111 ...
- 环境搭建:Windows系统下Nacos集群搭建
环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...
- 搭建前端监控系统(二)JS错误监控篇
背景:市面上的监控系统有很多,大多收费,对于小型前端项目来说,必然是痛点.另一点主要原因是,功能通用,却未必能够满足我们自己的需求, 所以我们自给自足. 这是搭建前端监控系统的第二章,主要是介绍如何统 ...
- 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5
实验二.软RAID搭建-基于linux系统搭建RAID5 实验要求: 1)创建RAID5; 2)添加一个热备盘sdj 3)指定chunk为32k 4停止阵列,重新激活阵列 5使用热备盘,扩展阵列容量, ...
- Fuchsia 系统的编译和探索
版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com 最近下载了 Fuchsia 源代码并编译好后跑起来进行了简单的探索,并且跑了几个测试程序,现在把中途 ...
最新文章
- verilog简易密码锁设计
- 微型计算机原理中LEA,微型计算机系统原理及应用(第2版)第2章
- Git笔记(19) 生成SSH公钥
- 全议程公布丨八大理由让你畅游2021数据技术嘉年华
- 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?
- Dynamic Set Up the Web Reference Url To WebService
- 金融反欺诈的底层逻辑
- Java开发-使用Java语言实现刷微信跳一跳小游戏的分数
- 姿态估计相比Mask-RCNN提高8.2%,上海交大卢策吾团队开源AlphaPose
- python人工智能之:多边形矩阵热图程序实战篇(二)
- Android 之AS项目,无法编译,Make Project(小锤子)、Rebuild Project、Clean Project都无效
- 高校研究生在微博留下绝笔后于实验室自杀,谁来关心研究生压力?
- yolov5的混淆矩阵
- 挺带劲!这款免费开源的监控系统真强大~
- NFS服务常见故障排查和解决方法
- 鸿蒙系统新平板,华为官宣新款MatePad Pro,首款鸿蒙系统平板
- dataV 自定义组件开发(个人信息展示 自动轮播)
- ML之PDP:基于titanic泰坦尼克是否获救二分类预测数据集利用PDP部分依赖图对RF随机森林实现模型可解释性案例
- 织梦cms模板下载:广告品牌设计网站织梦模板
- 华为钱包扫码云闪付_支持华为钱包云闪付的有几个机型