完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
K2的ARM Linux GPIO怎么编程?
用的是EVMK2H,现在UBoot、Linux Kernel、文件系统安装MCSDK的文档已经烧写完毕。 下一步打算写个测试代码,运行在Linux上通过GPIO点亮LED。 但是没有一点Linux编程基础,有Linux操作GPIO的实例代码吗?或者从什么地方开始着手? |
|
相关推荐
5个回答
|
|
Feng jin :
你好,刚好前段时间写过K2的Linux GPIO控制LED灯的测试程序,基本思路是先找到操作LED对应的寄存器以及寄存器地址。相信这对你来说不是难事。接着就要编写驱动程序控制它。对于Linux驱动程序的编写,你需要明白如何编写模块程序,将控制代码加载到linux内核中。还有通过使用ioremap函数将寄存器的物理地址转换为虚拟地址,完成对寄存器的读写操作。建议看《Linux 设备驱动程序》第三版。 K2 控制LED全亮: #include 驱动程序需要必须对应的Makefile,生成模块程序 gpio.ko export LINUXDIR = /home/lr/build/linux-keystone-evmall: make -C $(LINUXDIR) M=`pwd`clean: make -C $(LinuxDIR) M=`pwd` cleanobj-m += gpio.o将gpio.ko拷贝到linux文件系统中,执行insmod gpio.ko 后LED灯全亮。 第一次回答问题,测试代码考虑的不够全面。望见谅。 |
|
|
|
xiaohongchen615 发表于 2018-6-21 04:01 谢谢您的回复,对我们非常有价值! 但是我理解的是这样的,我烧写的UBI文件是400多M的,应该包含了K2的所有接口驱动。TI应该将K2的这些接口驱动全部封装好了,然后我只需要去调用即可。 您这种方式,是基于最精简的Linux+文件系统下,自己实现GPIO驱动的吧? |
|
|
|
hkhwdz 发表于 2018-6-21 04:19 GPIO的接口见手册 http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Exploring#Keystone_GPIO_Driver 但毕竟GPIO的使用非常灵活,TI提供的驱动不可能可以覆盖到用户所有的情况,如果有自己的需求,应按照Linux驱动的标准进行修改。 |
|
|
|
hdfsf 发表于 2018-6-21 04:35 谢谢! 再问一下,我是通过git命令获得最新的Linux源码的,在drivers/gpio/gpio-keystone-ipc.c可以找到针对Keystone的GPIO驱动。 1. 但是基于这个.c去编程,是不是必须要在Ubuntu下,用makefile的那种方式去编程? 2. 我在Ubuntu下安装了CCSv6,能否用此.c在CCSv6下编程?类似于CCS下编DSP的程序。 3. 而这个.c的include包含了#include 4. http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/82679.aspx这个里面讲的是基于CCS的ARM裸跑程序,有在CCS下基于ARM Linux的范例工程可参考吗? 5. http://edu.21ic.com/Video/index/id/217这个也是基于CCS的ARM裸跑程序编写?有对应的基于CCS的ARM Linux程序编写指导吗? 谢谢!! |
|
|
|
hkhwdz 发表于 2018-6-21 04:48 如果你需要使用Linux系统,那肯定是要用makefile那套系统的;CCS不好做OS的编译。 裸跑和在Linux下编程不太一样,你需要学习的是Linux驱动的写法,这方面的资料和书籍网上有很多了;因为TI使用的也是标准的ARM核和Linux kernel; CCS只是一个IDE界面,原则上你想做当然可以。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:35 , Processed in 0.933413 second(s), Total 56, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号