谢谢。你说的很对,得使用__io_putchar进行重映射。在TrueSTUDI上试了试,还是不知道怎么设置。最后找到 ...
按照你说的进行了__io_putchar 的实现,以及包含syscalls.c的文件,进行编译,当调用printf,死掉了。。。可否贡献一个helloworld供参考,多谢 15268851967@163 发表于 2018-3-23 16:06
请教如何生成hex文件?谢谢
在项目设置里面,如图 沒有移植性問題
#include "string.h"
uint8_t u1txbuf;
#define u1Msg(...)sprintf((char*)u1txbuf, __VA_ARGS__);HAL_UART_Transmit(&huart1, u1txbuf, strlen((char*)u1txbuf),100) jjbboox 发表于 2018-3-16 18:48
是的,我居然把syscalls.c的事情给忘记了,不好意思哈!另外可能printf如果不输出浮点数的话,那个Linker ...
请问syscalls.c这个文件如何调用进去呢? 这个问题学习一下。还在实验。 为什么我找不到这个路径?????>->-> 本帖最后由 hi201803 于 2018-9-2 22:51 编辑
dontknowwhoiam 发表于 2018-3-16 18:19
谢谢。你说的很对,得使用__io_putchar进行重映射。在TrueSTUDI上试了试,还是不知道怎么设置。最后找到 ...根据网友回复参考库例程, 于是参考 swstm32调试的官方说明.
只要 修改3点:
1. 添加:
#include <stdio.h> /* 不要写成 #include ”stdio.h“ , 教训*/
2.加入:
int __io_putchar(int ch)
{
ITM_SendChar(ch);
return ch;
}
3.加入:
int _write(int file, char *ptr, int len)
{
int DataIdx;
for (DataIdx = 0; DataIdx < len; DataIdx++)
{
__io_putchar(*ptr++);
}
return len;
}
------------------------------------------------------------------------------
附件是截图.
anobodykey 发表于 2018-3-22 22:23
看下库例程吧,基本上每个库都会有printf示例的
谢谢, 最权威的.
另外,swstm32的,
在菜单Help / help Contents/SystemWorkbench for STM32 User Guide > Advanced/SWOTraces 下面.
还有,根据swstm32文档,还可以设置Semihosting, 支持调试.可以不需要 swo 线.
页:
1
[2]