本文为Linux应用开发的指引文档,提供Linux应用开发环境、开发流程等说明,以及对平台关键技术及其支持情况进行简要介绍。同时本文将对部分通用开发技术进行说明,其它应用开发内容请按文中说明选择对应参考文档进行阅读。
当前应用开发支持情况如下表所示。
在完成开发环境搭建后,可参考本文的“Linux常用开发案例”章节熟悉基本的应用开发流程,然后可参考如下文档进行产品应用开发。
图形界面开发:参考《图形用户界面(GUI)开发手册》,其中包含Qt和LVGL的开发指引;
视频图像处理开发:暂无参考。
Windows开发环境:Windows10 64bit
Linux开发环境:VMware16.2.5、Ubuntu22.04.4 64bit
LinuxSDK开发包:LinuxSDK-[版本号](基于RK3506_LINUX6.1_SDK_Release_V1.1.0_20241128)
交叉编译工具链:arm-buildroot-linux-gnueabihf-gcc(版本为12.4.0,通过LinuxSDK编译生成)
评估板系统版本:U-Boot-2017.09、Linux-6.1.99、Buildroot-2024.02
备注:本文基于256MByte NAND FLASH、256MByte DDR3配置核心板进行演示。
为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。
本文档涉及的开发案例位于产品资料“4-软件资料\Demo\”路径下的base-demos目录。
base-demos目录存放Linux常用开发案例,案例bin目录存放可执行文件,案例src目录存放源码。
创龙科技TL3506-EVM是一款基于瑞芯微RK3506J/RK3506B处理器设计的3核ARM Cortex-A7 + ARM Cortex-M0国产工业评估板,主频高达1.5GHz。评估板由核心板和评估底板组成,核心板CPU、ROM、RAM、电源、晶振等所有元器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案,国产化率约为99%(按元器件数量占比,数据仅供参考)。核心板经过专业的PCB Layout和高低温测试验证,支持选配屏蔽罩,质量稳定可靠,可满足各种工业应用环境要求。
评估板接口资源丰富,引出2路Ethernet、3路USB2.0、2路CAN-FD、RS485、RS232等通信接口,同时引出LVDS OUT、MIPI DSI、HDMI OUT、TFT LCD、HP OUT/MIC IN等音视频多媒体接口。评估板板载WiFi模块,支持选配4G模块、PLP断电保护模块,并可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
请参考《开发环境搭建》的LinuxSDK安装章节正确解压LinuxSDK并安装相关依赖软件,然后参考《Linux系统开发手册》的LinuxSDK配置与编译章节正确编译LinuxSDK,生成支持应用开发的交叉编译工具链和sysroot。
编译完LinuxSDK后,请执行如下命令,完成Linux应用开发的环境变量配置,即可进行Linux应用开发。
Host# source /home/tronlong/RK3506/rk3506_linux6.1_release_v1.1.0/buildroot/output/rockchip_rk3506/host/environment-setup
通过source命令完成环境变量配置后,请执行如下命令,查看编译工具链版本。
Host# arm-buildroot-linux-gnueabihf-gcc -v
如需重新编译Linux常用开发案例,请将对应案例src目录拷贝至Ubuntu工作目录下,进入src目录执行如下命令配置交叉编译工具链,并执行make命令进行案例编译。编译完成后,将在当前目录下生成可执行文件。
Host# cd Demo/base-demos/led_flash/src/
Host# source /home/tronlong/RK3506/rk3506_linux6.1_release_v1.1.0/buildroot/output/rockchip_rk3506/host/environment-setup
Host# make
本案例通过向评估底板用户可编程指示灯LED设备节点反复交替写入1、0数值,实现LED闪烁效果。LED点亮与熄灭时间均为0.5s。
程序流程如下图所示。
LED设备节点为"/sys/class/leds/user-ledX/"目录下的brightness。
将本案例bin目录下的可执行程序led_flash拷贝至评估板文件系统,并在可执行程序所在目录执行如下命令运行程序,即可看到评估底板LED以0.5s的时间间隔进行闪烁。同时,串口终端打印系统全部LED设备信息和程序当前控制的LED设备信息。
Target# ./led_flash -help
Target# ./led_flash -n 1
预定义LED数组。程序由此数组获取LED信息,数组信息必须为系统已有LED信息,否则程序运行报错。
LED亮灭操作和时间间隔。
关注微信公众号Tronlong创龙科技,可获取更多更新的干货。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。