電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 3384|回復: 2
收起左側(cè)

Linux應用開發(fā)手冊基于ARM AM335x

[復制鏈接]

678

主題

902

帖子

8293

積分

高級會員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-9-27 14:14:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
開發(fā)案例說明本文檔涉及的開發(fā)案例位于產(chǎn)品資料“4-軟件資料\Demo\tl-linux-application\”路徑下的base-demos和python-demos目錄。
base-demos目錄存放Linux常用開發(fā)案例,案例bin目錄存放可執(zhí)行文件,案例src目錄存放源碼。python-demos目錄存放Python開發(fā)案例,案例腳本文件無需編譯,可直接運行。
如需重新編譯Linux常用開發(fā)案例,請將對應案例src目錄復制到Ubuntu工作目錄下,進入src目錄執(zhí)行如下命令加載Linux Processor SDK環(huán)境變量,并執(zhí)行make命令進行案例編譯。編譯完成后,將在當前目錄下生成可執(zhí)行文件。
Host#source /home/tronlong/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/linux-devkit/environment-setup
Host#make

圖 1

Linux常用開發(fā)案例 tl_led_flash案例
  • 案例功能
本案例通過向評估底板用戶指示燈LED設備節(jié)點反復交替寫入1、0數(shù)值,實現(xiàn)LED閃爍效果。LED點亮與熄滅時間均為0.5s。
程序流程如下圖所示:

圖 2

LED設備節(jié)點為“/sys/class/leds/user-ledX/”目錄下的brightness。

圖 3

  • 操作說明
將本案例bin目錄下的可執(zhí)行程序tl_led_flash復制到評估板文件系統(tǒng),并在可執(zhí)行程序所在目錄執(zhí)行如下命令運行程序,即可看到評估底板LED以0.5s的時間間隔進行閃爍。同時,串口終端打印系統(tǒng)全部LED設備信息和程序當前控制的LED設備信息。
Target# ./tl_led_flash -help
Target# ./tl_led_flash -n 3

圖 4

  • 關鍵代碼
預定義LED數(shù)組。程序由此數(shù)組獲取LED信息,數(shù)組信息必須為系統(tǒng)已有LED信息,否則程序運行報錯。

圖 5

LED亮滅操作和時間間隔。

圖 6

tl_key_test案例
  • 案例功能
本案例通過監(jiān)聽用戶按鍵設備節(jié)點狀態(tài),檢測按鍵事件。
程序流程如下圖所示:

圖 7

用戶按鍵設備節(jié)點為“/dev/input/event1”。獲取按鍵事件后進行按鍵鍵值匹配,再進行事件處理。
  • 操作說明
將本案例bin目錄下的可執(zhí)行程序tl_key_test復制到評估板文件系統(tǒng),在可執(zhí)行程序所在目錄執(zhí)行如下命令運行程序,串口終端將打印提示信息。再按下評估板用戶按鍵,程序?qū)z測到按鍵事件,并打印按鍵狀態(tài)信息。
Target# ./tl_key_test -help
Target# ./tl_key_test -d /dev/input/event1

圖 8

  • 關鍵代碼
定義按鍵。

圖 9

監(jiān)聽按鍵事件。

圖 10

循環(huán)監(jiān)聽。

圖 11

tl_uart_rw案例
  • 案例功能
本案例主要實現(xiàn)串口讀寫功能。
程序流程如下圖所示:

圖 12

RS232、RS485串口設備節(jié)點分別為“/dev/ttyS0”、“/dev/ttyS1”。串口初始化時將設置波特率、模式、數(shù)據(jù)位、停止位等參數(shù)。通過設備文件描述符對串口進行讀寫操作。
  • 操作說明
使用RS232交叉串口母線、USB轉(zhuǎn)RS232公頭串口線,將評估板的RS232串口連接到PC機的USB接口,如下圖所示。

圖 13

將本案例bin目錄下的可執(zhí)行程序tl_uart_rw復制到評估板文件系統(tǒng),進入可執(zhí)行程序所在目錄,執(zhí)行如下命令查看程序參數(shù)信息。
Target# ./tl_uart_rw -h

圖 14

執(zhí)行如下命令進行RS232串口數(shù)據(jù)讀操作。
Target# ./tl_uart_rw -d /dev/ttyS0 -r -s 8
打開產(chǎn)品資料“\4-產(chǎn)品資料\Tools\Windows\”目錄下的串口調(diào)試工具SerialDebug.exe,打開PC機設備管理器,確認RS232串口COM端口號,并按照下圖步驟進行操作或設置,從串口調(diào)試工具往RS232串口發(fā)送數(shù)據(jù)。調(diào)試串口終端將會打印從RS232串口讀取到的數(shù)據(jù)。

圖 15


圖 16

執(zhí)行如下命令進行RS232串口數(shù)據(jù)寫操作,數(shù)據(jù)已在程序中定義。串口調(diào)試工具將會打印從RS232串口接收的數(shù)據(jù)。
Target# ./tl_uart_rw -d /dev/ttyS0 -w -s 8

圖 17


圖 18

使RS232轉(zhuǎn)RS485模塊、USB轉(zhuǎn)RS232公頭串口線,將評估板的RS485串口連接到PC機的USB接口,如下圖所示。

圖 19

RS232轉(zhuǎn)RS485模塊與評估板上RS485串口連接方法如下:
  • RS232轉(zhuǎn)RS485模塊485+端子,連接評估板RS485串口A端子。
  • RS232轉(zhuǎn)RS485模塊485-端子,連接評估板RS485串口B端子。
  • RS232轉(zhuǎn)RS485模塊GND端子,連接評估板RS485串口GND端子。
執(zhí)行如下命令進行RS458串口數(shù)據(jù)讀寫操作。RS485串口測試步驟與現(xiàn)象與RS232類似,命令中的設備節(jié)點由ttyS0改成ttyS1即可。
Target# ./tl_uart_rw -d /dev/ttyS1 -r -s 8 //RS485串口數(shù)據(jù)讀操作
Target# ./tl_uart_rw -d /dev/ttyS1 -w -s 8 //RS485串口數(shù)據(jù)寫操作
  • 關鍵代碼
串口初始化函數(shù)。

圖 20

串口讀寫函數(shù)。

圖 21



圖 22

回環(huán)測試。

圖 23

相關邏輯。

圖 24

tl_can_echo案例
  • 案例功能
本案例使用canutils工具包的canecho程序,實現(xiàn)CAN接口數(shù)據(jù)接收并重發(fā)功能。
canutils工具包內(nèi)含5個獨立的程序,分別為canconfig、candump、canecho、cansend、cansequence。各程序功能簡述如下:
  • canconfig:用于配置CAN接口參數(shù),比如波特率、模式等。
  • candump:從CAN接口接收數(shù)據(jù)并以十六進制形式打印到標準輸出,亦可輸出到指定文件。
  • canecho:從CAN接口接收數(shù)據(jù),并將接收到的數(shù)據(jù)對外發(fā)送。
  • cansend:向指定CAN接口發(fā)送數(shù)據(jù)。
  • cansequence:向指定CAN接口發(fā)送自動重復遞增數(shù)字,或指定接收模式并校驗接收的遞增數(shù)字。
本案例僅使用canecho功能,如需實現(xiàn)其他功能,可自行下載canutils工具包并從中獲取對應功能程序源碼。下載鏈接:https://public.pengutronix.de/software/socket-can/canutils/。
程序流程如下圖所示:

圖 25

  • 操作說明
使用USB轉(zhuǎn)CAN模塊連接評估板CAN0接口和PC機USB接口,如下圖所示。

圖 26

參照調(diào)試工具安裝文檔安裝USB轉(zhuǎn)CAN驅(qū)動和ECAN Tools調(diào)試軟件,雙擊打開ECAN Tools軟件,選擇設備類型,然后點擊“打開設備”。

圖 27

打開ECAN Tools,界面如下圖所示。

圖 28

進入評估板文件系統(tǒng),使用文件系統(tǒng)自帶的canconfig工具設置波特率,并啟動CAN0接口。
Target# canconfig can0 stop
Target# canconfig can0 bitrate 125000
Target# canconfig can0 start

圖 29

將本案例bin目錄下的可執(zhí)行程序tl_can_echo復制到評估板文件系統(tǒng),進入可執(zhí)行程序所在目錄,執(zhí)行如下命令查看程序參數(shù)信息。
Target# ./tl_can_echo -help

圖 30

執(zhí)行如下命令綁定CAN0接口,并接收由ECAN Tools發(fā)出的數(shù)據(jù),然后將接收到的數(shù)據(jù)重新發(fā)送出去。在ECAN Tools中輸入數(shù)據(jù)并點擊發(fā)送按鈕,可看到有兩幀數(shù)據(jù),一幀是發(fā)送數(shù)據(jù),另一幀是接收數(shù)據(jù)。
Target# ./tl_can_echo -v can0

圖 31


圖 32

可按"Ctrl+Z"暫停程序,并執(zhí)行如下命令退出程序。
Target#  killall -9 tl_can_echo


圖 33

  • 關鍵代碼
使用socket監(jiān)聽CAN接口。

圖 34

將從CAN接口接收到的數(shù)據(jù)重新發(fā)送出去。

圖 35

嵌入式DSP、ARM、FPGA多核技術開發(fā),學習資料下載:http://site.tronlong.com/pfdownload
回復

使用道具 舉報

3

主題

2721

帖子

3052

積分

四級會員

Rank: 4

積分
3052
沙發(fā)
發(fā)表于 2021-6-4 14:25:08 | 只看該作者
11111111111111111111111111
回復 支持 反對

使用道具 舉報

3

主題

2721

帖子

3052

積分

四級會員

Rank: 4

積分
3052
板凳
發(fā)表于 2021-6-4 14:25:20 | 只看該作者
11111111111111111111111111
回復 支持 反對

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表