3588 pwm android12 的操作,包含 NDK native C++

2024-05-15 16:52

本文主要是介绍3588 pwm android12 的操作,包含 NDK native C++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题: 客户需要在android12 的界面上操作板卡上的 PWM 蜂鸣器设备。

过程:

1 了解一下 3588 android12 源码的 关于PWM 的驱动。

设备树找不到 pwm

但是,

还不知道,android12 最终包含的 设备树是哪个,但是经过我的测试, 在android12 的 shell 里可以通过 sysfs 操作 pwm15.

2 了解一下PWM 子系统。

主要参考的是 正点原子的手册。

linux 有pwm 子系统。 芯片厂商需要完成的函数。

官方的pwm 驱动 只是在 /sys/ 目录下生成节点。

3 能否在 /dev/ 下生成设备节点。

感觉是可以的。

可以按照裸机的方式+字符设备的方式,自己写驱动。

能不能 改官方的 pwm子系统呢? 估计不行,太复杂。

4 怎么在andorid界面上 操作 PWM

要么是 写一个 操作 /sys/ 节点的C应用程序,然后,android app 去调用这个应用程序。

要么就是通过 NDK的方式 去操作 PWM , 但是最后还是会走到 操作 /sys/ 的设备节点。

5 测试一下直接在shell 中操作 /sys/ 看看有没有权限的限制。

发现没有。

6 接下俩写一个 C程序,在shell 中执行,看看,有没有权限。

后来我发现,在andoid12 的shell 中,无法使用 gcc 编译器,难道是没有 gcc 编译器吗?

所以只能是, 先编译好, 应用程序,然后拷贝到 android12 的命令行,测试。

但是没有找到 android12 的编译器路径。

使用这种方法也不行。

干脆使用 linux 源码中的编译器。
 

直接在 build.sh 中便找到了。

用这个编译一遍测试一下。

将程序 通过U盘拷贝到 android12 的shell 测试一下。

执行时有这个报错。

这个错误的解决方法 :

但是我还有另一种方式的测试,就是使用 android 的 NDK 。

1 首先是安装 android studio

发现网址 https://developer.android.com/studio?hl=zh-cn

无法下载 android studio 所以使用 网盘上之前的 android studio 进行安装。

这里需要等一段时间才可以 点击下一步,可能是在下载什么东西。

        

接下俩测试第一个程序。

出现这个界面

然后是 下载一个虚拟机。

从新下载一下 android11 的 SDK。

依然报相同的错误。

增加几个SDK看看。

还是不行。

还是这个报错。

继续解决:  原因是, 我自定义 了 SDK 的安装目录

这样做依然是 不可以。

干脆就要 卸载重装了。

        

卸载完。

重新安装。

剩下的步骤跟上面是一样的,只是我还是自定义了studio 的安装 的目录。

但是还是报错。

哈哈哈。彻底崩了。

接下来我就 安装一个 win10 的虚拟机。系统崩了大不了重新安装。

网页链接  下载 Windows 10

然后无脑下一步。

大概有4G

接下来就是 ,使用虚拟机安装 iso 了。

使用net 是可以上网的。

通过远程桌面的方式, 在win10 虚拟机 与 宿主机之间来 传输文件。

结果是不支持。

那么我就使用 共享的方式来传文件。

在虚拟机中直接使用这种方式。

虽然 我的 主机是 192.168.1.113,  虚拟机的ip 是: 192.168.128.132, 这样也是可以的。

然后安装的话,就是,一路next , 不设置任何的个人路径,看看怎么样。

但是在虚拟机中 win10 的安装报错。

然后重新 启动一下。

但是依然是这个报错。

重新sync 的方式。

在测试一遍 看看行不行。

还是不行。

我最终的解决方法: 去掉这个斜杠。

然后就是 安装虚拟机,按照上面的步骤进行安装。

结果又有报错。

在虚拟机中开启bios ,这是uefi.

结果跳到了, 重新安装的界面。

那么接下来就重新安装就好了。

这次对上了。

但是TMD ,bios 里面没有 虚拟化选项。

但是bios 里面依然是没有这个选项。

直接启动在系统里查看一下。

但是查不到。

最终还是使用的这个方法。

接下来 测试, android studio 的 虚拟机。

问题: 

下载SDK

但是在虚拟机中的 android studio 仍然是报一样的错误。

我开始怀疑这个 android studio 的安装包了。

尝试在虚拟机中下载 android studio , 居然是可以的。

依然是这个错误:

有点无奈了。

重新在PC机上 安装上了最新的 androdi studio 但是还是之前的 错误。

2 然后是安装 NDK

3 然后是编写native C++ 的测试程序。

这篇关于3588 pwm android12 的操作,包含 NDK native C++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992380

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数