色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

電子工程網(wǎng)

標題: 高手請進!ARM嵌入式開發(fā)中GNU環(huán)境printf 重定向串口! [打印本頁]

作者: 潛艇8421    時間: 2009-6-27 18:10
標題: 高手請進!ARM嵌入式開發(fā)中GNU環(huán)境printf 重定向串口!
找了一下GOOGLE ,竟發(fā)現(xiàn)這個問題難倒不少人,網(wǎng)絡上好象找不到答案,不知道社區(qū)的實力如何?即管發(fā)此問題貼,合大家之力,希望能夠解決。
作者: wangkj    時間: 2009-6-27 18:39
啟動kernel時候指定終端是串口,就全定向到串口了。
作者: 一朝成名    時間: 2009-6-27 20:17
哈哈,同意ls,移植的時候不是要指定終端的嗎?

指定串口不就可以了
作者: 潛艇8421    時間: 2009-6-27 20:46
那是帶OS的用法,現(xiàn)在要剝?nèi)S 直接用,也就是象以下這段的代碼就必需打到串口去,
int main (void)
{
printf("Hello World\n");     //這樣怎么重定位?默認輸出是stdout.
}
作者: 一朝成名    時間: 2009-6-27 21:39
我說不可能這么簡單
原來是下個套

看來是有準備的
作者: 一朝成名    時間: 2009-6-27 21:50
我沒這么用過,但是想出來一個方法
那就是改printf函數(shù),不用本來的glibc的函數(shù)原型,將printf函數(shù)寫成一個簡短的串口驅動形式
這樣可以不?
作者: 潛艇8421    時間: 2009-6-27 22:01
俺查看了WINARM  中帶有的所有例程,WINARM是用 GNU工具鏈的arm-elf-gcc 編譯,用的是newlib 庫(嵌入式專用庫),WINARM中帶有的所有例程,竟沒有提到printf 重定向的例程,對于使用這個重定向,作者給人的感覺要么就說這個太簡單!還用給例程嗎?要么就真是有點難度?
作者: 潛艇8421    時間: 2009-6-27 22:09
RE:名人,為什么要花力氣搞懂這個printf的定向? 搞通這個是為以后測試開源代碼做準備,總不可能把別人寫的printf 全改成自已的啊,這樣會累壞人的,改一兩個絕對可以,如果很多,人會瘋的。

所以printf 的定向問題是必需擺平搞定的!
作者: 宇宙飛船    時間: 2009-6-27 22:31
俺查了一個叫“都江的DIY OS for ARM” 的用的是arm-elf-gcc  一大堆的源碼中竟同樣沒有用到printf 重定向串口的用法,國內(nèi)研究這個問題的深度由此可見一斑!
作者: 一朝成名    時間: 2009-6-27 22:59
RE:名人,為什么要花力氣搞懂這個printf的定向? 搞通這個是為以后測試開源代碼做準備,總不可能把別人寫的printf 全改成自已的啊,這樣會累壞人的,改一兩個絕對可以,如果很多,人會瘋的。

所以printf 的定向問 ...
潛艇8421 發(fā)表于 2009-6-27 22:09


加一個宏定義,OK了…不用改
然后寫自己的printf就不哦了?
作者: 宇宙飛船    時間: 2009-6-27 23:34
會產(chǎn)生沖突,編譯不可能通過的,就算能通過編譯,能正常工作嗎?
作者: 一朝成名    時間: 2009-6-27 23:40
我看很多都用類似XX_printf函數(shù)調(diào)試,等os完畢了再使用printf函數(shù)
偶不太理解飛船要搞什么東東
作者: 宇宙飛船    時間: 2009-6-27 23:53
本帖最后由 宇宙飛船 于 2009-6-27 23:58 編輯

8位機WINAVR 中有一個專門打開設備的函數(shù)---fdevopen( 自定串口函數(shù))。然后就把stdout重定向到串口了。 這樣可以正常使用printf 的各種功能。用C無非就是看中豐富的庫函數(shù)。printf是功能最強勁的一個,因此作為使用C語言的MCU開發(fā)者是很有必要搞懂printf的使用。
作者: 一朝成名    時間: 2009-6-27 23:59
還有就是__FILE__,__LINE__選項

Linux下調(diào)試也就這個方法了,gdb應用有限
作者: gfd    時間: 2010-7-26 10:23
太強了




歡迎光臨 電子工程網(wǎng) (http://m.54549.cn/) Powered by Discuz! X3.4