飞腾派
直播中

jf_39110170

2年用户 344经验值
擅长:可编程逻辑 嵌入式技术 EDA/IC设计
私信 关注
[经验]

【飞腾派4G版免费试用】1.实战交叉编译环境搭建和手把手uboot编译

image.png
亲爱的工程师、学生和爱好者们,我来啦!今天我要给大家带来一份试用报告,主角是飞腾派开源硬件!
我最近与一款开源硬件来了个“第一次亲密接触”——它就是由中电港萤火工场研发的飞腾派。这款硬件可是面向行业工程师、学生和爱好者的哦,听起来就很高大上吧?
首先,让我们来看看这个神秘的飞腾派到底是什么吧!当我第一次听说飞腾派,我的第一反应是:“哇,这名字好酷,是不是跟某部武侠小说里的门派有什么关系?”但事实上,与武侠无关,却与嵌入式工程世界有着千丝万缕的联系。它的主板处理器采用了飞腾嵌入式四核处理器,还兼容ARM V8架构。简单地说,就是个速度飞快、能力超强的处理器啦!

等等,别急,我还没说完呢!这个主板处理器里面包含了2个FTC664核和2个FTC310核。FTC664核主频可以达到1.8GHz,而FTC310核主频则可以达到1.5GHz。哇塞,这速度简直比我家的小猫跑得还快呢!
image.png

开箱初体验:

拿到飞腾派开源硬件的那一刻,我就被它的外观设计所吸引。主板上的各种接口整齐排列,让人一眼就能看出这是一款功能强大的硬件。而且,它的体积并不大,非常适合行业随身携带使用。

不仅如此,飞腾派还有64位 DDR4内存,有2G和4G两个版本供大家选择。还支持SD或者eMMC外部存储,让你的数据存储变得更加灵活便捷。

别忘了,它还板载WiFi蓝牙和陶瓷天线,让你的无线通信连接变得轻松愉快。无论你是想连接手机、平板还是其他设备,飞腾派都能满足你的需求。

接口方面,飞腾派也是毫不逊色!它集成了双路千兆以太网、USB、UART、CAN、HDMI、音频等接口,甚至还有一路miniPCIE接口,可以实现AI加速卡与4G、5G通信等多种功能模块的扩展。简直是无所不能啊!
image.png

操作系统层面,飞腾派也是兼容并包。它不仅支持Ubuntu、Debian等国外主流开源操作系统,还支持国内OpenKylin、OpenHarmony、SylixOS、RT-Thread等国产操作系统。这意味着无论你是习惯使用国外系统还是国内系统,飞腾派都能让你感到宾至如归,做到真正的国内外通吃!

说了这么多,你们一定对飞腾派充满了期待吧!下面就来给大家说说如何进行交叉编译环境搭建吧!

首先,我们先来聊聊什么是飞腾派交叉编译环境。简单来说,就是为了在x86架构的电脑上编译出能够在aarch64架构上运行的程序。为了实现这个目标,我们需要一个交叉编译链,也就是我们今天要介绍的gcc-linaro-7.5.0-2019.12-x86_64_aarch64版本的交叉编译链啦!

好,现在让我们开始搭建吧!

首先,PC端Linux环境准备好,再根据官网提供的软件下载好,你需要把gcc-linaro-7.5.0-2019.12-x86_64_aarch64版本的交叉编译链解压到指定的一个目录。比如你可以放在/opt/toolchains/下。这个过程呢,就像是我们去超市买了一堆食材,然后需要把它们放到厨房的指定位置一样。

接下来,我们来看看解压后的目录里都有些啥。在终端输入命令:

ls /opt/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linuxgnu/

回车后,你会看到一系列文件和文件夹显示出来。

哈哈,看到这一堆文件了吗?它们分别是:aarch64-linux-gnu、bin、gcc-linaro-7.5.0-2019.12-linux-manifest.txt、include、lib、libexec和share。这些文件就像是厨房里的各种炊具和调料,每一样都必不可少。

现在,让我们来详细了解一下这些文件吧:

  1. aarch64-linux-gnu:这个文件夹里面包含的是交叉编译出来的程序所需要的一些库文件和头文件。它们就像是各种食材的配料,让我们的程序变得更加美味可口。
  2. bin:这个文件夹里面存放的是一些可执行文件,比如编译器、链接器等。它们就像是厨师手中的炒锅和刀具,用来烹饪我们的程序。
  3. gcc-linaro-7.5.0-2019.12-linux-manifest.txt:这个文件里面记录了这个交叉编译链的一些版本信息和使用说明。它就像是一张食谱,告诉我们如何使用这个交叉编译链来烹饪出美味的程序。
  4. include:这个文件夹里面存放的是一些头文件,它们定义了程序中所使用的一些数据类型和函数接口。它们就像是食材的营养成分表,让我们知道这些食材都包含哪些营养成分。
  5. lib:这个文件夹里面存放的是一些库文件,它们提供了程序中所使用的一些函数的实现。它们就像是各种调料瓶,让我们的程序变得更加丰富多彩。
  6. libexec:这个文件夹里面存放的是一些辅助程序,比如编译器的一些插件和工具等。它们就像是厨师的小助手,帮助厨师更好地完成烹饪工作。
  7. share:这个文件夹里面存放的是一些共享资源,比如文档、图标等。它们就像是餐桌上的装饰品,让我们的程序变得更加美观大方。

哈哈,是不是觉得很简单呢?没错,交叉编译环境搭建就是这么轻松!

飞腾派开源硬件配置解析

  1. 处理器:飞腾嵌入式四核处理器,包含2个FTC664核和2个FTC310核,主频分别可达1.8GHz和1.5GHz。这个配置可以说是相当高了,无论是进行日常工作还是运行一些大型软件,都能轻松应对。
  2. 内存:主板板载64位 DDR4内存,分2G和4G两个版本。对于一般用户来说,2G内存已经足够使用,而对于需要运行大型软件的用户,可以选择4G内存版本。
  3. 存储:支持SD或者eMMC外部存储。这一点非常方便,用户可以根据自己的需求选择合适的存储方式。
  4. 网络通信:主板板载WiFi蓝牙,陶瓷天线,可快速连接无线通信。对于需要频繁进行网络通信的用户来说,这个功能非常实用。
  5. 外设接口:集成了大量外设接口,包括双路千兆以太网、USB、UART、CAN、HDMI、音频等接口。这意味着用户可以连接各种外设,扩展硬件的功能。
  6. 操作系统支持:飞腾派支持Ubuntu、Debian等国外主流开源操作系统,也支持国内OpenKylin、OpenHarmony、SylixOS、RT-Thread等国产操作系统。这一点非常贴心,无论是喜欢国外操作系统的用户,还是更倾向于使用国产操作系统的用户,都能找到适合自己的操作系统。

接下来给大家继续uboot编译!

首先,我们要明确一个概念,uboot编译,这可不是什么高深莫测的黑科技,其实就是一群码农在给uboot“梳妆打扮”的过程。这个过程呢,就像是你想要出门约会,得先把自己打扮得美美的,才能吸引眼球呀!

那么,如何开始我们的uboot编译之旅呢?

首先,你得有一份uboot的源码,这就像是你想要做一顿大餐,得先有食材一样。这份源码里面可都是精华呀,各种配置文件、脚本和源代码,就像是你的衣柜里摆满了各式各样的衣服和化妆品。

接下来,我们要进行编译环境的配置。这个过程就像是你在约会前要选择穿哪件衣服、化什么妆一样重要。你得根据你的硬件平台选择合适的编译器、设置正确的环境变量。这就像是你得根据约会的场合选择合适的衣服和妆容,要是穿错了衣服或者是化错了妆,那可就尴尬啦!

配置好环境之后,我们就可以开始进行编译了。这个过程就像是你开始在镜子前梳妆打扮,一会儿涂涂口红,一会儿画画眼影,忙得不亦乐乎。而uboot的编译过程也是一样的,编译器会忙着把源码编译成可执行文件,各种警告和错误信息就像是你在化妆过程中发现的小瑕疵,需要及时处理掉。

最后,当编译器告诉你编译成功的时候,那就像是你对着镜子照了又照,终于满意地点点头,可以出门啦!同样地,你也可以在工程目录下找到生成的uboot镜像文件,就像是你拿起手包准备出门一样。

现在你知道了吧?uboot编译其实就像是你出门前的梳妆打扮一样简单又有趣!只要掌握了正确的方法和技巧,你也可以轻松搞定它!
首先,我们来看看uboot源码目录里面都有些啥。执行以下命令:

ro@pc:~/work/u-boot-v1.40-pi$ ls

咱们还继续用做饭打比方,因为我的网名昵称是( 还没吃饭 )!

哈哈,看到这一堆文件和文件夹了吗?它们分别是:api、configs、include、post、u-boot.bin、u-boot-nodtb.bin、arch、disk、Kbuild、README、u-boot.cfg等等。它们就像是厨房里的各种食材和调料,每一样都必不可少。

其中,set_env.sh和./build_uboot.sh分别是编译环境配置脚本和编译脚本,用户可以根据需要进行修改。这就好比是厨师手中的食谱和烹饪步骤,告诉我们要如何烹饪出美味的uboot。

接着,我们来看看set_env.sh这个脚本里面写了啥。执行以下命令:

ro@pc:~/work/u-boot-v1.40-pi$ cat ./set_env.sh

哈哈,看到这些代码了吗?它们的作用是为了配置交叉编译环境。其中,export PATH这行命令是为了将交叉编译链的路径加入到系统的PATH环境变量中,这样系统就能够找到交叉编译链中的工具了。而export CROSS_COMPILE这行命令则是为了指定交叉编译的前缀,这样编译器就能够知道要编译出哪个架构的程序了。这就像是我们要烹饪一道异国风味的菜,需要准备好相应的炊具和调料一样。

现在,让我们来看看如何使用这个脚本和编译脚本来编译uboot吧!

首先,我们需要在终端中运行以下命令来配置环境:

ro@pc:~/work/u-boot-v40-pi$ source set_env.sh

这个过程就像是在厨房中准备好食材和调料一样,为接下来的烹饪工作做好准备。

接着,我们可以运行以下命令来开始编译:

ro@pc:~/work/u-boot-v40-pi$ ./build_uboot.sh

这个过程就像是在厨房中开始烹饪一样,等待一段时间后,美味的uboot就能够出炉啦!

最后,我们可以查看编译结果。执行以下命令:

ro@pc:~/work/u-boot-v40-pi$ ls u-boot.bin

哈哈,看到u-boot.bin这个文件了吗?这就是我们编译出来的uboot镜像文件啦!它位于工程目录下,就像是厨房中烹饪出来的美味佳肴一样,等待着我们去品尝它的滋味。在这个过程中,我们可能还会遇到一些问题和挑战。比如,源码目录结构看不懂、编译工具不会用等等。没关系,这些问题就像是在烹饪过程中遇到的困难一样,只要我们耐心学习、不断尝试,总能找到解决的办法!

我得说,飞腾派真的是个“多才多艺”的家伙。它的主板处理器是飞腾嵌入式四核处理器,简直就是个“速度狂人”!我的生活仿佛多了一些色彩。不是因为我突然对硬件产生了浓厚的兴趣,而是这款硬件和其背后的技术团队让我感受到了技术与使命责任的完美结合。在这个过程中,我也产生了一些思考和反思。首先,我意识到了开源技术的重要性和硬件的魅力。飞腾派和飞腾公司的成功不仅仅是因为他们的技术实力,更是因为他们对技术的追求和创新精神。其次,我也认识到了自己的不足和需要提高的地方。这种解决问题的能力和精神是我需要不断学习和提高的。最后,我想说的是,飞腾派和飞腾公司让我感受到了责任使命的魅力。他们的成功不仅仅是因为技术的实力和创新精神,更是因为他们对技术的追求和对开源的公心。这种以用户为中心的理念让我深深地感受到了技术的温暖和力量!好啦,今天的试用报告就到这里啦!希望大家对飞腾派开源硬件有了更深入的了解。如果你也是行业工程师、学生或爱好者之一,不妨亲自试试看吧!处理器速度飞快,接口不少,操作系统也支持广泛,这简直就是一个全能选手啊!我保证你会爱上它的!这让我们中国人也能在开源硬件领域扬眉吐气了!

屏幕截图 2023-12-06 131233.jpg

谢谢!

本人在本论坛内的试读[经验] :

《电子工程师必备——九大系统电路识图宝典》+附录2化整为零和集零为整电路分析方法

《运算放大器参数解析与LTspice应用仿真》+学习心得4第三章专用放大器

《Android Runtime源码解析》+深入体会第六章ART的执行(4)

希望上面的内容对您能有所帮助!

2023年12月6日

回帖(5)

alwinlee

2023-12-6 17:17:24
哈哈 能否上一个你家小猫的照片
1 1 举报
  • jf_39110170: 当然可以,我这就去给你找一张我家小猫的照片!我家的猫可是一只神秘莫测的薛定谔猫,总是让我在它可爱与疯狂之间徘徊。不过,我得先警告你,看了它的照片后,你可能会被它的可爱模样迷倒,忍不住想要摸摸它,甚至可能会爱上它哦!但是她的可爱之处也让人无法抗拒,每次看到它的照片都会让我心情愉悦。不过,我得提醒你,虽然看起来温顺可爱,但实际上它可是个“小恶魔”哦!它经常会蹦跶来蹦跶去,打翻家里的植物,还喜欢偷吃我的零食。总是让我在它可爱和不可爱之间纠结。尽管她有时会让我感到头疼,把家里的东西弄得乱七八糟,但我依然爱它。

jf_26720285

2023-12-6 17:42:58
感谢分享实战经验,太有用了
1 1 举报
  • jf_39110170: 嘿嘿,客气了客气了!谢谢你的夸奖,实战经验这种东西,就是要拿出来分享才能发挥最大的价值嘛!你说的太对了!只要是有用了,那我就放心了,说明我的经验没白费,能帮到你我也很开心啦!不过,我的这些经验有时候可能会有点儿“独特”,解释时会用一些日常生活举“栗子”,记得做好心理准备哦!让我们一起进步吧!

挽你何用

2023-12-7 09:58:05
感谢大佬分享,下次把小猫放上
1 1 举报
  • jf_39110170: 好的!谢谢你的夸奖,也感谢你的支持!我会继续努力分享更多有用的经验。至于小猫,我会考虑在下次分享中加入一些喵星人的元素!让你感受到更加温馨和有趣的氛围。记得点赞、关注、收藏、置顶、打赏哦!    谢谢!

杨永胜

2023-12-12 00:49:24
楼主,你好,请问文章中说的 uboot 的源码是在哪里可以下载到呢?
1 1 举报
  • jf_39110170: 不好意思,这会儿刚下班!
    哈哈,你问得好,UBOOT的源码嘛,就像神秘的宝藏一样,需要我们用心去寻找。你可以尝试从官方网站或Git仓库获取。具体方法:
    1.官方网站下载:访问UBOOT官方网站(https://www.denx.de/wiki/U-Boot/WebHome),下载指定版本的源码压缩包,然后解压至本地目录。
    2.使用Git克隆仓库:使用Git命令克隆UBOOT的Git仓库至本地。
    无论通过哪种方式获取源码,都可以获得UBOOT的最新版本。请注意,在下载和使用UBOOT源码时,请确保遵守相关的开源协议和法律法规。建议登陆官网下载,以免受其他网站干扰。
    希望以上信息对您有帮助。
    谢谢点赞、关注、收藏、置顶、打赏哦!

更多回帖

发帖
×
20
完善资料,
赚取积分