全国产!瑞芯微 RK3576 ARM 八核 2.2GHz 工业开发板—Linux应用开发手册
前 言
本文涉及的开发案例位于产品资料“4-软件资料Demo”路径下的base-demos和python-demos目录。
base-demos目录存放Linux常用开发案例,案例bin目录存放可执行文件,案例src目录存放源码。python-demos目录存放Python开发案例,案例脚本文件无需编译,可基于我司提供的文件系统直接运行。
如需重新编译Linux常用开发案例,请先参考《Linux系统使用手册》文档正确安装LinuxSDK,构建适配评估板的交叉编译工具链。然后将对应案例src目录拷贝至Ubuntu工作目录下,在src目录执行如下命令配置交叉编译工具链,并执行make命令进行案例编译。编译完成后,将在当前目录下生成可执行文件。
备注:LinuxSDK版本号以实际情况为准。
Host#source /home/tronlong/RK3576/rk3576_linux6.1_release/buildroot/output/rockchip_rk3576/host/environment-setup
Host#make
图 1
开发板简介
创龙科技 TL3576-EVM 是一款基于瑞芯微 RK3576J/RK3576高性能处理器设计的4核ARM Cortex-A72 +4核 ARM Cortex-A53 + ARM Cortex-M0 国产工业评估板,Cortex-A72 核心主频高达 2.2GHz,Cortex-A53 核心主频高达 2.0GHz。评估板由核心板和评估底板组成,核心板 CPU、ROM、RAM、电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案,国产化率约为 99%(按元器件数量占比,数据仅供参考)。核心板经过专业的PCBLayout 和高低温测试验证,质量稳定可靠,可满足各种工业应用环境要求。
评估板硬件资源图解1
评估板硬件资源图解2
Linux常用开发案例
led_flash案例
案例功能
本案例通过向评估底板用户可编程指示灯LED设备节点反复交替写入1、0数值,实现LED闪烁效果。LED点亮与熄灭时间均为0.5s。
程序流程如下图所示。
图 2
LED设备节点为"/sys/class/leds/user-ledX/"目录下的brightness。
图 3
操作说明
将本案例bin目录下的可执行程序led_flash拷贝至评估板文件系统,并在可执行程序所在目录执行如下命令运行程序,即可看到评估底板LED以0.5s的时间间隔进行闪烁。同时,串口终端打印系统全部LED设备信息和程序当前控制的LED设备信息。
Target#./led_flash -h
Target#./led_flash -n 2
图 4
关键代码
预定义LED数组。程序由此数组获取LED信息,数组信息必须为系统已有LED信息,否则程序运行报错。
图 5
LED亮灭操作和时间间隔。
图 6
key_demo案例
案例功能
本案例通过监听用户输入按键USER1(KEY4)、USER2(KEY5)的状态,检测按键事件。
案例将获取按键事件后进行按键键值匹配,再进行事件处理,程序流程如下图所示。
图 7
操作说明
本次测试以用户输入按键USER1(KEY4)示例进行测试,如需测试用户输入按键USER2(KEY5),请修改对应的设备节点。
执行如下命令,查看USER1(KEY4)按键对应的设备节点。
Target#cat /proc/bus/input/devices
图 8
图 9
将本案例bin目录下的可执行程序key_demo拷贝至评估板文件系统,在可执行程序所在目录执行如下命令运行程序,串口终端将打印提示信息。再按下评估板用户输入按键USER1(KEY4),程序将检测到按键事件,并打印按键状态信息。
Target#./key_demo -h
Target#./key_demo -d /dev/input/event5
图 10
关键代码
定义按键。
图 11
监听按键事件。
图 12
循环监听。
图 13
can_echo案例
案例功能
本案例实现通过绑定一个CAN总线接口用于接收数据,当CAN端口接收到数据后,将数据重新发送到CAN总线接口。
程序流程如下图所示。
图 14
操作说明
请使用USB-CAN分析仪(型号:广成科技USBCAN-II FD)连接评估板CAN-FD1或CAN-FD2任一接口至PC机USB接口,硬件连接如下图所示。
本次测试以CAN-FD1接口(设备节点为:can0)为例进行演示。如需测试CAN-FD2接口,请将设备节点修改为can1。
图 15
评估板CAN-FD1接口与USB-CAN分析仪的连接关系如下表所示。
请参照《调试工具安装》文档安装GCAN Tools调试软件。在PC端打开GCANTools软件,选择设备类型,然后点击“打开设备”。根据USB-CAN分析仪实际硬件连接,选择CAN1或CAN2。等待软件检测到设备后,将设置波特率为"1000K",数据波特率设置为5000K,然后点击“确定”,如下图所示。
图 16
进入GCANTools软件发送界面,取消"CAN FD"选项,USB-CAN分析仪连接成功后将会显示Connected状态,如下图所示。
图 17
评估板启动进入评估板文件系统,执行如下命令配置CAN0总线波特率为1Mbps,配置数据波特率为5Mbps,并启动CAN0总线。
Target#ip link set can0 down
Target#ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on
Target#ip link set can0 up
图 18
将本案例bin目录下的可执行程序can_echo拷贝至评估板文件系统,进入可执行程序所在目录,执行如下命令查看程序参数信息。
Target#./can_echo --help
图 19
执行如下命令绑定CAN-FD1接口,并接收由GCANTools发出的数据,然后将接收到的数据重新发送出去。在GCANTools中输入数据并点击发送按钮,可看到有两帧数据,一帧是发送数据,另一帧是接收数据。
Target#./can_echo -v can0
图 20
图 21
图 22
图 23
可按"Ctrl + Z"暂停程序,并执行如下命令退出程序。
Target#killall -9 can_echo
图 24
关键代码
使用socket监听CAN接口。
图 25
将从CAN接口接收到的数据重新发送出去。
图 26
tcp_udp案例
案例功能
本案例主要实现客户端(client)与服务端(server)的文本数据相互收发功能。本案例包含4个程序:
tcp_server:TCP服务端测试程序。
tcp_client:TCP客户端测试程序。
udp_server:UDP服务端测试程序。
udp_client:UDP客户端测试程序。
程序流程如下图所示。
图 27TCP通信
图 28UDP通信
服务端和客户端程序均可在评估板、PC机Ubuntu系统上运行。本章节采用评估板本地回环测试,即服务端与客户端程序均在评估板上运行,通过127.0.0.1进行本地回环测试,无需经过路由器。案例bin目录下的4个文件均为ARM端可执行程序。
操作说明
将本案例bin目录下的4个可执行程序拷贝至评估板文件系统。
在Ubuntu中执行如下命令使用OpenSSH登录评估板文件系统,如下图所示。
Host#sudossh root@192.168.13.27 //192.168.13.27为评估板IP地址,请根据实际情况修改
图 29
在评估板系统中执行如下命令,启用本地回环接口。
Target#ifconfig lo up
图 30
TCP通信测试
在可执行程序所在目录执行如下命令,分别在评估板运行TCP服务端和客户端程序。2233为服务端程序指定的端口号,客户端程序端口号参数需与服务端程序一致。
Target#./tcp_server 2233 //TCP服务端命令
Host#./tcp_client 127.0.0.12233 //TCP客户端命令
程序执行后,客户端将会连接服务端。在服务端(Target)输入字符串"Tronlong",按下回车键即可在客户端显示对应内容。在客户端(Host)输入字符串"Hello Tronlong",按下回车键即可在服务端显示对应内容,如下图所示。
图 31TCP服务端
图 32TCP客户端
UDP通信测试
在可执行程序所在目录执行如下命令,分别在评估板运行UDP服务端和客户端程序。2233为服务端程序指定的端口号,客户端程序端口号参数需与服务端程序一致。
Target#./udp_server 2233 //UDP服务端命令
Host#./udp_client 127.0.0.12233 //UDP客户端命令
程序执行后,客户端将不会自动连接服务端。服务端在收到客户端信息前无法得知客户端的存在,因此需要客户端先向服务端发送信息。
在客户端(Host)输入字符串"Tronlong",按下回车键即可在服务端显示对应内容。在服务端(Target)输入字符串"Hello Tronlong",按下回车键即可在客户端显示对应内容,如下图所示。
图 33UDP服务端
图 34UDP客户端
如需在PC机Ubuntu系统运行服务端或客户端程序,请将案例src源码目录拷贝至Ubuntu工作目录。进入源码目录后执行make命令,即可在当前目录下生成x86端可执行程序。在不同终端运行服务端或客户端程序的命令类似,但127.0.0.1需使用服务器IP地址替代。
Host#makeclean
Host#make CC=gcc
图 35
关键代码
以TCP通信程序为例。
tcp_client.c
注意源码中的struct sockaddr_in、socket、connect、fgets、send、recv等数据结构和系统调用的使用。
tcp_server.c
注意源码中的struct sockaddr_in、socket、connect、fgets、send、recv、bind、listen、accept等数据结构和系统调用的使用。
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!
审核编辑 黄宇
- 随机文章
- 热门文章
- 热评文章
- 补贴购:Xiaomi 小米 14 5G手机 12GB+256GB 骁龙8Gen3
- 8月建行活动总汇,实测到手25元E卡,月初几率高,100%中奖,赶紧冲冲冲。
- 吃素会使人缺乏能量吗
- 人腺病毒感染尚无特效药和疫苗
- RIO鸡尾酒失色
- 西北地区东部华北等地将有一次降水过程 南方大部将有持续性高温天气
- 喜欢戴耳塞、开灯睡觉?警惕这些伤害→
- 华北东北等地暴雨如注 南方高温闷热天气增多增强
- 这张慢性病“防护网”,关系上亿人健康
- “朱氏内科疗法”非遗传人上海书展分享中医智慧
- 中美专家聚焦感染病学前沿成果
- 林戈:中国生殖医学的四十年,实现从“能生”到“优生”迈进
- 长江航道部门成功打捞枝江水道历史沉船
- 1《汉口路上》:勾连今昔的上海“荡马路”指南
- 2京东 明星送好礼 完成随机任务领随机京豆
- 3京东 满1500减120元优惠券,Plus会员可领~
- 4大众ID.3和ID.4 X聪明款上市,售价12.9888万起
- 5“凯里酸汤”长桌宴,一场美食文化之旅
- 62024全国青少年信息素养大赛总决赛圆满闭幕
- 7十个维度看中国|挑战用一百块钱打卡上海小吃 感受“city度”
- 8“穿越”三千年的探寻,殷墟商文明何以流量不止?
- 9冬季,糖尿病患者如何控好血糖?生活方式干预能替代药物治疗吗?| 时令节气与健康
- 10追光|不屈的灵魂 铸就体育荣光
- 11第七届进博会交通保障升级 出租车地铁支持外卡支付
- 12这份假期天气预报请查收!
- 13黑龙江:“双语”民族调解室 “调”出和谐新乡村
- 1crocs 卡骆驰 Literide 360 儿童户外拖鞋
- 2HELLY HANSEN 哈雷汉森 Odin 男子弹力夹克
- 3CHINA TELECOM 中国电信 封神卡 20年29元月租(135G全国流量+100分钟通话+自主激活)
- 4玩模总动员:让火焰净化一切!HEX 炎魔之王拉格纳罗斯 1/6 雕像 开箱
- 5可carry亦可辅助的果岭风扇
- 6QCY H3 主动降噪头戴蓝牙耳机
- 7好吃的巧克力排行前十名?哪种人气最高好吃?
- 8兰空图床,这个图床工具牛大啦!10分钟快速部署。
- 9不锈钢锅发黑怎么办?涂点这个东西,擦一擦,瞬间光亮如新
- 10【咖啡】1000元以下15台半自动咖啡机云选购攻略
- 11电脑技巧:推荐一款非常棒的截图软件X-Snip,值得收藏!
- 12“穷鬼天堂”,这些家居品,换个思路买,省下一个亿
- 13一键生成!4款超火视频自动生成器,你值得拥有!