本篇試用報(bào)告由發(fā)燒友【華仔stm32】提供,原文標(biāo)題《【飛凌OKA40i-C開發(fā)板試用體驗(yàn)】編譯環(huán)境的搭建以及編寫自己的第一個(gè)helloworld》,感謝【華仔stm32】的支持。
飛凌嵌入式會(huì)在電子發(fā)燒友持續(xù)發(fā)布開發(fā)板免費(fèi)試用活動(dòng),更有京東E卡等著你,歡迎大家的持續(xù)關(guān)注!話不多說,我們一起看正文。
筆者主要下載了官方已經(jīng)建立好環(huán)境的Ubuntu虛擬機(jī)包,還有OKA40i-C開發(fā)板的Linux用戶資料。
【1】建立編譯環(huán)境
1、安裝ubuntu虛擬機(jī),由于我在以前的開發(fā)板試用中已經(jīng)安裝好了VMware。這里就不再展示,如果沒有安裝的,請(qǐng)自行根據(jù)OKA40i-C開發(fā)板用戶編譯手冊(cè)的第一、三章來安裝,手冊(cè)有詳細(xì)的安裝說明:
2、我這里直接按照手冊(cè)的第二章,直接就有現(xiàn)成的環(huán)境,應(yīng)該很快就可以。安裝好后打開虛擬機(jī):
3、仔細(xì)閱讀編譯手冊(cè)《第四章:linux編譯篇》,并一步步實(shí)現(xiàn)。
先在虛擬機(jī)中的/home/目錄下新建work文件夾,并把OKA40i-C用戶資料-20220322\Linux\源碼\目錄下的xaa、xab拷貝到虛擬機(jī)work目錄下面:
將共享文件夾中的源碼拷貝到 ubuntu 的/home/forlinx/work 目錄下并校驗(yàn)。
合并源碼,進(jìn)行校驗(yàn)和解壓。
解壓后進(jìn)入lichee目錄下面:
這個(gè)源碼包很大,差不多70G,所以大家要準(zhǔn)備一個(gè)大的硬盤,要不一下就“爆炸”。
解壓文件系統(tǒng):(注意)這里文件里的解壓文件跟實(shí)際的不同,這里是rootfs-a40i.tar.gz。
到這里,源碼解壓完畢,我發(fā)現(xiàn)我的硬盤只有4G不到了,趕緊把虛擬機(jī)換個(gè)硬盤。
換了硬盤接著來編譯源碼,按照《手冊(cè)》4.2.1一步步設(shè)置:
然后編譯內(nèi)核:
forlinx@ubuntu:~/work/lichee$ sudo ./build.sh -m kernel
然后就要耐心等待,看大家自己的電腦來決定:
生成rootfs.ext4、鏡像打包:
打包:
打包結(jié)束。
至此源碼的編譯到這里就結(jié)束了。這是我第一次編譯源碼,教程寫得非常詳細(xì),大家應(yīng)該對(duì)照起來沒有什么問題。這里建議的就是硬盤一定要留100G。
當(dāng)然大家要是不想折騰源碼編譯,在飛凌嵌入式官方提供的OKA40i-C、OKT3-C_Linux3.1.0用戶資料-20220322\Linux\鏡像\目錄下面有編譯好的好些包,大家可以自己選擇下載:
【2】鏡像燒寫
1、將生成的sun8iw11p1_linuxOKA40i_C_uart0-1024x600.img文件拷到win下面。
2、安裝PhoenixSuit。安裝包在OKA40i-C、OKT3-C_Linux3.1.0用戶資料-20220322\Linux\工具目錄中,安裝過程這里省略。
3、燒寫,可以多試幾次。
【3】編譯自己的程序
在work目錄下新建一個(gè)helloworld文件夾,在helloworld文件夾內(nèi)新建helloworld.c,寫代碼如下:
#include
int main(void)
{
printf("helloworld!\r\n");
printf("hello OKA40i-C\r\n");
return 0;
}
在lichee/buildroot-201611/target/user_rootfs_apps/cmd/subs下的rtc中復(fù)制一個(gè)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
然后執(zhí)行make:
沒有報(bào)錯(cuò),在當(dāng)前目錄下生成的helloworld文件:
把helloworld拷到開發(fā)板下面,修改權(quán)限就可以運(yùn)行了:
-
ARM
+關(guān)注
關(guān)注
134文章
9050瀏覽量
366822 -
嵌入式技術(shù)
+關(guān)注
關(guān)注
10文章
360瀏覽量
35653
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論