我在Eclipse上使用Aurix微控制器 我需要在控制台上显示未签名的char值, 我真的很喜欢
printf ("% hhx", tab [j]);
但是我遇到了这个错误:
error: AppKit_TC277TFT_TimeDemo.elf section `.inttab' will not fit in
region `PMI_PSPR'
error: region `PMI_PSPR' overflowed by 16788 bytes
有没有人可以帮助我
答案 0 :(得分:3)
在著名的搜索服务中搜索 PMI_PSPR Aurix 会弹出this forum post。
显然,您正在链接代码以从RAM运行。更改链接器设置以将其链接到Flash,然后从那里运行。
答案 1 :(得分:1)
在嵌入式c语言中使用printf
一种方法是使用UART通信。
将数值转换为可打印的ascii格式并发送到UART,以便在控制台上看到。
对于简单的应用程序,您可以考虑将可打印字符存储到某个数组缓冲区,并在活动结束时将数组缓冲区打印到UART
答案 2 :(得分:0)
首先尝试找出原因。有两种想法:
尝试不使用printf格式化程序而使用stdout流。格式化程序因人们的建议而肿,在嵌入式系统上通常不是一个好主意。另外,您是否设置了stdout流的位置(它是否已映射到某些UART代码,通常在嵌入式系统上您需要编写或配置此代码)?通过使用putch('。'),putchar('。')甚至puts(“ Hello”)进行测试。
尝试构建不使用stdout即可单独使用sprintf()的代码。如果那也没有建立,那很可能是格式化程序。一些嵌入式编译器允许将格式程序库配置为较小的选项,以解决此问题(不支持完整的实现)。