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

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

本帖最后由 刘伟伟 于 2019-9-12 11:35 编辑
4 I9 {& A3 \8 O6 ]; r7 w: W! }) |
& w. y7 u! H! ]" j8 y5 \% M0 _我的目的是移植rt-thread到自己的板子上。& y5 x( x. K" W7 O
1、我参考的是RT-Thrad的官方文档,直接从CubeMX中导入软件包的方式,这是参考文档的url     https://www.rt-thread.org/docume ... be/an0032-nano-mx5/( q% J4 t  M. R& N& L3 `+ y
2、自己的外设只有usart串口,一个简单的led外设,按照文档步骤都走完流程。3、生成keil工程代码,编译通过,烧写  .hex 文件到板子上。+ e/ ~) W4 ^4 }7 c0 ]; E2 c" k
! s. Q2 r7 @# W; m$ P$ ^
4、出现的问题是: 我手动复位了硬件,但是通过xshell连接到串口,连接不上rt-thread的命令行。9 X9 H' K7 l- S: H4 Z, j4 q
5、我想检测 内核是否转起来了,在main中添加了几行代码,如下图所示: 代码是循环反转led灯,使用hal提供的函数输出字符,使用rt-thread的printf打印字符。 但是也都没有反应。9 ?' q; [3 p; q% _0 M0 Q

; L: s- \  G5 j3 q

QQ截图20190912113240.jpg (67.05 KB, 下载次数: 2)

QQ截图20190912113240.jpg
使用道具 举报 只看该作者 回复
最新评论 | 正序浏览
只看楼主 |楼层直达:
沙发
发表于 2019-9-12 11:58:08 | 只看该作者
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。8 s& x$ c; X. `6 D" K0 ?; g$ o
可以将HAL_DELAY(500)改为rt_thread_mdelay(500);rtt的这个delay函数会引起调度,shell线程会被运行。
使用道具 举报 回复
板凳
发表于 2019-9-12 13:31:21 | 只看该作者
yangjie 发表于 2019-9-12 11:585 I) n; h* u' P; f, c2 [( ^
代码会一直在main的while(1)中跑,导致shell线程运行不到,它的优先级低。
7 b% e/ _  C' z+ c# U可以将HAL_DELAY(500)改为rt_t ...

, }8 V% {; N, D3 X& v( X, _/ L我改成 rt_thread_mdelay(); 试过了,还是没有任何现象。如果代码一直在while(1)中跑的话,会执行到我添加的代码,即led灯闪烁,并打印字符的。这个现象看来是代码没有运行到main()吗。
使用道具 举报 回复
地板
发表于 2019-9-12 14:25:13 | 只看该作者
只有 nano 是使用不了 shell控制台的。把你的 rt_kprintf 注释掉,然后只使用 rt_thread_mdelay 来进行 led 翻转,如果还不行的话,单步看一下程序死在哪了
使用道具 举报 回复
5#
发表于 2019-9-12 14:49:34 | 只看该作者
在nano上实现shell还要看这篇文档:https://www.rt-thread.org/docume ... /an0033-nano-finsh/
使用道具 举报 回复
6#
发表于 2019-9-16 15:25:54 | 只看该作者
yangjie 发表于 2019-9-12 14:49* C* F- a3 v- R& j5 _) k  E
在nano上实现shell还要看这篇文档:https://www.rt-thread.org/document/site/tutorial/nano/nano_finsh/an ...
0 e$ x5 p- g6 }8 ~( I: ?
你是对的,我还需要这篇文章。然后解决一些error,就编译通过了,现在已经可以使用shell了。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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