扫一扫,分享给好友
感谢电子发烧友论坛和芒果派。上次介绍了操作系统的安装,芒果派MQ Pro自带有GCC,所以可以在开发板上完成程序的编译和链接。不过毕竟开发板的速度很慢,如果要开发大型程序,还是希望在电脑上完成交叉编译,今天就尝试一下交叉编译环境的配置。
芒果派MQ Pro采用的全志D1处理器,其中使用的是平头哥的玄铁C906核。所以首先想到的交叉编译器就是去平头哥的网站下载。平头哥网站提供了各个宿主平台的优化编译器(https://xuantie.t-head.cn/community/download?id=4090445921563774976),我选择了适合自己平台的x86_64编译器。
平头哥的网站还提供了优化的定制版OpenCV,据说这个版本可以最大限度地发挥D1芯片的性能,让人很是期待。
不过接下来的测试遇到了麻烦。使用平头哥编译器生成的可执行文件在开发板上无法运行。
root@nezha$: ./hello -bash: ./hello: No such file or directory
使用ldd命令检查了一下hello的所有链接库,发现一切正常,但是就是无法执行。现象和网友jszszzy在Lichee RV 86 PANEL开发板测试的结果类似:http://bbs.eeworld.com.cn/thread-1197058-1-1.html。推测平头哥编译器所使用的glibc库和芒果派在带镜像所使用的glibc不兼容。
后在PC端安装了Ubuntu自带的RISC-V编译器,发现这个编译器编译的程序可以在板子上运行。但是Ubuntu自带的RISC-V编译器和平头哥提供的优化的OpenCV又不兼容,无法编译。看来芒果派提供的官方镜像和平头哥的优化编译器,鱼和熊掌不可兼得。
发布
交叉工具配置risc-v沁恒mcu
LCD_SPI_X->DAT = (uint16_t)dat; while((LCD_SPI_X->STS & SPI_I2S_BUSY_FLAG)!=(uint16_t)RESET){}
WM IoT SDK 2.X大步走来
void T1_RunTask(void)
宇树科技在物联网方面
count_th_tl = ((u16)TH1 << 8) + (u16)TL1;
华氏温度转换为摄氏温度并显示
关于RISC-V芯片的应用学习总结
程序中断的100种写法
RISC-V 领军企业 SiFive 成立中国分公司,中文名称定为“芯伍科技”
CAN loopback模式测试
电子发烧友网
电子发烧友论坛