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

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

本帖最后由 刘伟伟 于 2019-9-12 11:35 编辑 6 ?  _' b5 D3 n

. [, P) [' D0 T. s; f: g我的目的是移植rt-thread到自己的板子上。8 }+ h, U- {. ?- H1 X
1、我参考的是RT-Thrad的官方文档,直接从CubeMX中导入软件包的方式,这是参考文档的url     https://www.rt-thread.org/docume ... be/an0032-nano-mx5/0 e$ R  L1 C9 D* D( |& _! R
2、自己的外设只有usart串口,一个简单的led外设,按照文档步骤都走完流程。3、生成keil工程代码,编译通过,烧写  .hex 文件到板子上。
" a: R% |+ K* @1 L7 C4 q4 r) V( D7 D& m+ U+ s
4、出现的问题是: 我手动复位了硬件,但是通过xshell连接到串口,连接不上rt-thread的命令行。  b6 g$ l& S' e! Z8 I3 c6 k' y4 ]
5、我想检测 内核是否转起来了,在main中添加了几行代码,如下图所示: 代码是循环反转led灯,使用hal提供的函数输出字符,使用rt-thread的printf打印字符。 但是也都没有反应。. a( t- H& |( H; C& i
# l, H' g, n. M' t/ B' _! `
QQ截图20190912113240.jpg
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-12 11:58:08 | 显示全部楼层
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。- u7 m& a0 m& E; k9 [: V
可以将HAL_DELAY(500)改为rt_thread_mdelay(500);rtt的这个delay函数会引起调度,shell线程会被运行。
使用道具 举报 回复
发表于 2019-9-12 13:31:21 | 显示全部楼层
yangjie 发表于 2019-9-12 11:584 u1 a# ?  t3 G- V& Z
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。
( ~% G! Q! v+ \) f& x4 R可以将HAL_DELAY(500)改为rt_t ...
7 R% v/ Y9 Z# |' l5 I; y
我改成 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
- s8 S. C( u, c" @在nano上实现shell还要看这篇文档:https://www.rt-thread.org/document/site/tutorial/nano/nano_finsh/an ...
9 j6 L3 W5 @; ~0 F) `
你是对的,我还需要这篇文章。然后解决一些error,就编译通过了,现在已经可以使用shell了。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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