你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

加入printf语句后出现如下错误.求助

[复制链接]
厦门浪子 提问时间:2020-10-9 14:12 /
加入printf语句后出现如下错误.求教如何解决


Error: L6406E: No space in execution regions with .ANY selector matching ddl.o(i.ddl_memclr)

代码里面已经重定位了。
  1. //取消ARM的半主机工作模式
  2. #pragma import(__use_no_semihosting)                             
  3. struct __FILE {
  4.     int handle;
  5. };

  6. FILE __stdout;         
  7. _sys_exit(int x)
  8. {
  9.     x = x;
  10. }

  11. int fputc(int ch, FILE *f){      
  12.     while((USART1->SR&0X40)==0);
  13.     USART1->DR = (u8) ch;      
  14.     return ch;
  15. }
复制代码


收藏 评论1 发布时间:2020-10-9 14:12

举报

1个回答
小歆-2051663 回答时间:2020-10-9 15:08:59
正常应该用下面的代码实现printf函数功能的


  1. #ifdef __GNUC_
  2. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
  3. #else
  4. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
  5. #endif
  6. PUTCHAR_PROTOTYPE
  7. {
  8.         HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);

  9.         return ch;
  10. }
复制代码


所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版