电竞比分网-中国电竞赛事及体育赛事平台

分享

關(guān)于在Ubuntu下開發(fā)STM32程序printf函數(shù)的重映射問題(SW4STM32)

 rookie 2021-05-05

最近使用STM32CubeMX加Ubuntu18.0來進(jìn)行STM32相關(guān)程序的開發(fā),在使用串口打印的使用出現(xiàn)了如下問題:

  1. printf函數(shù)按照Keil中的方式進(jìn)行映射后,在軟件仍然無法正常使用Printf函數(shù)
  2. 使用了__io_putchar() 和 int putc()都無法解決問題

我是使用的時makefile項目來通過命令行進(jìn)行編譯的,在網(wǎng)上查了,并且親自測試后得出結(jié)論,在STM32CubeMX生成的makefile項目文件缺少syscalls.c文件,進(jìn)一步查詢發(fā)現(xiàn)這個主要是進(jìn)行系統(tǒng)調(diào)用的。結(jié)合其中的函數(shù),在使用int __io_putchar(int ch)進(jìn)行printf重映射的時候還需加入系統(tǒng)調(diào)用的相關(guān)函數(shù),如圖所示:


經(jīng)過上述的重映射之后printf函數(shù)就可以使用了,我這邊使用了FreeRTOS操作系統(tǒng),如圖:


串口接收到的數(shù)據(jù)如下圖所示:


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多