OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6177|回复: 10

刚移植RTT去mini板上然后有个问题

[复制链接]

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
发表于 2020-6-27 11:54:38 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 冯子文 于 2020-6-27 11:57 编辑

动态创建线程的时候,总会进入错误。然后我发现将创建heap大小的函数放在main.c的最上面就不会报错,这是为什么呢?
下载.png
要是在main函数里面经过rt_hw_board_init()进行初始化就会有问题,但是这两段代码是一模一样的,没搞懂是为什么。
QQ截图20200627115606.png

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
 楼主| 发表于 2020-6-27 12:03:05 | 显示全部楼层
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14286
金钱
14286
注册时间
2018-8-3
在线时间
1147 小时
发表于 2020-6-27 14:44:47 | 显示全部楼层
回复

使用道具 举报

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
 楼主| 发表于 2020-6-27 17:25:36 | 显示全部楼层
翼行园子 发表于 2020-6-27 14:44
论坛有:http://www.openedv.com/forum.php?mod=viewthread&tid=232081&highlight=RT-THREAD

好的,谢谢老哥!但我还想知道为什么有出现这个问题
回复

使用道具 举报

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
 楼主| 发表于 2020-6-27 19:41:38 | 显示全部楼层
移植应该是没问题的 这个是工程,大哥们帮忙看看! rtt_learn.rar (4.7 MB, 下载次数: 7)
回复

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2019-9-5
在线时间
67 小时
发表于 2020-7-31 09:48:49 | 显示全部楼层
楼主还是没搞懂RT-Thread的启动流程是怎么一回事,在RT-Thread中你写的main.c并不是你的程序入口,详细的启动流程可以去官方手册查看。
回复

使用道具 举报

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
 楼主| 发表于 2020-8-3 15:19:46 | 显示全部楼层
Stefen 发表于 2020-7-31 09:48
楼主还是没搞懂RT-Thread的启动流程是怎么一回事,在RT-Thread中你写的main.c并不是你的程序入口,详细的启 ...

额 你说这个我知道 他是先从别的地方再跳转到main,我觉得你可以先看清楚我问的是什么
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2019-5-3
在线时间
21 小时
发表于 2020-8-15 17:11:03 | 显示全部楼层
rt_hw_board_init()不应该在main函数里面初始化,RT_Thread先调用rt_hw_board_init(),再执行main函数的。你说的不会报错是因为你把代码放在main.c上面,所以编译的时候找不到RT_USING_USER_MAIN和RT_USING_HEAP的定义,因为是条件编译,所以不会报错。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-8-17 01:38:26 | 显示全部楼层
帮顶
回复

使用道具 举报

33

主题

137

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2019-7-3
在线时间
113 小时
 楼主| 发表于 2020-8-19 17:13:36 | 显示全部楼层
符华上仙 发表于 2020-8-15 17:11
rt_hw_board_init()不应该在main函数里面初始化,RT_Thread先调用rt_hw_board_init(),再执行main函数的。 ...

但我这两个定义在rtconfig.h里面都有的
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2019-5-3
在线时间
21 小时
发表于 2020-8-20 17:07:39 | 显示全部楼层
冯子文 发表于 2020-8-19 17:13
但我这两个定义在rtconfig.h里面都有的

但是你的include在后面啊,include相当于把代码复制到那个地方,所以执行条件编译的时候其实是没有定义的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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