英創公司的EM9X60系列工控主板(包括 EM9160、EM9360、EM9460、EM9660等)均具有7路物理串口。在Linux系統中,6路串口作為應用串口,剩下的1路作為調試串口。一般情況下調試串口被系統內核所占用,用來顯示內核輸出信息以及console控制終端。這樣的配置可滿足大多數應用對串口的需求。
在一些特殊的應用中,需要的串口數超過6路,這時可把缺省作為調試的串口,經過一定的設置,轉換為應用串口,其設備名稱為“/dev/ttyS0”。在實際操作中,往往是直接通過應用程序來實現這樣的轉換,具體的代碼如下:
利用函數ioctl( fd, TIOCCONS)來重新定義 console終端,應用程序使用完畢后,還可將終端恢復,該部分程序代碼已經修改測試好。
重定向控制臺終端console至tty1:
int fd;
printf('Close cnsole\n');
fd = open('/dev/tty1',O_RDONLY); // 改變console
ioctl( fd, TIOCCONS );
close( fd );
恢復控制臺終端console至缺省設置:
fd = open('/dev/tty0',O_RDONLY); // 恢復console
ioctl( fd,TIOCCONS );
close( fd );
printf('change console back: ttyS0\n');
在使用調試口應用時,需要注意的是啟動程序必須按照終端模式進行啟動,而不能用execlp函數族的方式,因此我們調整了EM9X60系列板卡啟動管理程序在運行模式下的策略,應用程序需要按照腳本的方式進行啟動,啟動的方法就是客戶編輯一個名為user.sh的腳本文件,并將該文件復制到EM9X60系列板卡的/mnt/nandflash,user.sh的內容如:
#!/bin/sh
cd /mnt/nandflash/
/mnt/nandflash/step2_serialtest
這樣在板卡將會自動運行step2_serilatest應用程序。
-
Linux
+關注
關注
87文章
11456瀏覽量
212742 -
嵌入式主板
+關注
關注
7文章
6096瀏覽量
36135
發布評論請先 登錄
1分鐘學會T113-i核心板串口調試技巧

【教程】使用NE2系列串口服務器MQTT模式接入云平臺實例

瑞芯微開發板/主板Android調試串口配置為普通串口方法

為什么你的串口總是丟一些特殊字符?

串口中斷是內部中斷還是外部中斷,串口中斷是怎么觸發的
串口通訊異常處理方法 串口設備連接方式
嵌入式工程師都在找的【Linux內核調試技術】建議收藏!
中科創達榮獲2024年軟件和信息技術服務優秀企業
無線串口模塊—配置軟件以及串口助手的使用

全志A133開發板安卓系統調試串口復用成普通串口方法-觸覺智能EVB1309

更強的無線(雙)串口數據記錄 調試工具

評論