Firefly开源社区

标题: 驱动开发,GPIO这一节,SDK目录里面缺少gpio-firefly.c这个测试程序 [打印本页]

作者: drandy    时间: 2022-5-4 16:42
标题: 驱动开发,GPIO这一节,SDK目录里面缺少gpio-firefly.c这个测试程序
官方的网页上的说明,在sdk对应的目录下面没有找到 对应的驱动程序gpio-firefly.c,麻烦请单独提供一下这个测试程序?(SDK 的路径为:kernel/drivers/gpio/)
作者: zyk    时间: 2022-5-5 10:52
目前一些demo例子主要在Android SDK中

gpio-firefly.zip

1.32 KB, 下载次数: 21, 下载积分: 灯泡 -1 , 经验 -1


作者: drandy    时间: 2022-5-5 21:34
zyk 发表于 2022-5-5 10:52
目前一些demo例子主要在Android SDK中

kernel/arch/arm64/boot/dts/rockchip/目录下还缺少rk356x-firefly-demo.dtsi这个文件,麻烦也提供一下,多谢哈
作者: zyk    时间: 2022-5-6 11:35
https://dev.t-firefly.com/thread-120025-1-1.html
作者: Ender    时间: 2022-7-27 13:58
你好!想问一下这个测试程序能跑起来吗,我这里用vscode怎么提示找不到那些头文件
作者: zyk    时间: 2022-7-27 14:26
Ender 发表于 2022-7-27 13:58
你好!想问一下这个测试程序能跑起来吗,我这里用vscode怎么提示找不到那些头文件

你好,Android SDK一般都包含相关的文件了。若你使用的是linux sdk可以先同步一下更新
作者: Ender    时间: 2022-7-27 14:47
zyk 发表于 2022-7-27 14:26
你好,Android SDK一般都包含相关的文件了。若你使用的是linux sdk可以先同步一下更新

不是不是,我的意思是说提示我没有of-gpio.h头文件。是代码要放在特定的位置才找得到吗?

QQ图片20220727144635.png (7.04 KB, 下载次数: 1546)

QQ图片20220727144635.png

作者: zyk    时间: 2022-7-27 15:51
本帖最后由 zyk 于 2022-7-28 16:15 编辑

相关文件,在SDK目录下的kernel/include/linux应该都可以找得到,你可以找找看。提示没有这个文件是否是IDE插件没配好的问题
作者: Ender    时间: 2022-7-28 09:53
zyk 发表于 2022-7-27 15:51
相关文件,在SDK目录下的kernel/include/linux应该都可以找得到,你可以找找看。提示没有这个文件是否是IDE ...

相关文件我都能找到,但是编译的时候就是提示没有。在vscode里添加了路径以后,已经能自动补全头文件里的函数了,但是编译还是提示没有文件或目录。大佬求救

作者: zyk    时间: 2022-7-28 16:15
Ender 发表于 2022-7-28 09:53
相关文件我都能找到,但是编译的时候就是提示没有。在vscode里添加了路径以后,已经能自动补全头文件里的 ...

怎么编译的
作者: Ender    时间: 2022-7-28 17:11
zyk 发表于 2022-7-28 16:15
怎么编译的

aarch64-linux-gnu-gcc xxx.c -o xxx
作者: zyk    时间: 2022-7-28 20:36
是编译应用层程序?kernel编译在wiki上有说明
作者: Ender    时间: 2022-7-29 09:37
zyk 发表于 2022-7-28 20:36
是编译应用层程序?kernel编译在wiki上有说明

是编译应用层的程序。我想在板子上用GPIO和中断,是想用<linux/gpio.h>(编译器目录下)提供的接口的,比如gpio_request()。但是发现没有这些函数,然后用SDK/kernal/include/linux的<linux/gpio.h>又提示“没有那个文件或目录(实际上有),所以不知道是怎么回事。这里的头文件不能调用吗,还是说我的调用方法错了,又或者是需要设置环境变量什么的?这个和kernal编译应该没关系吧。
现在只能暂时用文件操作控制GPIO。
作者: zyk    时间: 2022-7-29 17:24
Ender 发表于 2022-7-29 09:37
是编译应用层的程序。我想在板子上用GPIO和中断,是想用(编译器目录下)提供的接口的,比如gpio_request ...

可以网上搜索一下,gcc可以通过参数指定头文件和库的路径
作者: zyk    时间: 2022-7-29 17:25
Ender 发表于 2022-7-29 09:37
是编译应用层的程序。我想在板子上用GPIO和中断,是想用(编译器目录下)提供的接口的,比如gpio_request ...

可以网上搜索一下,gcc可以通过参数指定头文件和库的路径
作者: Ender    时间: 2022-7-31 20:06
zyk 发表于 2022-7-29 17:25
可以网上搜索一下,gcc可以通过参数指定头文件和库的路径

好的好的,我有空试试,谢谢大佬
作者: Ender    时间: 2022-8-1 14:30
zyk 发表于 2022-7-29 17:25
可以网上搜索一下,gcc可以通过参数指定头文件和库的路径

用参数设置了以后好像可以链接到了,但是提示缺少asm/bitops.h,我看了下kernal/include下没有asm文件夹,只有asm-generic(但是kernal/include/asm-generic和kernal/include/linux里有这个文件),是我的文件缺失了吗?
作者: zyk    时间: 2022-8-2 14:39
用find命令搜索一下这个文件看看
作者: Ender    时间: 2022-8-2 17:14
zyk 发表于 2022-8-2 14:39
用find命令搜索一下这个文件看看

算了算了,暂时不折腾这个了我还想问问GPIO的复用问题,有些GPIO没办法改变value,我想应该是被复用为其他功能了,有办法在应用层换回GPIO功能吗?我看到wiki上的都是修改dtsi的,看不懂也不敢乱动。
作者: zyk    时间: 2022-8-2 18:36
Ender 发表于 2022-8-2 17:14
算了算了,暂时不折腾这个了我还想问问GPIO的复用问题,有些GPIO没办法改变value,我想应该是被 ...

没有。不过应该可以用IO命令去调寄存器,但是也比较麻烦
作者: Ender    时间: 2022-8-3 16:10
zyk 发表于 2022-8-2 18:36
没有。不过应该可以用IO命令去调寄存器,但是也比较麻烦

好的吧。想问下用串口会提示of_dma_request_slave_channel: dma-names property of node '/serial@fe670000' missing or empty是怎么回事呀?我读写串口的文件都没报错的
作者: Lun    时间: 2022-10-23 17:10
谢谢分享




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1