妥协下的联姻——为rt-thread适配最新k210 kendryte-standalone-sdk...

发表在 BSP2020-1-28 22:04 [复制链接] 10 197

捣鼓了一段时间终于完成了rtt对k210最新的sdk进行适配。在csdn上发了篇介绍方法的博客,因为有些格式啥的不想再写一遍了,欢迎大佬点下面的链接过去围观:8 K5 o- ?' Y" g
妥协下的联姻——为rt-thread适配最新k210 kendryte-standalone-sdk的nncase8 i: G' E; J' Q+ }# U  m" k& z
个人感觉这个适配的方法非常不好,太粗暴了,可能会对程序的健壮性造成影响,但是能力有限想不出来其他方法了,希望大佬能给出一些批评意见。7 r0 Y( K/ a( f  L3 f
% R% g1 ?# _: }" I' S# {( ^8 \
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2020-1-29 10:22:38 | 显示全部楼层
主要是工具链的问题?找时间……找时间,或许宅家的一段时间确实可以来处理下,等我先把User Mode lwIP先修修
使用道具 举报 回复
发表于 2020-1-29 21:02:20 | 显示全部楼层
bernard 发表于 2020-1-29 10:22. X% O9 v7 O: ~9 ]
主要是工具链的问题?找时间……找时间,或许宅家的一段时间确实可以来处理下,等我先把User Mode lwIP先修 ...

" A2 X7 P, Z; p2 o2 }1 c1 V, L嗯,工具链之外还有就是他们sdk开发的不太友好,我在想有没有什么办法可以不改他们的sdk
使用道具 举报 回复
发表于 2020-1-30 11:20:30 | 显示全部楼层
你的工具链是哪个?看博客上是8.3.0的,但我在kendryte上找到的是8.2.0的。我先看看那个signal检测出错的问题
使用道具 举报 回复
发表于 2020-1-30 22:51:36 | 显示全部楼层
bernard 发表于 2020-1-30 11:20
! l8 P; j- v( }$ t) `你的工具链是哪个?看博客上是8.3.0的,但我在kendryte上找到的是8.2.0的。我先看看那个signal检测出错的问 ...
& u/ O$ B9 q1 |% l% G
我工具链用的是原来bsp里面配置的那个工具链项目的最新版本,没用kendryte的工具链。因为一开始用kendryte的工具链好像也是这个问题,然后想换个工具链会不会没问题了,然后就一直用我博客里那个了没换回去。
: D0 J9 q+ F' A) j2 S% q0 r" Q* s不过我刚刚再去github上看发现那个8.3.0的没了,只有8.2.0的了,不过用这个版本的工具链也能够复现那个问题。3 }' y, e6 ~: ]  `7 T( g6 ^2 {. U
https://github.com/ilg-archived/ ... v8.2.0-2.2-20190521
使用道具 举报 回复
发表于 2020-1-31 14:02:11 | 显示全部楼层
我用的是这里的v8.3.0的toolchain,用下来没问题:: w, p# ~  A( h# L  `+ s% @

9 G7 u' u& S. x& o  |+ Q+ q: ]' Phttps://github.com/xpack-dev-too ... -gcc-xpack/releases
  c- Z3 e$ r- {2 j  X/ L5 A, J$ M1 C' F7 a9 Y  n/ ^7 H
在使用之前,需要把k210/cconfig.h文件删除掉,让它重新生成一遍即可编译通过了。你用这个工具链也确认下
使用道具 举报 回复
发表于 2020-1-31 20:25:29 | 显示全部楼层
bernard 发表于 2020-1-31 14:02
' c( q5 |3 G) U我用的是这里的v8.3.0的toolchain,用下来没问题:$ w/ {" y0 E9 d0 y& W. ~

' t8 C+ {2 t& @! Jhttps://github.com/xpack-dev-tools/riscv-none-embed ...

3 p+ x# s/ Y: K8 q0 o8 Q! Q我又试了一下,原来的bsp是可以直接编译通过的。! t' }" }3 w) \( U6 B
但是在更换sdk,同时修改rtconfig.py
% s1 a/ q3 v& u) U( z  t
  1. CXXFLAGS = '-std=c++17' + CFLAGS
复制代码

3 r; i+ U1 h# b4 u后问题复现
使用道具 举报 回复
发表于 2020-2-1 19:42:21 | 显示全部楼层
是不是关键在于c++17?是否是新sdk,关系并不大
使用道具 举报 回复
发表于 2020-2-1 20:30:36 | 显示全部楼层
bernard 发表于 2020-2-1 19:42" ?4 j+ N( F* S( i
是不是关键在于c++17?是否是新sdk,关系并不大
* M9 Z4 d4 s8 O/ u/ |% e- `( i, k8 @
有可能,但感觉也有可能是其他的,我看论坛里也有一个类似问题的帖子:
0 L0 U) u0 |7 E9 z% Ehttps://www.rt-thread.org/qa/for ... &highlight=k210
2 y+ [2 h) u  w4 d这个帖子里用的应该是kendryte官网上的工具链,也出问题了。我重新试了一下,对于原来的k210 bsp,不做任何修改,使用官网工具链就直接会报他帖子里这个错。: _& S% ^! z, G0 Y
而使用这个工具链直接编译没更改过的bsp是可以通过的。只有在:
) U& C- U! e, G* n& Z1、更换sdk 2、menuconfig中打开C++ 3、添加‘-std=c++17’之后才会出现我出现的问题。0 o  X/ W% J' H" \: }, n
2、3是因为新sdk是用c++17写的要是不开就会先出其他问题。; Z4 N* g& z. A# y
我估计是新的sdk中可能有什么函数调用到了出问题的那部分内容了
使用道具 举报 回复
发表于 2020-2-1 20:45:53 | 显示全部楼层
bernard 发表于 2020-2-1 19:42
9 P7 `$ D1 Z- C" {9 B& X是不是关键在于c++17?是否是新sdk,关系并不大
( z) P1 P: ^' m- u. Q
有点懵了,我刚刚切换到官方的工具链想再试一下,先把cconfig.h删掉,再用scons -c最后scons之后好像就不报这个错了,但后面在链接的时候报了一堆函数未定义的错误。我也不知道改了哪一步,用官方工具链的问题复现不出来了
使用道具 举报 回复
发表于 2020-2-1 23:41:09 | 显示全部楼层
OK,我后面尝试打开C++17试试
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表