完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、开发环境分类注意,虽然是开发程序,但是这块处理器涉及到TPU,且官方的基本环境以及教程没出完,导致这块处理器的开发SDK其实是分化的。分为常规APP开发以及TPU开发。开发TPU可以兼容APP。 其次,这颗处理器刨开RiscV和ARM V53的二选一。它还包含一个700Mhz的大MUC核,一个8051的小MCU小核。 但是很不幸,相比于CV1800B,这颗处理器的协同核开发SDK还没制作完毕。它的freertos大核毫无资料。小核8051也只给了个JTAG接口,甚至和主核的通信资料都没给出。 更离谱的事很多时候它的资料仍然和CV18XX的资料共用。导致很多库和资源现在根本对不上。 二、开发个简单APP首先官方给出了基本APP的sdk,那就是host-tools。 但是,你查过它的例程才会知道,它默认编译选项用的库版本不对!你需要特意选择你对应的核版本。因此你的CFLAGS和CXXFLAGS(注意,大部分库都会同时识别CXXFLAGS和CPPFLAGS,但是个别奇葩库只认CPPFLAGS) CFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" CFLAGS和CXXFLAGS在这部分的设置是完全一样的。 根据我现在编译的库。大部分库和2024/03/17时候各官方库公布的最新版本是一样的。下载时候记得看看版本公布时间。 官方默认固件使用的gcc host版本为 对于部分不认基础环境变量的库,和需要双编译的库需要特殊处理。但是大部分库使用下面代码可以安全编译过去 export TOOLCHAIN=/home/host-tools/gcc/riscv64-linux-musl-x86_64/bin PREFIX=/home/host-tools/gcc/riscv64-linux-musl-x86_64/sysroot/usr TARGET=riscv64-unknown-linux-musl CC=TOOLCHAIN/riscv64-unknown-linux-musl-gcc CXX=TOOLCHAIN/riscv64-unknown-linux-musl-g++ NM=TOOLCHAIN/riscv64-unknown-linux-musl-nm RANLIB=TOOLCHAIN/riscv64-unknown-linux-musl-ranlib LD=TOOLCHAIN/riscv64-unknown-linux-musl-ld AR=TOOLCHAIN/riscv64-unknown-linux-musl-ar STRIP=TOOLCHAIN/riscv64-unknown-linux-musl-strip CPATH=PREFIX/include LIBRARY_PATH=PREFIX/lib CFLAGS="-fPIC --sysroot=PREFIX/../ -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" CXXFLAGS="-fPIC --sysroot=PREFIX/../ -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" CPPFLAGS="-fPIC --sysroot=PREFIX/../ -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" LDFLAGS="-LPREFIX/lib -Wl,-rpath-link=PREFIX/lib -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" SYSROOT=$PREFIX/../ MAKEFLAGS="-j24" 自己的环境需要做如下改动: 首先 第二是 对于 其他变量都是根据 本人是在docker中进行的编译。因此清除这些变量最好的办法就是直接退出docker命令行重新进入。对于真机编译的勇士,或者没有条件使用隔离环境的同志。这些设置的所有变量系统默认都是空的。因此对上卖弄每一个设置的环境变量进行 比如说: json-c 0.17 glib 2.80.0 由于几乎系统除了json-c库,其实几乎只提供了std库和libc库,所以大部分款本自己开心就好了。 注意,系统镜像额外提供了glib。但是和2.80能兼容 对于绝大多数情况,这点库文件消耗内存不足一提。因此加载自己的独立库系统也可以。但是记住别一个APP加载一套。因为这个处理器的内存实在是太捉襟见肘了。
上面示例代码太简单了。如果真有零基础的,有问题直接问。留言私信都行!偶尔没看到每次来耍测评区的时候绝对会看到!。我的其他测评部分也能看到这部分讲解。 上面用到的库是easyLogger。直接去github搜就能搜到这个库,挺完善维护挺久的一个库。找最大的那个基本上不会被迷惑。 本项目我使用cmake做的。如果想用makefile也没问题。甚至因为涉及到你之前编译过glib,你直接用meson也可以。不过这个系统谷歌私有,用起来确实麻烦,效果大部分系统没感觉像宣传的那么简单。好多环境变量设置做的还不够完善,尤其是对交叉编译不太友好,因为谷歌给他用在了通用组件编译上。其交叉编译系统就像是个补丁一样贴在上面。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
219个成员聚集在这个小组
加入小组【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:7,图像采集与物体识别
1475 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:6,FastAPI服务器搭建与TTS播放
1418 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:5,音频采集
1175 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:4,项目开发环境搭建
1236 浏览 1 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:3,系统基础配置
1903 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】轻办公和直播开发研究
1509浏览 11评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,还可以语音对话
2408浏览 7评论
【Longan Pi 3H 开发板试用连载体验】基于 Longan Pi 3H 开发板完成智能家居控制小型项目
2199浏览 6评论
【LicheeRV-Nano开发套件试用体验】【更新主贴】高频电力计算终端开发
1223浏览 4评论
【LicheeRV-Nano开发套件试用体验】+ 实现三麦克纳姆轮小车自主导航
1356浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:27 , Processed in 0.759969 second(s), Total 65, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号