ARMam3354linux系统开发,Linux应用开发手册基于ARM AM335x

开发案例说明

本文档涉及的开发案例位于产品资料“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

93e1dbc3e9c6a7c6fa6678bf4993c991.png

图 1

Linux常用开发案例

tl_led_flash案例

案例功能

本案例通过向评估底板用户指示灯LED设备节点反复交替写入1、0数值,实现LED闪烁效果。LED点亮与熄灭时间均为0.5s。

程序流程如下图所示:

63791936a8cfeea91482c8d693c23e94.png

图 2

LED设备节点为“/sys/class/leds/user-ledX/”目录下的brightness。

faafac3975c77c3476c04b8e92e6d69e.png

图 3

操作说明

将本案例bin目录下的可执行程序tl_led_flash复制到评估板文件系统,并在可执行程序所在目录执行如下命令运行程序,即可看到评估底板LED以0.5s的时间间隔进行闪烁。同时,串口终端打印系统全部LED设备信息和程序当前控制的LED设备信息。

Target#./tl_led_flash -help

Target#./tl_led_flash -n 3

158c6f4504d6421d1178b452487b94f5.png

图 4

关键代码

预定义LED数组。程序由此数组获取LED信息,数组信息必须为系统已有LED信息,否则程序运行报错。

07aef7235b111b49939ee666e5c06806.png

图 5

LED亮灭操作和时间间隔。

e1e0eda9e0be01b8ae27bb914bc5892b.png

图 6

tl_key_test案例

案例功能

本案例通过监听用户按键设备节点状态,检测按键事件。

程序流程如下图所示:

7d0f437b40273c8da62b18da38ced825.png

图 7

用户按键设备节点为“/dev/input/event1”。获取按键事件后进行按键键值匹配,再进行事件处理。

操作说明

将本案例bin目录下的可执行程序tl_key_test复制到评估板文件系统,在可执行程序所在目录执行如下命令运行程序,串口终端将打印提示信息。再按下评估板用户按键,程序将检测到按键事件,并打印按键状态信息。

Target#./tl_key_test -help

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

455013a525eb8a286d3dae3425fd5745.png

图 8

关键代码

定义按键。

b11bf6d5c8a2d90f0c050dea5b066ee3.png

图 9

监听按键事件。

0570848d93aaf27c3d933b6e9288366c.png

图 10

循环监听。

3bee5eba52191076fea27676f399e2df.png

图 11

tl_uart_rw案例

案例功能

本案例主要实现串口读写功能。

程序流程如下图所示:

8f1a71a4730074437a7292b3d18aa782.png

图 12

RS232、RS485串口设备节点分别为“/dev/ttyS0”、“/dev/ttyS1”。串口初始化时将设置波特率、模式、数据位、停止位等参数。通过设备文件描述符对串口进行读写操作。

操作说明

使用RS232交叉串口母线、USB转RS232公头串口线,将评估板的RS232串口连接到PC机的USB接口,如下图所示。

ae8834ee22fb6c699a0b9ccc6e52f058.png

图 13

将本案例bin目录下的可执行程序tl_uart_rw复制到评估板文件系统,进入可执行程序所在目录,执行如下命令查看程序参数信息。

Target#./tl_uart_rw -h

aa8cda006a99103d6e452d1ed745aceb.png

图 14

执行如下命令进行RS232串口数据读操作。

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

打开产品资料“\4-产品资料\Tools\Windows\”目录下的串口调试工具SerialDebug.exe,打开PC机设备管理器,确认RS232串口COM端口号,并按照下图步骤进行操作或设置,从串口调试工具往RS232串口发送数据。调试串口终端将会打印从RS232串口读取到的数据。

db06ecaaef7bc80110ecbdd0a3f2f52c.png

图 15

d66f751f3bfd844f11160f55e1f6320e.png

图 16

执行如下命令进行RS232串口数据写操作,数据已在程序中定义。串口调试工具将会打印从RS232串口接收的数据。

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

40cafff50355cfeb69653cecb578854b.png

图 17

ae04c103f27c4b3610d7f142fdcb046e.png

图 18

使RS232转RS485模块、USB转RS232公头串口线,将评估板的RS485串口连接到PC机的USB接口,如下图所示。

917aa6810dee8b648dbb2d20aaaccd7b.png

图 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串口数据写操作

关键代码

串口初始化函数。

7835219e9e506c8fef61e51a5dddb8a8.png

图 20

串口读写函数。

ae2020534afaa7cb45b6dea5b4457b84.png

图 21

ea490c4aadff9547afba91cf2fe20522.png

图 22

回环测试。

2af08b8cbe736fe419e5b92f98f27e7d.png

图 23

相关逻辑。

18242ff1659ce6dfb34da526d3ed657f.png

图 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/。

程序流程如下图所示:

5fbccb6f6d51a54b434f7f56b9c891b6.png

图 25

操作说明

使用USB转CAN模块连接评估板CAN0接口和PC机USB接口,如下图所示。

2436609e53d89dcf71320f67ae8e3684.png

图 26

参照调试工具安装文档安装USB转CAN驱动和ECAN Tools调试软件,双击打开ECAN Tools软件,选择设备类型,然后点击“打开设备”。

7671fb4ff9004fec8f069e45ac1680ac.png

图 27

打开ECAN Tools,界面如下图所示。

7e889ded76c5f834f3e74ed257a19ab5.png

图 28

进入评估板文件系统,使用文件系统自带的canconfig工具设置波特率,并启动CAN0接口。

Target# canconfig can0 stop

Target# canconfig can0 bitrate 125000

Target# canconfig can0 start

eef18aed13c0810bed8d744f562a2bf7.png

图 29

将本案例bin目录下的可执行程序tl_can_echo复制到评估板文件系统,进入可执行程序所在目录,执行如下命令查看程序参数信息。

Target# ./tl_can_echo -help

aa3146c5d0fbb8aa6cd3689656ff3ca8.png

图 30

执行如下命令绑定CAN0接口,并接收由ECAN Tools发出的数据,然后将接收到的数据重新发送出去。在ECAN Tools中输入数据并点击发送按钮,可看到有两帧数据,一帧是发送数据,另一帧是接收数据。

Target# ./tl_can_echo -v can0

cab31240816a4ff32e10a1599841e525.png

图 31

cf1a6baf3b7e003cb229e2eb2e7449f2.png

图 32

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

Target#  killall -9 tl_can_echo

6c26831d0eddecfad7614beeebaf765a.png

图 33

关键代码

使用socket监听CAN接口。

1c8d24449d3e973dce48652fd83ca8ef.png

图 34

将从CAN接口接收到的数据重新发送出去。

94f661fc85a58e772803c636821f3624.png

图 35

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值