硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1452|回复: 4
收起左侧

[ThreadX全家桶] keil下用gcc编译链做串口重定向【失败一半】(AT32基于硬汉官方模板)

[复制链接]

5

主题

33

回帖

48

积分

新手上路

积分
48
发表于 2021-12-3 20:40:42 | 显示全部楼层 |阅读模式
RT,
由于公司正版要求,又习惯用keil,无奈结合gcc使用。

移植了硬汉的ThreadX模板到AT32F403A上,能正常流水灯

在自己写的bsp_uart.c下实现了串口重定向,支持用printf发送信息出去(在bsp_uart.c下)

然后在main.c下同样用printf就失败了,现象是调试终端无任何反应,单步调试会被直接跳过。。。。

求硬汉解惑,谢谢。

这是在bsp_uart.c下的重定向代码,在该文件下可以正常重定向发送
bsp_uart.png

但是在mian.c下就失败了。
main.png
while函数里的指示灯可以按预期闪烁,就是printf无反应。。。。。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115831
QQ
发表于 2021-12-4 00:55:27 | 显示全部楼层
这种方式能勾选Microlib吗,能的话,实现个fputc重定向即可
回复

使用道具 举报

5

主题

33

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2021-12-4 09:23:11 | 显示全部楼层
eric2013 发表于 2021-12-4 00:55
这种方式能勾选Microlib吗,能的话,实现个fputc重定向即可

现在情况是,裸奔系统,可以实现跨文件printf
上了THREADX,就失效了。估计是哪里配置出问题了吧,我再研究一下
回复

使用道具 举报

5

主题

33

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2021-12-7 16:29:16 | 显示全部楼层
21.12.07 更新
问题已经解决。。低级问题,,串口函数之后,执行了LED的初始化,,鬼使神差执行了GPIO_Reset(PORT),,而串口的io与led的io同在一组port上。。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115831
QQ
发表于 2021-12-7 16:50:10 | 显示全部楼层
ayuanshop 发表于 2021-12-7 16:29
21.12.07 更新
问题已经解决。。低级问题,,串口函数之后,执行了LED的初始化,,鬼使神差执行了GPIO_Res ...

。。。原因竟然是这个,还是非常感觉结贴并告知最终原因。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-21 12:46 , Processed in 0.284970 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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