Linux應用開發手冊基于ARM AM335x

      網友投稿 652 2022-05-30

      開發案例說明

      本文檔涉及的開發案例位于產品資料“4-軟件資料\Demo\tl-linux-application\”路徑下的base-demos和python-demos目錄。

      base-demos目錄存放Linux常用開發案例,案例bin目錄存放可執行文件,案例src目錄存放源碼。python-demos目錄存放Python開發案例,案例腳本文件無需編譯,可直接運行。

      如需重新編譯Linux常用開發案例,請將對應案例src目錄復制到Ubuntu工作目錄下,進入src目錄執行如下命令加載Linux Processor SDK環境變量,并執行make命令進行案例編譯。編譯完成后,將在當前目錄下生成可執行文件。

      Host# source /home/tronlong/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/linux-devkit/environment-setup

      Host# make

      圖 1

      Linux常用開發案例

      tl_led_flash案例

      案例功能

      本案例通過向評估底板用戶指示燈LED設備節點反復交替寫入1、0數值,實現LED閃爍效果。LED點亮與熄滅時間均為0.5s。

      程序流程如下圖所示:

      圖 2

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

      圖 3

      操作說明

      將本案例bin目錄下的可執行程序tl_led_flash復制到評估板文件系統,并在可執行程序所在目錄執行如下命令運行程序,即可看到評估底板LED以0.5s的時間間隔進行閃爍。同時,串口終端打印系統全部LED設備信息和程序當前控制的LED設備信息。

      Target# ./tl_led_flash -help

      Target# ./tl_led_flash -n 3

      圖 4

      關鍵代碼

      預定義LED數組。程序由此數組獲取LED信息,數組信息必須為系統已有LED信息,否則程序運行報錯。

      圖 5

      LED亮滅操作和時間間隔。

      圖 6

      tl_key_test案例

      案例功能

      本案例通過監聽用戶按鍵設備節點狀態,檢測按鍵事件。

      程序流程如下圖所示:

      圖 7

      用戶按鍵設備節點為“/dev/input/event1”。獲取按鍵事件后進行按鍵鍵值匹配,再進行事件處理。

      操作說明

      將本案例bin目錄下的可執行程序tl_key_test復制到評估板文件系統,在可執行程序所在目錄執行如下命令運行程序,串口終端將打印提示信息。再按下評估板用戶按鍵,程序將檢測到按鍵事件,并打印按鍵狀態信息。

      Target# ./tl_key_test -help

      Target# ./tl_key_test -d /dev/input/event1

      圖 8

      關鍵代碼

      定義按鍵。

      圖 9

      監聽按鍵事件。

      圖 10

      循環監聽。

      圖 11

      tl_uart_rw案例

      案例功能

      本案例主要實現串口讀寫功能。

      程序流程如下圖所示:

      圖 12

      RS232、RS485串口設備節點分別為“/dev/ttyS0”、“/dev/ttyS1”。串口初始化時將設置波特率、模式、數據位、停止位等參數。通過設備文件描述符對串口進行讀寫操作。

      操作說明

      使用RS232交叉串口母線、USB轉RS232公頭串口線,將評估板的RS232串口連接到PC機的USB接口,如下圖所示。

      圖 13

      將本案例bin目錄下的可執行程序tl_uart_rw復制到評估板文件系統,進入可執行程序所在目錄,執行如下命令查看程序參數信息。

      Target# ./tl_uart_rw -h

      圖 14

      執行如下命令進行RS232串口數據讀操作。

      Target# ./tl_uart_rw -d /dev/ttyS0?-r -s 8

      打開產品資料“-產品資料\Tools\Windows\”目錄下的串口調試工具SerialDebug.exe,打開PC機設備管理器,確認RS232串口COM端口號,并按照下圖步驟進行操作或設置,從串口調試工具往RS232串口發送數據。調試串口終端將會打印從RS232串口讀取到的數據。

      圖 15

      圖 16

      執行如下命令進行RS232串口數據寫操作,數據已在程序中定義。串口調試工具將會打印從RS232串口接收的數據。

      Target# ./tl_uart_rw -d /dev/ttyS0?-w -s 8

      圖 17

      圖 18

      Linux應用開發手冊基于ARM AM335x

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

      圖 19

      RS232轉RS485模塊與評估板上RS485串口連接方法如下:

      RS232轉RS485模塊485+端子,連接評估板RS485串口A端子。

      RS232轉RS485模塊485-端子,連接評估板RS485串口B端子。

      RS232轉RS485模塊GND端子,連接評估板RS485串口GND端子。

      執行如下命令進行RS458串口數據讀寫操作。RS485串口測試步驟與現象與RS232類似,命令中的設備節點由ttyS0改成ttyS1即可。

      Target# ./tl_uart_rw -d /dev/ttyS1?-r -s 8 //RS485串口數據讀操作

      Target# ./tl_uart_rw -d /dev/ttyS1?-w -s 8 //RS485串口數據寫操作

      關鍵代碼

      串口初始化函數。

      圖 20

      串口讀寫函數。

      圖 21

      圖 22

      回環測試。

      圖 23

      相關邏輯。

      圖 24

      tl_can_echo案例

      案例功能

      本案例使用canutils工具包的canecho程序,實現CAN接口數據接收并重發功能。

      canutils工具包內含5個獨立的程序,分別為canconfig、candump、canecho、cansend、cansequence。各程序功能簡述如下:

      canconfig:用于配置CAN接口參數,比如波特率、模式等。

      candump:從CAN接口接收數據并以十六進制形式打印到標準輸出,亦可輸出到指定文件。

      canecho:從CAN接口接收數據,并將接收到的數據對外發送。

      cansend:向指定CAN接口發送數據。

      cansequence:向指定CAN接口發送自動重復遞增數字,或指定接收模式并校驗接收的遞增數字。

      本案例僅使用canecho功能,如需實現其他功能,可自行下載canutils工具包并從中獲取對應功能程序源碼。下載鏈接:https://public.pengutronix.de/software/socket-can/canutils/。

      程序流程如下圖所示:

      圖 25

      操作說明

      使用USB轉CAN模塊連接評估板CAN0接口和PC機USB接口,如下圖所示。

      圖 26

      參照調試工具安裝文檔安裝USB轉CAN驅動和ECAN Tools調試軟件,雙擊打開ECAN?Tools軟件,選擇設備類型,然后點擊“打開設備”。

      圖 27

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

      圖 28

      進入評估板文件系統,使用文件系統自帶的canconfig工具設置波特率,并啟動CAN0接口。

      Target# canconfig can0 stop

      Target# canconfig can0 bitrate 125000

      Target# canconfig can0 start

      圖 29

      將本案例bin目錄下的可執行程序tl_can_echo復制到評估板文件系統,進入可執行程序所在目錄,執行如下命令查看程序參數信息。

      Target# ./tl_can_echo -help

      圖 30

      執行如下命令綁定CAN0接口,并接收由ECAN?Tools發出的數據,然后將接收到的數據重新發送出去。在ECAN?Tools中輸入數據并點擊發送按鈕,可看到有兩幀數據,一幀是發送數據,另一幀是接收數據。

      Target# ./tl_can_echo -v can0

      圖 31

      圖 32

      可按"Ctrl+Z"暫停程序,并執行如下命令退出程序。

      Target#? killall -9 tl_can_echo

      圖 33

      關鍵代碼

      使用socket監聽CAN接口。

      圖 34

      將從CAN接口接收到的數據重新發送出去。

      圖 35

      ARM 嵌入式 Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:園區基礎網絡類API概述及向導
      下一篇:淺析元宇宙丨元宇宙的前世今生
      相關文章
      久久亚洲AV成人无码| 狠狠综合久久综合88亚洲| 亚洲国产日韩在线视频| 亚洲伊人久久综合影院| 亚洲日本中文字幕一区二区三区| 国产精品亚洲专区无码不卡| 国产精品手机在线亚洲| 亚洲av日韩av欧v在线天堂| 国产亚洲视频在线观看| 国产亚洲女在线线精品| 亚洲成a人片在线观看国产| 一级毛片直播亚洲| 另类小说亚洲色图| 亚洲中文字幕无码爆乳av中文| 亚洲午夜精品一级在线播放放| 亚洲综合色区在线观看| 久久久久亚洲精品天堂久久久久久| 最新精品亚洲成a人在线观看| 国产成人综合亚洲亚洲国产第一页 | 国产亚洲漂亮白嫩美女在线| 国产成人综合久久精品亚洲| 一本久到久久亚洲综合| 亚洲福利精品一区二区三区| 亚洲日韩在线观看| 亚洲女初尝黑人巨高清| 久久青草亚洲AV无码麻豆| 五月天网站亚洲小说| 亚洲福利秒拍一区二区| 亚洲av成人一区二区三区| 亚洲依依成人亚洲社区| 欧美激情综合亚洲一二区| 亚洲精品久久久www| 亚洲人成网亚洲欧洲无码久久| 亚洲国产成人片在线观看| 亚洲宅男永久在线| 亚洲一级高清在线中文字幕| 亚洲日本成本人观看| 亚洲av日韩片在线观看| 一本久久a久久精品亚洲| 亚洲国产成人久久综合一 | 亚洲精品高清视频|