请教一下keil里如何更新RTE

发表在 内核学习营2019-4-14 21:29 [复制链接] 20 471

试了半天无法上传图片,只有文字描述,求助:. X2 t% Q" o# r
keil里,在Manage Run-Time Environment里,我的RTOS选项是红色,点开看device drivers  、 kernel 、shell 这三项都是红色,version显示是2.1.2。( [% u' K1 i  u1 \& P% g
我安装的是3.1.2版本,请问这里如何才能更新到3.1.2。谢谢' n$ I9 |; z/ e5 z6 g# F; ~- o
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-4-14 22:45:09 | 显示全部楼层
RTE 是啥,用的是Nano吗,最好上传一下图片(论坛回复点击高级,或者换个浏览器)
使用道具 举报 回复
发表于 2019-4-14 22:45:15 | 显示全部楼层
RTE 是啥,用的是Nano吗,最好上传一下图片()
使用道具 举报 回复
发表于 2019-4-15 00:17:36 | 显示全部楼层
是nano
使用道具 举报 回复
发表于 2019-4-15 00:21:00 | 显示全部楼层
点了高级,还是上不了图片,提示错误; x) U+ K# O7 }+ v4 }
使用道具 举报 回复
发表于 2019-4-15 10:28:28 | 显示全部楼层
本帖最后由 Ernest 于 2019-4-15 10:30 编辑
! v5 e6 k& S; p, V3 |- A6 Y: v
水清沙白 发表于 2019-4-14 22:45* X; |5 s* Z& \- W
RTE 是啥,用的是Nano吗,最好上传一下图片(论坛回复点击高级,或者换个浏览器) ...
. N* d3 N8 ?  Z+ X" }
红色的原因是否是软件包被破坏了?2 H4 J+ k$ }" [4 x& L2 Z4 r* l  ]7 ^
2 ^+ R5 m- g+ }+ _- R6 I5 a( K
升级 nano 参考文件《基于 keil 的 RT-Thread Nano 使用指南》中 Pack 安装小节,可以参照进行升级
使用道具 举报 回复
发表于 2019-4-15 11:53:42 | 显示全部楼层
pack 升级.png 升级主要位置如上图所示,展开RT-Thread 的相关pack ,选择要安装的即可. ]* E: }, ]3 |8 y; ~5 X6 |
: R( K4 y( I5 f7 ?: E. q# E. F- y
使用道具 举报 回复
发表于 2019-4-16 00:53:17 | 显示全部楼层
Ernest 发表于 2019-4-15 11:536 Q2 ?+ }# x: d; }& K* j1 x! s
升级主要位置如上图所示,展开RT-Thread 的相关pack ,选择要安装的即可
" Z2 @' o5 |2 |8 P
谢谢Ernest,问题解决了,是要先取消顶部的勾,然后选择3.1.2版本才能生效,但这里解决了,有出现新的问题,编译报错undefined symbol rt_ringbuffer_data_len(referred from usart.o)等等,我发现没有是没有ringbuffer.h和ringbuffer.c文件,于是从完整版4.0里拷贝过来,但是C文件却加载不进keil里,左列绿色RTOS那个标记没有加载文件的选项,其他文件夹都有加载文件的选项。。。现在又卡在这里了。。。。
使用道具 举报 回复
发表于 2019-4-16 09:22:05 | 显示全部楼层
本帖最后由 Ernest 于 2019-4-16 09:26 编辑
& t4 \+ U6 m' t( E2 y
Tiv 发表于 2019-4-16 00:530 M# |. l) y& H" s2 q* t6 ?
谢谢Ernest,问题解决了,是要先取消顶部的勾,然后选择3.1.2版本才能生效,但这里解决了,有出现新的问 ...

! Z1 u. [: I' V- C. A8 Z3 J2 I“顶部的勾”在哪?我这边实操,不需要这个动作. i4 S  {" W7 q

9 q2 U* E: ^( H" z- M/ @
使用道具 举报 回复
发表于 2019-4-16 11:11:54 | 显示全部楼层
Ernest 发表于 2019-4-16 09:22# Y. E9 Y! k( w
“顶部的勾”在哪?我这边实操,不需要这个动作
* ]8 K$ D' ?# Y+ _7 w
就是“Select Software Packs for Target ...”
使用道具 举报 回复
发表于 2019-4-16 11:13:16 | 显示全部楼层
现在困惑rt_ringbuffer.c文件无法加载进工程,msh所用到的串口驱动里提示函数未定义:
使用道具 举报 回复
发表于 2019-4-16 11:14:57 | 显示全部楼层
static rt_size_t rt_uart_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size); D' |' T4 k; i. E6 \
{# O# n* I) p- ^! |
    rt_size_t length;
5 V2 ?8 w. M1 R, \( `  R% ~) h. G1 e4 j    struct stm32_uart* uart;8 f# ^0 f5 @6 `+ A0 C/ G
    RT_ASSERT(serial != RT_NULL);0 t! V  x  V6 M% Q
    uart = (struct stm32_uart *)dev;" q. |+ X3 a6 P  G4 ?. Q4 G8 z  Y
    /* interrupt receive */
& v  H! W8 g  k7 }1 J# Y7 `$ g( \2 h/ I' `    rt_base_t level;
; N6 S( L/ y" R5 p$ ^0 t' \, d8 Q) O( w& c6 H; Q7 [
    RT_ASSERT(uart != RT_NULL);. d7 j2 F# @& h" t

1 f& J( j; M- {7 ^) o( K    /* disable interrupt */1 a' E! V6 F6 t( o$ x. ]7 _
    level = rt_hw_interrupt_disable();9 c4 j9 Z+ ^$ h4 `& G2 C: j6 f
        # k; v+ t4 r$ t" u% I7 D
    length = rt_ringbuffer_get(&(uart->rx_rb), buffer, size);& Y: O7 ~  @0 w" y6 Q
    /* enable interrupt */
/ ^. H/ u8 z  u: ]: F$ e9 g    rt_hw_interrupt_enable(level);
0 e) F' S: l) V
9 ]9 v9 `, k) ~# E& R2 r    return length;- y7 h- u# j! g0 D
}
- ?* @4 z& J- ~5 n! k, n
$ J" r9 j# s- `% A' R就是红色字体,rt_ringbuffer.c文件未能加载,rt_ringbuffer相关函数都提示未定义4 w" _9 F0 o. ~0 O; u/ i5 D

' t+ I0 r0 G" B7 e+ I- c. A' R5 v: ^
使用道具 举报 回复
发表于 2019-4-16 14:27:06 | 显示全部楼层
Tiv 发表于 2019-4-16 11:11/ [. c/ H  X" W; f' J! d& ]9 `
就是“Select Software Packs for Target ...”
7 }  @% f6 ]0 n
mdk版本是哪一个? 微信截图_20190416142639.png
使用道具 举报 回复
发表于 2019-4-16 14:35:47 | 显示全部楼层
本帖最后由 Ernest 于 2019-4-16 14:37 编辑
( K9 i! V, b8 ?8 J
Tiv 发表于 2019-4-16 11:14% g  d/ |8 D( C# X9 o) F  v
static rt_size_t rt_uart_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size)
& L2 V4 ^+ o( C8 ^: k{+ W' v6 a; W. R# u6 c  f/ F
    rt_ ...

' o! J+ q" {  m7 o! s! l  p  t请问你这个函数哪来的?自己实现,需要注意细节与匹配
1 ~; U) [8 d6 E1 t' U6 {& i
使用道具 举报 回复
发表于 2019-4-16 15:36:15 | 显示全部楼层
Ernest 发表于 2019-4-16 14:272 _4 B" j3 r/ ]( o& E& J( W( l
mdk版本是哪一个?

" R4 L4 m4 d1 E& z5.25
使用道具 举报 回复
发表于 2019-4-16 15:36:35 | 显示全部楼层
Ernest 发表于 2019-4-16 14:35! ^6 H& z1 Z. y  R' H
请问你这个函数哪来的?自己实现,需要注意细节与匹配

# d& C) ^0 Y2 ?& O+ W/ E# Y: eringbuffer.c里面的
使用道具 举报 回复
发表于 2019-4-16 15:40:35 | 显示全部楼层
谢谢Ernest的解答,经过3.1.2 、 3.0.3 、2.1.2版本对比,发现只有2.1.2可以成功在nano上实现msh。可能是刚开始学习的原因,始终没找到在3.1.2上实现的办法。。。先将就用2.1.2了,在这上面浪费了好长时间。。。
使用道具 举报 回复
发表于 2019-4-16 15:45:37 | 显示全部楼层
感觉rt-thread的教程太缺乏连贯性了,可能是版本更新得比较多的原因吧。。。也就是说向下兼容性太差了,往往看到老的教程,用新的版本就用不了。。。比如像MKD里的pack库,3.1.2、 3.0.3、 2.1.2这3个打开看里面的文件都不一样,加载进MDK的也不一样。当然也许是我刚刚开始学,好多还不懂的原因。但这也给入门者带麻烦,浪费很多时间在这里,这是到目前的体会。
使用道具 举报 回复
发表于 2019-4-17 09:33:34 | 显示全部楼层
本帖最后由 Ernest 于 2019-4-17 09:36 编辑 , |3 V/ S- V9 R- i1 ]( y+ C
Tiv 发表于 2019-4-16 15:368 a. [5 Z/ F  S$ n$ n
ringbuffer.c里面的
: N" v5 D- M; X2 Q
nano里面针对特定示例bsp提供这个文件,大多数不提供,自己移植通常需要自行添加
使用道具 举报 回复
发表于 2019-4-17 09:38:59 | 显示全部楼层
Tiv 发表于 2019-4-16 15:45
% i7 N: }5 n+ t8 t感觉rt-thread的教程太缺乏连贯性了,可能是版本更新得比较多的原因吧。。。也就是说向下兼容性太差了,往 ...
. F. ~5 X( \8 W* r( D
使用kernel都一样,添加步骤一样。版本升级必然导致文件不一样,使用仔细选择
使用道具 举报 回复
发表于 2019-4-17 09:40:09 | 显示全部楼层
Tiv 发表于 2019-4-16 15:36$ _  a3 o6 w: _& b3 x
5.25

$ ]4 e* y7 A$ C1 X* c5.26看来来没有
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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