[英]Use printf in embedded c
我在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
有沒有人可以幫助我
在著名的搜索服務中搜索PMI_PSPR Aurix會彈出此論壇帖子 。
顯然,您正在鏈接代碼以從RAM運行。 更改鏈接器設置以將其鏈接到Flash,然后從那里運行。
在嵌入式C中使用printf
一種方法是使用UART通信。
將數值轉換為可打印的ascii格式並發送到UART,以便控制台上可以看到。
對於簡單的應用程序,您可以考慮將可打印字符存儲到某個數組緩沖區,並在活動結束時將數組緩沖區打印到UART
首先嘗試找出原因。 有兩種想法:
嘗試不使用printf格式化程序而使用stdout流。 格式化程序因人們的建議而腫,在嵌入式系統上通常不是一個好主意。 另外,您是否設置了stdout流的位置(它是否已映射到某些UART代碼,通常在嵌入式系統上您需要編寫或配置此代碼)? 使用putch('。'),putchar('。')甚至puts(“ Hello”)進行測試。
嘗試構建不使用stdout即可單獨使用sprintf()的代碼。 如果那也沒有建立,那很可能是格式化程序。 一些嵌入式編譯器允許將格式程序庫配置為較小的選項,以解決此問題(不支持完整的實現)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.