Openwrt开发指南 第18章 驱动开发之字符设备应用程序
2023-07-02 09:19:48 来源:嵌入式大杂烩
开发环境:
主机:Ubuntu12.04
【资料图】
开发板:RT5350
Openwrt:Openwrt15.05
1 编写应用程序在前面的章节中, 我们成功的写出了我们自己的驱动程序, 并且向应用程序提供了 open、read、write三个接口,那么接下来我们就来编写应用程序,调用这些接口。
#include < sys/types.h >#include < sys/stat.h >#include < fcntl.h >#include < stdio.h >int main(int argc, char **argv){int fd;char val;fd = open("/dev/RT5350", O_RDWR);if (fd < 0){printf("Can"t open /dev/RT5350\\n");}read(fd, &val, 1);write(fd, &val, 1);return 0;}
该应用程序很简单,就是在 main 函数里面依次调用了 open、read、write 三个函数接口。
2 写Makefile 文件前面我们写出了应用程序,下来我们就要编译应用程序。首先创建一个RT5350_drv_test 目录,然后进入该目录,再创建一个 src 目录,在 src 目录下新建一个Makefile 文件,内容如下。
CC = gccCFLAGS = -WallOBJS = RT5350_drv_test.oall: RT5350_drv_test%.o: %.c$(CC) $(CFLAGS) -c -o $@ $< $(LDFLAGS)fbtest: $(OBJS)$(CC) -o $@ $(OBJS) $(LDFLAGS)clean:rm -f rbcfg *.o
CC = gcc
CFLAGS = -Wall
OBJS = RT5350_drv_test.o
all: RT5350_drv_test
%.o: %.c
**(CC) **(CFLAGS) -c -o **@ **< $(LDFLAGS)
fbtest: $(OBJS)
**(CC) -o **@ **(OBJS) **(LDFLAGS)
clean:
rm -f rbcfg *.o
然后将前面写的应用程序RT5350_drv_test.c 复制到该目录下, 接着回到上一级目录,即 RT5350_drv_test 目录,再创建一个 Makefile 文件,内容如下。
##Copyright (C) 2019 OpenWrt.org# #This is free software, licensed under the GNU General Public License v2.# See /LICENSE for more information.#include $(TOPDIR)/rules.mkPKG_NAME:=RT5350_drv_testPKG_RELEASE:=1PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)include $(INCLUDE_DIR)/package.mkdefine Package/RT5350_drv_testSECTION:=utilsCATEGORY:=UtilitiesTITLE:=Frame buffer device testing toolDEPENDS:=+libncursesendefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/endefdefine Build/ConfigureendefTARGET_LDFLAGS :=define Build/Compile$(MAKE) -C $(PKG_BUILD_DIR) \\CC="$(TARGET_CC)" \\CFLAGS="$(TARGET_CFLAGS) -Wall" \\LDFLAGS="$(TARGET_LDFLAGS)"endefdefine Package/RT5350_drv_test/install$(INSTALL_DIR) $(1)/usr/sbin$(INSTALL_BIN) $(PKG_BUILD_DIR)/RT5350_drv_test $(1)/usr/sbin/endef$(eval $(call BuildPackage,RT5350_drv_test))
关于该 Makefile 的语法,在前面的章节中已经讲解过,不再赘述。
3 编译应用程序将RT5350_drv_test 的整个文件传到OpenWrt系统源码的package 目录下,然后进入 OpenWrt 系统源码的顶层目录,执行 make menuconfig。
$ cd openwrt/
$ make menuconfig
在弹出的菜单选项中。
Utilities --- >< * > RT5350_drv_test
图1
我们就能看到我们自己写的应用程序的选项 RT5350_drv_test,将该选项配置进系统,即选为*。接下来,退出保存,并重新编译系统。
$make V=99
编译完成以后,新生成的固件里面,就已经包含了我们的应用程序了。
18.4 测试然后将前面编译出来的驱动模块软件包也传入到开发板。接下来就开始测试。
1). 安装驱动程序
opkg install kmod-RT5350_drv_3.18.109-1_ramips_24kec.ipkcd lib/modules/3.18.109/insmod RT5350_drv.ko2). 运行测试程序
cd /RT5350_drv_test3). 卸载驱动
rmmod RT5350_drv当运行测试程序的时候,我们就能看到驱动中 open、read、write 函数中的调试信息。从而说明应用程序成功的调用了驱动的相应的函数。审核编辑:汤梓红
关键词:
为你推荐
-
Openwrt开发指南 第18章 驱动开发之字符设备应用程序
-
全国夏播粮食播种面积已过八成
-
TV动画《地狱乐》宣布制作第二季! 天天微头条
-
宝利通HDX8002XL(关于宝利通HDX8002XL介绍)
-
天天速递!全系配置丰富 宝骏云朵发布更多外观细节
-
中国人怼日本人_Japan是日本japanese是日本人 China是中国Chinese是中国人 这-全球资讯
-
苍头河大桥桩基施工工艺浅谈 最资讯
-
【天天聚看点】万圣书园为什么那么火_万圣书园的名称由来
-
新华视点|绿水青山的回响(上)-天天观天下
-
看热讯:qq空间相册照片打不开 空间照片打不开
-
resistant是什么手表(resistant) 当前短讯
-
焦点速讯:旭辉发布复牌进展:独立审查正在进行 加快刊发2022年年报
-
朔州市平鲁区人民法院_对于朔州市平鲁区人民法院简单介绍_全球资讯
-
中金:地缘政治风险或为金价提供中长期支撑-天天观察
-
中国驻法国使领馆提醒旅法中国公民加强安全防范-全球时讯
-
【环行旅舍】新手前期攻略与部分SSR和全部SR舍友访募TAG(攻略)内含激活码
-
青藏铁路正式进入“动车时代”
-
月抛隐形眼镜价格_月抛
-
环球速看:租赁房屋经营拆迁补偿吗?
-
秦钰恒:黄金周五空单1900获利,横盘布局1925做空思路
推荐内容
- Openwrt开发指南 第18章 驱动开发之字符设备应用程序
- 全国夏播粮食播种面积已过八成
- TV动画《地狱乐》宣布制作第二季! 天天微头条
- 宝利通HDX8002XL(关于宝利通HDX8002XL介绍)
- 天天速递!全系配置丰富 宝骏云朵发布更多外观细节
- 中国人怼日本人_Japan是日本japanese是日本人 Ch
- 苍头河大桥桩基施工工艺浅谈 最资讯
- 【天天聚看点】万圣书园为什么那么火_万圣书园的
- 新华视点|绿水青山的回响(上)-天天观天下
- 看热讯:qq空间相册照片打不开 空间照片打不开
- resistant是什么手表(resistant) 当前短讯
- 焦点速讯:旭辉发布复牌进展:独立审查正在进行
- 朔州市平鲁区人民法院_对于朔州市平鲁区人民法院
- 中金:地缘政治风险或为金价提供中长期支撑-天天
- 中国驻法国使领馆提醒旅法中国公民加强安全防范-
- 【环行旅舍】新手前期攻略与部分SSR和全部SR舍友
- 青藏铁路正式进入“动车时代”
- 月抛隐形眼镜价格_月抛
- 环球速看:租赁房屋经营拆迁补偿吗?
- 秦钰恒:黄金周五空单1900获利,横盘布局1925做
- 见证“海”上绿洲的盎然生机_天天消息
- 热讯:产业优势明显,外资大手笔抢筹概念股名单来
- 一汽奔腾T90正式上市,十万元售价产品力堪比豪华?
- 环球微速讯:可转债提示:祥源转债、明电转02、赫
- 每日短讯:队记:我听说湖人仍有兴趣续约拉塞尔
- 婚外恋经典电视剧 婚外恋的结局
- 【当前热闻】汽车power是什么意思啊(汽车power是
- 天天速递!奥园健康(03662):5月底已提交复牌申请
- 孙俪妈妈咋保养的?61岁脸无一丝皱纹,穿印花裙走
- 车被堵了打什么电话_车被堵了110还是122
- 江西省吉安市2023-06-22 04:40发布雷电黄色预警
- 具有哲理的深度个性QQ签名 有趣的单身胜过将就的
- 真正的Marxism应该做的事
- 墨西哥极端高温天气已致百余人死亡 部分地区最高
- 大模型狂飙半年,掏出真金白银的投资人是少数|当
- 湖北科技职业学院开设专业有什么 湖北科技职业学
- 清河针织产业再腾飞!快手助力新商崛起 全球微动态
- 当前快讯:什么是高职本科?和普通本科有什么区别?
- 辟谣!高铁踹座老人为退休政法干部信息不实-热讯
- 故宫博物院施行新规 对商业拍摄说“不”_环球热
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市