10 SoldierJazz2020

尚未进行身份认证

横眉冷对千夫指,俯首甘为扫地僧。

等级
TA的排名 6k+

OpenWrt 之 MT7628 使用GPIO中断

在支持设备树的系统中使用中断一般有2种方式。一、DTS配置interrupt节点这里有个挺好的博客,链接地址:https://biscuitos.github.io/blog/DTS-interrupt/也即,找到dts文件中的GPIO中断控制器节点,然后在你的dts驱动节点中根据interruptcells数量做下声明。二、通过宏gpio_to_irq获取我在实验中是...

2020-03-27 10:03:26

OpenWrt 之 MT7628 移植第三方SPI驱动

1、在OpenWrt系统上移植SPI驱动前,首先要确保SPI相关引脚未被复用为其他功能,比如GPIO;以下操作已假定该条件成立,否则请修改相关dts和c文件中复用配置;2、打开dts配置文件进行修改,这里我是用的硬件为WRTNODE2R,所以文件路径为:/target/linux/ramips/dts/WRTNODE2R.dts。在SPI控制器节点下添加与我们要添加的SPI设备及驱动匹配的信息...

2020-03-26 16:21:47

gcc工具链查看默认编译选项

命令:echo "" | gcc -v -x c++ -E -如在Ubuntu系统下输出结果为:rambo@ubuntu:/tmp$ echo "" | gcc -v -x c++ -E -Using built-in specs.COLLECT_GCC=gccOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOAD_TARGET_DEFAULT=1T...

2020-03-26 13:08:19

苹果MacOS系统上安装第三方驱动失败/无效

近期不少用户在苹果系统上安装一些第三方驱动时反馈没有作用,但是驱动安装提示是完成的,并拷贝到了系统的驱动路径下;造成该问题的原因可参见如下苹果官方说明:User-Approved Kernel Extension Loading引用下第一段官网说明macOS High Sierra 10.13引入了一项新功能,在加载新安装的第三方内核扩展(KEXT)之前,需要用户批准。 当请求加载用户...

2020-03-23 14:23:47

Windows系统USB转CDC串口驱动限制说明

USB转串口芯片目前主流的几种USB类别有:1、USB厂商类;2、USBCDC类;3、USBHID类;其中若使用USBCDC系统内置驱动时,使用时会有诸多特殊性,如下为使用说明:1、测试中出现若打开串口状态下,拔掉USB硬件,然后插上。关闭串口后重新打开一定会出错,除非再插拔一次硬件才能恢复;2、CTS引脚在CDC协议中没有相对应的字段,实际上,若DCD、RI、DSR...

2020-03-23 14:08:37

The futex facility returned an unexpected error code

在 linux 程序执行中若遇到该错误,考虑下是否是如下变量使用了强制内存对齐导致。比如:在将如上变量包含到结构体中,强制1字节或2字节内存对齐。如:信号量相关 struct semaphore,线程相关的 pthread_mutex_t,以及 pthread_cond_t 等等。解决办法:1、取消强制内存对齐;2、不要包含在结构体中或类中;...

2020-02-11 10:18:29

C++ Tips

1、析构函数调用时机<1> 栈中定义的对象程序会自动调用析构函数例如CLassName object;这样声明的对象,当程序运行到了对象作用域之外或者程序退出,对象都会被销毁,当然析构函数也会被调用<2> 堆中new的对象使用new声明的对象,必须手动调用delete才会调用析构函数...

2019-07-27 15:49:06

使用std::thread线程相关函数,-static静态编译的程序运行时的一些常见错误

使用std::thread的应用程序,编译时如果是动态链接pthread线程库运行正常,-static静态链接时在某些平台下可能会遇到一些意外错误。如常见编译命令:g++ -std=C++11 test.c -o test -pthread1、Segmentation fault(段错误)2、terminate called after throwing an instance of 's...

2019-07-27 13:58:01

Ipad平板作为MAC苹果电脑的扩展屏幕的技术研究

直入主题,这方面的研究直接参考当前使用基数最大,反馈最好的两个产品。最新产品讯息,请分别进入各自官网。BTW,DuetDisplay也跟随LunaDisplay开始发布硬件了。DuetDisplay颠覆了基于Wi-Fi的传统运作原理,改经USB数据线实现,虽然此前也有使用USB的类似应用,但二者的实现方式有本质的区别。其次,DuetDisplay并非通过纯粹的「屏幕...

2019-05-31 17:48:11

Linux驱动如何在不同版本上快速迭代升级

As well known,Linux内核版本更新很快,有些内核版本的迭代升级可能会导致在使用的驱动版本存在编译失败或使用的兼容性问题,如何快速定位到内核版本间变更的地方,并处理掉该问题,列一下我常用的解决方法。(之前遇到问题,就下载对应的内核版本安装测试的方法,看来很foolish)1、通过kernel.org内核官网查看具体版本相较于上版本的ChangeLog。该方法可以全面看到内核版...

2019-05-24 18:08:39

安卓BLE开发教程(二) BLE开发流程

在安卓上进行BLE开发时,就不必像理解BLE协议栈那样复杂了。因为安卓的BLE包为我们提供了十分丰富的API、各类常量、各类连接通信情况下的回调API等。具体流程一、声明权限二、获取Adapter适配器三、开启蓝牙四、BLE扫描与停止五、连接设备六、枚举特征值及其属性七、利用特征值通讯八、关闭蓝牙一、声明权限在AndroidManifest.xml文件中...

2018-12-20 18:33:58

安卓BLE开发教程(一) BLE基础

我试图以一种简单的方式去把重要的事情讲清楚。目的是希望BLE协议栈和基础概念简单化,让自己及类似的安卓开发者可以在较短的时间内把握住BLE的核心及使用方法。BLE本身很复杂,但对于安卓开发而言只要抓住一些核心点,便已足够。如果你想全面了解BLE协议栈,包括分层及每层功能,那么你从这里可能得不到答案。1、BLE协议栈层次然而,安卓BLE开发不用理解如此复杂的分层结构。因为我们不是在开发B...

2018-12-20 15:50:50

安卓获取屏幕最大(绝对)分辨率

安卓开发时,在很多应用场景需要获取手机屏幕的真实分辨率,然而查阅了大部分博客提供的获取方法发现获取方法并不对。下面几种常用的方法(错误)和最终正确获取的方法均会展示在下面。实验场景:Activity(隐藏或不隐藏状态栏、虚拟导航栏等场景)、Service 中。错误方法一:DisplayMetrics metrics = new DisplayMetrics();getWindowM...

2018-12-14 14:00:45

Android/Linux 系统添加对多点触摸屏的支持

    含有 HID 多点触摸控制器的触摸屏、触摸板在 Android 和 Linux 内核中都是由 "hid-multitouch" 驱动进行支持的。因此如果你的系统连接触摸屏没有反应,问题基本都出于驱动未加载或者与触摸屏的 VID 与 PID 不适配。以下分情形讨论:1、系统中已存在“hid-multitouch”驱动    若“hid-multitouch”驱动是以内核模块的方式存在于系统里...

2018-07-06 09:52:12

安卓App报错:android.os.FileUriExposedException

安卓7.0开始,不再允许在App中把 file://Uri 暴露给其他App,因此在代码中需要做下版本判断,在7.0版本及以上需要使用 FileProvider 生成 content://Uri 来代替 file://Uri。同时安卓工程需要做以下调整:1、在 AndroidManifest.xml 的 application 标签页下增加 provider 声明 <applicati...

2018-06-29 09:54:38

解决 Windows Update 更新错误/无法创建还原点 代码 0x80246008

这个问题在我的电脑上由来已久,但是大部分的更新工作可以由其他第三方软件来完成,所有有时候得过且过。但同时,有一些棘手的问题,会提示系统进行 Windows Update,只有硬着头皮解决了。如果你遇到了“系统无法创建还原点”,也可以参考此博客。1. 一般更新出现 80246008 是由于 BITS 服务没有启动导致的。又名:后台智能传送服务 / Background Intelligent Tra...

2018-03-03 18:08:36

中标麒麟/NeoKylin 安装QT开发环境

1. 如果你对中标麒麟系统安装有疑问,请阅读上一篇文章:《中标麒麟/NeoKylin U盘安装系统》。2. 进入系统打开终端,以 root 模式操作。<1> yum install gstream* libXext-devel libX11-devel<2> ln -s /usr/lib64/libXrender.so.1.3.0 /usr/lib64/libXrend...

2018-02-13 11:51:34

中标麒麟/NeoKylin U盘安装系统

这里以 NeoKylin6 为例,其他版本与此相类似大同小异。但是下载指定版本的镜像时要注意配合该版本的软件包是否充足,不然就会遇到安装好系统很多软件无法安装或更新的情况。1. 官方下载地址:http://download.cs2c.com.cn/neokylin/desktop/releases/2. 第二步,在上个地址中找你想要下载的版本,注意前面说的先检查下资源,以我想下载的版本 6.0 为...

2018-02-13 11:41:58

USB OTG 的进一步理解

一直以来在做安卓系统相关的嵌入式通讯(USB、BLE、网络、串口等),最近在讨论 OTG 问题的时候,对该规范又重新理解了一次,这里仅做一些概要和核心点说明,下方会给出具体 OTG 包含协议的参考链接,大同小异就不多赘述了。1. 硬件接口与传统的 4 线USB接口不同,OTG接口除了 VCC、GND、D+、D-之外还多了一根 ID 线,对支持 OTG 规范的设备来说,按照连接时的 ID 线状态分为

2018-02-06 14:50:29

Vmware提示:the operation was canceled by the user

一般遇到这种情况是由于当前虚拟机资源中的资源文件被其他进程占用导致的。如果你的系统中有 DAEMON Tools Lite 软件,那么多半是因为这个原因。因此下面针对此情况提出两种解决办法:1. 检查有无安装 DAEMON Tools Lite 软件,若安装此程序,打开任务管理器,显示所有进程,找到是否有名称为 DiscSoftBusService 的存在,有的话,结束该进程。然后重新启动 Vmw

2017-12-08 11:15:47

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。