0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【飞凌OKA40i-C开发板试用体验】编译环境的搭建以及编写自己的第一个helloworld

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-20 11:08 次阅读

本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2303426_1_1.html


资料获取】:
*附件:OKA40i-C、OKT3-C开发板 产品资料发布记录-2022.07.23(1).pdf
这里给出了所有需要的资料,大家可以自行下载。我主要下载了官方已经建立好环境的ubuntu虚拟机包,还有就是“OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322”
image.png

【1】建立编译环境
1、安装ubuntu虚拟机,由于我在以前的开发板试用中已经安装好了VMwar。这里就不再展示,如果没有安装的,请自行根据《OKA40i-C&OKT3-C_Qt5.9+linux-3.10用户编译手册_V1.0_20211218.pdf》的第一、三章来安装,手册有详细的安装说明:
image.png

image.png

2、我这里直接按照手册的第二章,直接就有现成的环境,应该很快就可以。如果有什么不明白,可以联系我交流。安装好后打开虚拟机:
image.png
3、仔细阅读编译手册《第四章:linux编译篇》,并一步步实现。

  1. 先在虚拟机中的/home/目录下新建work文件夹,并把OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322Linux源码目录下的xaa、xab拷贝到虚拟机work目录下面:
    image.png
    将共享文件夹中的源码拷贝到 ubuntu 的/home/forlinx/work 目录下并校验。
    image.png
    合并源码,进行校验和解压。
    image.png
    解压后进入lichee目录下面:

image.png
这个源码包那是真的占资源呀,差不多70G,所以大家要准备一个大的硬盘,要不一下就爆炸。
image.png
解压文件系统:(注意)这里文件里的解压文件跟实际的不同,这里是rootfs-a40i.tar.gz。
image.png

image.png

到这里,源码解压完毕,我发现我的硬盘只有4G不到了,赶紧把虚拟机换个硬盘。。。。
image.png

换了硬盘接着来编译源码:
按照《手册》4.2.1一步步设置:
image.png

然后编译内核:
forlinx@ubuntu:~/work/lichee$ sudo ./build.sh -m kernel
然后就要耐心等待N久,看各人的电脑来决定:
image.png
然后生成rootfs.ext4、镜像打包:

image.png

image.png
打包:
image.png
打包结束。
image.png

致此源码的编译到这里就结束了。这是我第一次编译源码,教程写得非常详细,大家应该对照起来没有什么问题。这里建议的就是硬盘一定要留100G。
当然大家要是不想折腾源码编译,在OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322Linux镜像目录下面有编译好的好些包,大家可以自己选择下载:
image.png

【镜像烧写】

1、将生成的sun8iw11p1_linux_OKA40i_C_uart0-1024x600.img文件拷到win下面。
2、安装PhoenixSuit。安装包在OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322Linux工具目录中,安装过程省。。。
3、烧写,要多试几次,我也是弄了好多烧才
image.png

【编译自己的程序】
在work目录下新建一个helloworld文件夹,在helloworld文件夹内新建helloworld.c,写代码如下:

#include   

int main(void)
{
    printf("hellowrld!rn");
    printf("hello OKA40i-Crn");
    return 0;
}

在lichee/buildroot-201611/target/user_rootfs_apps/cmd/subs下的rtc中复制一个makefile文件过来,并修改为:

DEST_DIR      ?=_install
#CC            ?=arm-linux-gcc
CC              =arm-linux-gnueabihf-gcc-5.3.1 
build:
	@$(CC) -o $(TARGET) helloworld.c

hold:
	[url=home.php?mod=space&uid=70594]@echo[/url] "helloworld hold[skip]"

install:
	[url=home.php?mod=space&uid=2293869]@MKDIR[/url] -p $(DEST_DIR)
	@cp $(TARGET) $(DEST_DIR)

uninstall:
	@rm -fr $(DEST_DIR)/$(TARGET)

distclean: uninstall
	@rm -fr $(TARGET)
	@rm -fr _install

然后执行make:
image.png
没有报错,在当前目录下生成的helloworld文件:
image.png

把hellowrld拷到开发板下面,修改权限就可以运行了:
image.png

【总结】经过好几天的文章阅读,终于学会了源码编译、程序的单独编译。这里非常感谢“飞凌A40i开发板评测技术交流群”里面的大佬 @李海,帮助我在编译上找出了问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 飞凌
    +关注

    关注

    0

    文章

    134

    浏览量

    16114
收藏 人收藏

    评论

    相关推荐

    嵌入式OK3588J-C开发板体验】OK3588J-C开发板开箱评测

    的盒子。 打开盒子,取出开发板,可以看到OK3588-C 开发板做的非常精致 CPU上加上了散热铝基座子用来进行导热,就像
    发表于 12-04 15:23

    嵌入式ElfBoard ELF 1板卡-开发环境搭建之交叉编译

    了hello_ubuntu程序,在此章节,将使用安装的开发板的交叉编译编译一个hello.c文件,生成hello_board程序,使用f
    发表于 09-29 09:51

    linux开发板如何编译curl

    在Linux开发板编译 curl 库通常涉及到几个步骤,包括准备开发环境、下载源代码、配置编译选项以及
    的头像 发表于 08-30 15:33 623次阅读

    嵌入式OK3576-C开发板体验】开箱报告

    简介 很荣幸参与到本次由嵌入式和电子发烧友提供的OK3576-C开发板试用机会。
    发表于 08-22 02:13

    【米尔NXP i.MX 93开发板试用评测】01.i.MX 93开发环境搭建

    I7的,另外比较严重的问题就是对于Qt来讲,EMMC的8GB容量肯定是不够的,我们需要使用TF卡来启动开发板,这里为了开发的速度还是比
    发表于 07-29 18:27

    嵌入式OK527N-C开发板体验】4. mpp与播放器+ubuntusdk qt环境搭建

    的镜像地址 参考文档 的下一个章节,自己搭建开发环境 试用vmware会报错,使用vbox创建u
    发表于 07-27 14:59

    【正点原子i.MX93开发板试用连载体验】第一篇:开箱

    感谢电子发烧友论坛和正点原子提供的这次宝贵的试用机会,我计划利用该开发板完成小型机器人的控制demo,同时测评各个功能模块。首先,正点原子i
    发表于 06-20 14:06

    嵌入式RK3568开发板蓝牙收、发文件测试

    本文由电子发烧友论坛用户fsdzdzy提供,感谢分享。嵌入式每月定期开展新的开发板体验活动,欢迎更多工程师朋友的关注和参与。嵌入式O
    的头像 发表于 02-02 16:31 1884次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式RK3568<b class='flag-5'>开发板</b>蓝牙收、发文件测试

    嵌入式T113-i开发板的调屏方法

    对于飞嵌入式T113-i开发板的调屏问题,需要按照以下步骤进行操作
    的头像 发表于 01-29 16:25 996次阅读

    如何在嵌入式T113-i开发板的Buildroot中移植MQTT协议?

    嵌入式OK113i-S开发板上市段时间以来收获了很多关注,也成为了许多客户项目选型的优质之选。在实际的项目
    的头像 发表于 01-26 08:02 527次阅读
    如何在<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式T113-<b class='flag-5'>i</b><b class='flag-5'>开发板</b>的Buildroot中移植MQTT协议?

    嵌入式A40i-H核心已适配“矿鸿OS”

    嵌入式基于全志科技A40i-H打造的FETA40i-C核心成功完成了“矿鸿OS”的系统适配,嵌入式核心
    的头像 发表于 01-18 08:02 1006次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式A<b class='flag-5'>40i</b>-H核心<b class='flag-5'>板</b>已适配“矿鸿OS”

    嵌入式全志T113-i开发板的休眠及唤醒操作

    最小化和快速恢复的平衡。这机制使得系统在休眠状态下能够极大地减少功耗,同时保留了用户在唤醒后迅速使用系统的便利性。本篇内容小编会为大家介绍如何让嵌入式OK113i-S
    发表于 01-17 09:29

    嵌入式T113-i开发板的调屏方法,就是这样简单

    的配备为客户提供了更加多样的选择。今天小编就与大家分享下为嵌入式OK113i-S开发板适配LVDS屏幕的过程。
    的头像 发表于 01-12 11:50 2237次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式T113-<b class='flag-5'>i</b><b class='flag-5'>开发板</b>的调屏方法,就是这样简单

    OK113i-S开发板试用】应用程序编写控制gpio和led

    OK113i-S开发板试用】应用程序编写控制gpio和led
    发表于 01-05 15:46

    技术帖 | 嵌入式T113-i开发板的休眠及唤醒操作

    嵌入式OK113i-S开发板支持两种休眠方式:freeze和mem。本篇内容小编会为大家介绍如何让
    的头像 发表于 12-29 08:02 1249次阅读
    技术帖 | <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式T113-<b class='flag-5'>i</b><b class='flag-5'>开发板</b>的休眠及唤醒操作