英創(chuàng)公司的EM9X60系列工控主板(包括 EM9160、EM9360、EM9460、EM9660等)均具有7路物理串口。在Linux系統(tǒng)中,6路串口作為應(yīng)用串口,剩下的1路作為調(diào)試串口。一般情況下調(diào)試串口被系統(tǒng)內(nèi)核所占用,用來顯示內(nèi)核輸出信息以及console控制終端。這樣的配置可滿足大多數(shù)應(yīng)用對串口的需求。
在一些特殊的應(yīng)用中,需要的串口數(shù)超過6路,這時可把缺省作為調(diào)試的串口,經(jīng)過一定的設(shè)置,轉(zhuǎn)換為應(yīng)用串口,其設(shè)備名稱為“/dev/ttyS0”。在實際操作中,往往是直接通過應(yīng)用程序來實現(xiàn)這樣的轉(zhuǎn)換,具體的代碼如下:
利用函數(shù)ioctl( fd, TIOCCONS)來重新定義 console終端,應(yīng)用程序使用完畢后,還可將終端恢復,該部分程序代碼已經(jīng)修改測試好。
重定向控制臺終端console至tty1:
int fd;
printf('Close cnsole\n');
fd = open('/dev/tty1',O_RDONLY); // 改變console
ioctl( fd, TIOCCONS );
close( fd );
恢復控制臺終端console至缺省設(shè)置:
fd = open('/dev/tty0',O_RDONLY); // 恢復console
ioctl( fd,TIOCCONS );
close( fd );
printf('change console back: ttyS0\n');
在使用調(diào)試口應(yīng)用時,需要注意的是啟動程序必須按照終端模式進行啟動,而不能用execlp函數(shù)族的方式,因此我們調(diào)整了EM9X60系列板卡啟動管理程序在運行模式下的策略,應(yīng)用程序需要按照腳本的方式進行啟動,啟動的方法就是客戶編輯一個名為user.sh的腳本文件,并將該文件復制到EM9X60系列板卡的/mnt/nandflash,user.sh的內(nèi)容如:
#!/bin/sh
cd /mnt/nandflash/
/mnt/nandflash/step2_serialtest
這樣在板卡將會自動運行step2_serilatest應(yīng)用程序。
-
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219008 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6107瀏覽量
37071
發(fā)布評論請先 登錄
串口調(diào)試助手跟變頻器怎么通訊
Linux串口操作指南:3步搞定設(shè)置,告別亂碼與回顯干擾
RK3588平臺串口配置修改指南:切換至串口8
DR1平臺Linux應(yīng)用開發(fā)指南:含GDB調(diào)試、Python及MQTT實戰(zhàn)
串口調(diào)試步驟(適合免驅(qū)動的232串口設(shè)備)
【EASY EAI】基于瑞芯微RV1126B的串口調(diào)試
【EASY EAI】基于瑞芯微RV1126B 的串口調(diào)試說明
診斷型串口線詳解
外部晶振在USB轉(zhuǎn)串口模塊的應(yīng)用
串口轉(zhuǎn)網(wǎng)口網(wǎng)關(guān)有哪些功能應(yīng)用
智嵌物聯(lián)串口轉(zhuǎn)光纖轉(zhuǎn)換器-延長串口通信距離,增強抗干擾性能
科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略
串口網(wǎng)關(guān)是什么
1分鐘學會T113-i核心板串口調(diào)試技巧
2025 年串口服務(wù)器品牌解析:技術(shù)演進與行業(yè)應(yīng)用指南
英創(chuàng)信息技術(shù)Linux調(diào)試串口轉(zhuǎn)換為應(yīng)用串口的方法
評論