使用STM32CubeMX添加RT-thread遇到的问题

2019-9-12 11:35 [复制链接] 5 1016

本帖最后由 刘伟伟 于 2019-9-12 11:35 编辑
; E0 J$ u+ N* m) i: d- u) i% F( Z
/ Q6 e" [; l/ i我的目的是移植rt-thread到自己的板子上。
9 q2 J4 O' {' I; D- @1 q. ]1、我参考的是RT-Thrad的官方文档,直接从CubeMX中导入软件包的方式,这是参考文档的url     https://www.rt-thread.org/docume ... be/an0032-nano-mx5/" m* H# g( i/ {- l8 W
2、自己的外设只有usart串口,一个简单的led外设,按照文档步骤都走完流程。3、生成keil工程代码,编译通过,烧写  .hex 文件到板子上。
- l! W/ R; ?$ V' }
" Y9 z7 P" b, z% x0 m8 [( e! T4、出现的问题是: 我手动复位了硬件,但是通过xshell连接到串口,连接不上rt-thread的命令行。; S6 X& M6 ^& Q2 ]
5、我想检测 内核是否转起来了,在main中添加了几行代码,如下图所示: 代码是循环反转led灯,使用hal提供的函数输出字符,使用rt-thread的printf打印字符。 但是也都没有反应。( C$ J3 I3 v' _4 l
2 T0 s; D/ z1 U5 m2 o3 i
QQ截图20190912113240.jpg
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-12 11:58:08 | 显示全部楼层
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。
" J$ A5 l7 H# D可以将HAL_DELAY(500)改为rt_thread_mdelay(500);rtt的这个delay函数会引起调度,shell线程会被运行。
使用道具 举报 回复
发表于 2019-9-12 13:31:21 | 显示全部楼层
yangjie 发表于 2019-9-12 11:580 t, Y, n1 K* O0 p
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。6 P* N: n9 k/ O" r# ~) P; Y
可以将HAL_DELAY(500)改为rt_t ...

3 X" k# d2 C* M! J我改成 rt_thread_mdelay(); 试过了,还是没有任何现象。如果代码一直在while(1)中跑的话,会执行到我添加的代码,即led灯闪烁,并打印字符的。这个现象看来是代码没有运行到main()吗。
使用道具 举报 回复
发表于 2019-9-12 14:25:13 | 显示全部楼层
只有 nano 是使用不了 shell控制台的。把你的 rt_kprintf 注释掉,然后只使用 rt_thread_mdelay 来进行 led 翻转,如果还不行的话,单步看一下程序死在哪了
使用道具 举报 回复
发表于 2019-9-12 14:49:34 | 显示全部楼层
在nano上实现shell还要看这篇文档:https://www.rt-thread.org/docume ... /an0033-nano-finsh/
使用道具 举报 回复
发表于 2019-9-16 15:25:54 | 显示全部楼层
yangjie 发表于 2019-9-12 14:49( t) d/ i+ b* n
在nano上实现shell还要看这篇文档:https://www.rt-thread.org/document/site/tutorial/nano/nano_finsh/an ...
& e9 m5 s7 u4 j
你是对的,我还需要这篇文章。然后解决一些error,就编译通过了,现在已经可以使用shell了。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  1. 1 主题
  2. 11 帖子
  3. 11 积分

Ta的主页 发消息

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

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

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

Powered by RT-Thread

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