本文来源电子发烧友社区,作者:刘建华, 帖子地址: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”
【1】建立编译环境
1、安装ubuntu虚拟机,由于我在以前的开发板试用中已经安装好了VMwar。这里就不再展示,如果没有安装的,请自行根据《OKA40i-C&OKT3-C_Qt5.9+linux-3.10用户编译手册_V1.0_20211218.pdf》的第一、三章来安装,手册有详细的安装说明:
2、我这里直接按照手册的第二章,直接就有现成的环境,应该很快就可以。如果有什么不明白,可以联系我交流。安装好后打开虚拟机:
3、仔细阅读编译手册《第四章:linux编译篇》,并一步步实现。
这个源码包那是真的占资源呀,差不多70G,所以大家要准备一个大的硬盘,要不一下就爆炸。
解压文件系统:(注意)这里文件里的解压文件跟实际的不同,这里是rootfs-a40i.tar.gz。
到这里,源码解压完毕,我发现我的硬盘只有4G不到了,赶紧把虚拟机换个硬盘。。。。
换了硬盘接着来编译源码:
按照《手册》4.2.1一步步设置:
然后编译内核:
forlinx@ubuntu:~/work/lichee$ sudo ./build.sh -m kernel
然后就要耐心等待N久,看各人的电脑来决定:
然后生成rootfs.ext4、镜像打包:
打包:
打包结束。
致此源码的编译到这里就结束了。这是我第一次编译源码,教程写得非常详细,大家应该对照起来没有什么问题。这里建议的就是硬盘一定要留100G。
当然大家要是不想折腾源码编译,在OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322Linux镜像目录下面有编译好的好些包,大家可以自己选择下载:
【镜像烧写】
1、将生成的sun8iw11p1_linux_OKA40i_C_uart0-1024x600.img文件拷到win下面。
2、安装PhoenixSuit。安装包在OKA40i-C、OKT3-C_Linux3.1.0+QT5.9_用户资料-20220322Linux工具目录中,安装过程省。。。
3、烧写,要多试几次,我也是弄了好多烧才
【编译自己的程序】
在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:
没有报错,在当前目录下生成的helloworld文件:
把hellowrld拷到开发板下面,修改权限就可以运行了:
【总结】经过好几天的文章阅读,终于学会了源码编译、程序的单独编译。这里非常感谢“飞凌A40i开发板评测技术交流群”里面的大佬 @李海,帮助我在编译上找出了问题。
全部0条评论
快来发表一下你的评论吧 !