OpenEdv-开源电子网

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

关于ucos-ii中printf函数调用的问题

[复制链接]

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2012-5-5
在线时间
13 小时
发表于 2015-8-15 21:14:04 | 显示全部楼层 |阅读模式
5金钱
最近移植ucos-ii到STM32板子上时发现一个问题,一调用printf函数的话任务直接不能运行,系统死机,希望大神指点!!!是不是printf函数用的是DOS属于不可重入函数???

最佳答案

查看完整内容[请看2#楼]

回复【2楼】Llinuxu: --------------------------------- 找到原因了,之前正点原子的资料里忽略了一个很重要的问题,那就是在任务建立之前,ucos初始化之前要进行的一步就是关闭所有中断!在OS_CPU_a.asm中加两句作为输出函数用EXPORT声明一下, CPU_IntDis         CPSID   I         BX      L ...
good good study ,day day up!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2012-5-5
在线时间
13 小时
 楼主| 发表于 2015-8-15 21:14:05 | 显示全部楼层
回复【2楼】Llinuxu:
---------------------------------
找到原因了,之前正点原子的资料里忽略了一个很重要的问题,那就是在任务建立之前,ucos初始化之前要进行的一步就是关闭所有中断!在OS_CPU_a.asm中加两句作为输出函数用EXPORT声明一下,
CPU_IntDis
        CPSID   I
        BX      LR


CPU_IntEn
        CPSIE   I
        BX      LR
以及在OS_CPU.H中加上C的声明。在创建任务之前调用关闭所有中断!
good good study ,day day up!!!
回复

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-4-28
在线时间
5 小时
发表于 2015-8-15 22:57:01 | 显示全部楼层
printf函数会占用额外的空间,可能是你的栈空间开小了才会导致死机,另外,用该函数需要用另一个函数来映射你的具体串口,我相信这个你肯定是映射了的!
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2012-5-5
在线时间
13 小时
 楼主| 发表于 2015-8-16 10:24:52 | 显示全部楼层
回复【2楼】Llinuxu:
---------------------------------
我就是在mian函数中调用的,在任务创建之前就调用了,应该不存在栈空间小的问题,映射我已经映射了。
good good study ,day day up!!!
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2012-5-5
在线时间
13 小时
 楼主| 发表于 2015-8-16 10:27:26 | 显示全部楼层
回复【2楼】Llinuxu:
---------------------------------
我尝试了一下在任务中调用printf函数是没问题的,但是在任务建立之前调用printf函数的话,printf函数运行之后的程序就直接死了,不清楚这里面到底什么原因。
good good study ,day day up!!!
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2012-5-5
在线时间
13 小时
 楼主| 发表于 2015-8-16 10:36:27 | 显示全部楼层
回复【2楼】Llinuxu:
---------------------------------
我昨天尝试了一天发现在任务创建之前调用printf函数的话就容易导致ucos死机,如果在任务中调用printf函数的话就没问题,不清楚这里面是什么原因。
good good study ,day day up!!!
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-9-1
在线时间
2 小时
发表于 2016-11-3 17:18:33 | 显示全部楼层
printf语句没有执行,其它都没问题是怎么回事?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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