自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 资源 (5)
  • 收藏
  • 关注

原创 【编译原理】基于ARM GCC源码构建编译器

https://vivonomicon.com/2019/02/19/building-a-bare-metal-arm-gcc-toolchain-from-source/未完待续!!!

2021-06-23 00:15:35 247

原创 【C&C++】Linux 64位系统下C指针操作的经验杂谈

背景最近注意在进行Linux下开发时,由于对于64位系统下的指针理解基础不扎实,导致代码在64位系统下运行出现crash情况.64位系统下,C语言的指针类型的长度为8byte,而32位系统是4byte.代码示例调试方法未完待续!!!...

2021-06-19 10:54:13 373

原创 【Linux】默认oh-my-zsh配置导致Linux终端在git仓库目录下出现卡顿

git config --add oh-my-zsh.hide-status 1未完待续!!!

2021-06-18 09:59:21 298

原创 【C&C++】深入理解C语言可变参数

libc/gcc源码级 理解#define va_start(v,l) __builtin_va_start(v,l)#define va_end(v) __builtin_va_end(v)#define va_arg(v,l) __builtin_va_arg(v,l)

2021-06-11 14:33:24 135

原创 【C&C++】C++类的前置声明

未完待续!!

2021-06-07 20:38:44 70

原创 【Linux】GLib中的Thread Pools 初探

GLib源码Thread Pools 的使用和源码初探希望有更多的开发者能关注到GLib的使用上,而不是拼命造轮子Linux 线程池的实现

2021-06-06 12:45:52 106

原创 【Linux】C++实现D-Bus Client

配合GLib中的The Main Event Loop

2021-06-06 12:40:45 183

原创 【C&C++】Doxygen - C++项目的文档生成工具

https://github.com/doxygen/doxygen

2021-06-01 13:30:24 1087

原创 【C & C++】C++虚函数,虚指针,虚表 初探

背景知识在C++语言中,基类将类型相关的函数与派生类类不会做改变直接继承的函数区别对待。对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。什么是虚函数虚函数,又有虚函数和纯虚函数,虚函数,用于定义类型特定行为的成员函数。通过引用或者指针对虚函数的调用直到运行时才被解析,依据是引用或者指针所绑定的对象用于当你希望派生类重新定义该函数,而且对该函数已有默认的定义.纯虚函数,在类的内部声明虚函数时,在分号之前使用看=0。一个纯虚函数不需要(但是可以)被定义。

2021-05-30 18:02:14 118 1

原创 【Amazon AVS C++ SDK】create_header.bash将wav文件自动生成所需要的头文件

2021/05/21 输出!!!

2021-05-18 23:54:24 92

原创 【C & C++】C调用C++

Pending!!!

2021-05-11 17:14:45 71

原创 【蓝牙开发】Andorid蓝牙绝对音量

首先看下两种角色在协议构成角度来说是没有太大的区别, 现在来看下AVRCP Spec中关于AVRCP中Controller(CT)和Target(TG)的描述.The controller (CT) is a device that initiates a transaction by sending a command frame to a target. Examples for CT are a personal computer, a PDA, a mobile phone, a remote co

2022-07-11 16:59:19 5666 1

原创 【Android系统蓝牙开发】蓝牙基础知识-蓝牙核心系统架构

什么是蓝牙?在开启基于蓝牙Spec v5.2的学习前,我们先了解下什么是蓝牙?蓝牙在我们日常生活中又存在哪些实际应用呢?蓝牙无线技术是一种短距离无线通信系统,其核心特性主要是以下三点:robustness - 鲁棒性,抗干扰能力强Low power consumption - 低功耗Low cost - 低成本蓝牙无线通信有两种类型的系统: Basic Rate(BR) 和 Low Energy(LE).两者都包含了: 设备发现(device discovery)、连接建立(connec.

2022-05-28 22:13:27 1779

原创 【Device Tree】Android DTS 加载流程

前言在之前的文章中已经对设备树的基本概念作了讲解, 操作系统(例如在 Android 中使用的 Linux 内核)会使用 DT 来支持 Android 设备使用的各种硬件配置。硬件供应商(ODM)会提供自己的 DT 源文件,接下来 Linux 会将这些文件编译到引导加载程序使用的设备树 Blob (DTB) 文件中。Android在原有的DT基础上增加了设备树叠加层的处理方式。进一步的对于芯片产品的DT和开发者(ODM/OEM/产品开发者)的DT做了解耦。设备树叠加层 (DTO) 可让主要的(ODM)

2022-05-22 16:28:58 2873 9

原创 【Device Tree】Kernel中的gpio driver在DTS下是如何初始化的

1. 前言在这篇文章仅仅是简单展示下一个gpio key driver是通过dts中定义的数据进行相关key的硬件初始化的,只是截图了部分相关的dts文件内容和驱动代码.使用的平台:MT8167Android OKernel: 4.42. DTS中的gpio_keys 节点说明gpio_keys { compatible = "gpio-keys"; pinctrl-names = "default";

2022-05-21 22:28:58 1250

原创 【Device Tree】Device Tree 基础概念

Devicetree Specification设备树规范推荐

2022-05-19 20:39:33 2147

原创 【Linux】为什么进程要有自己独立的虚拟地址空间?

2022/04/04 输出!进程虚拟地址空间

2022-04-03 22:30:59 574

原创 Android adb无法连接设备

手机已连接,adb devices提示* daemon not running. starting it now on port 5037 *1、输入命令查看5037端口是否被占用:netstat -ano | findstr “5037”

2022-03-12 09:44:53 3448

原创 【Android】基于BUILD.gn的源码构建

BUILD.gngnninja

2022-01-11 19:15:35 2701

原创 【Linux】Vmware 安装open-vm-tools 后还是无法拖拽文件 解决方法

open-vm-tools

2022-01-10 21:30:03 924

原创 【Linux】zsh 终端出现中文乱码

在终端中输入中文会出现如下乱码: Linux <ffffffff><ffffffff><ffffffff><ffffffff><ffffffff><ffffffff>出现如上乱码是因为之前在解决Android O编译问题时在.zshrc中添加了如下字段:export LC_ALL=C //为了去除所有本地化的设置所以修复方法是:在.zshrc中去掉export LC_ALL=C 或在尾部添加如下字段export LC_A

2022-01-06 17:29:00 2994

转载 【Android】SSL error when connecting to the Jack server. Try ‘jack-diagnose‘

I met an issue Communication error with Jack server (35) when built the AOSP yesterday. I can build the AOSP successfully before this issue popped up. I spent hours figuring out why and solved the problem.IssueMy build environment of the AOSP isUbuntu 1

2022-01-04 17:33:51 1315

原创 【嵌入式开发基础】PL2303不支持win11及后续版本解决方法

此PL2303驱动程序不支持WINDOWS 11及后续版本,请安装正确驱动程序

2021-12-29 20:02:08 6988

原创 【Android】如何通过adb 命令行的方式启动Android 下的App

在进行Linux下的开发时,我们想运行一个命令时,我们可以在终端下进行如下操作:/usr/bin/ls 也就是直接可以在终端上执行某一命令.而在进行Android 开发时,我们习惯时通过点击屏幕上的App图标进行应用的启动, 然而我们也可以通过am这一命令进行App的拉起.对于知道App的包名和主Activity名称的情况下,如何拉起我就不在描述了网络有很多相关的文章,这里主要讲述下当我们安装一个第三方开发的App时,该如何通过命令的方式运行该App,下面已Nordic开发的一个开源的APK为例:

2021-12-17 16:33:36 3644

原创 【蓝牙开发】Android BLE中广播包发射功率(TX power level)

2021/12/17 前输出!https://blog.csdn.net/love131452098/article/details/118486691

2021-12-14 19:58:17 2250

原创 【嵌入式开发基础】在repo 下来的仓库过大,可以如何优化呢? - TODO

repo --depthgit fetch --unshallow2021/12/06 前输出!

2021-12-04 16:12:47 496

原创 【Linux】Linux下的dmesg命令

2021-12-01 21:24:50 1383

原创 【蓝牙开发】Android Bluedroid 源码学习之状态机设计

2021-11-25 23:56:16 3132

原创 【蓝牙开发】Android Bluedroid 源码学习之对外接口设计

本文中进行的Bluedroid 源码学习是基于Android P(9) 进行.对于bluedroid(system/bt)最终是以一个动态库(libbluetooth)的方式对外提供, 在Bluetooth APK中使用的时候是以动态的方式进行加载的对外接口定义在include/hardware/bluetooth.h中声明了bt_interface_t这种包含函数指针类型的结构体./** Represents the standard Bluetooth DM interface. */ty.

2021-11-25 16:22:28 3458

原创 【嵌入式开发基础】git 之 cherry-pick的使用

2021-1125 输出!!

2021-11-23 14:53:49 270

原创 【嵌入式开发基础】git 之 format-patch的使用

背景介绍我们在日常的开发中, 涉及对第三方源码的修改或在需要将自己的改动给到其他同事时,经常需要将改动打patch后进行处理.这时候我们常直接使用diff命令生成patch文件, 然后通过patch进行打对应的patch文件. 详细的使用请看这篇博客中的说明: Linux下生成patch和打patch然后这种直接使用diff和patch的方式,并不是最优解. 这里会更加建议使用git提供的format-patch 进行patch文件的生成以及通过am进行patch文件的打入. 接下来的示例代码会展示其

2021-11-22 20:25:13 6436

原创 【嵌入式开发基础】git 之bundle的使用

git bundle的使用博客推荐Git-bundle

2021-11-18 17:38:56 731

原创 【蓝牙开发】Bluetooth Security 中的Security modes

背景介绍针对传统蓝牙的产品, 提到安全等级时我们常常会听到mode 4. level 3, 但对于具体什么是mode 4? 什么是level 3却一知半解.而本文会基于Bluetooth Spec初步关于蓝牙安全的mode和level相关的知识点.BR/EDR(传统蓝牙) 中的Security modes如上图所示,在security channel 建立过程会根据Responding device version(对端设备)的蓝牙版本来选择Security Mode, 这点也说明了一个设备为了兼

2021-11-17 19:19:55 5485

原创 【Android】Android.bp 实例之源码编译动态库

背景说明首先需要下载对应的版本的Android源代码(ASOP) 如何下载Android源码在下载完ASOP后,需要搭建Android的编译环境. 那在Android下如何进行源码代码的编译呢? 请参考官网链接: Android build system usage - 如何进行Android源码的构建补充说明:这里没有补充Android源码下载和构建的详细步骤,如有问题请及时留言沟通.基于ASOP中的external/libcups这一Android下的library进行简单演示首先可以看

2021-11-10 09:51:57 2495 1

原创 【Android】Android.bp实例之编译可执行程序

2021-11-10 09:50:02 4642

原创 【Android】Android.bp 实例之语法讲解

关于Android.bp的编写规则,简书上有一篇文章已经很好的描述了请参考学习: Android 编译之android.bp另外Google官方也有关于它的相关描述 Android.bp file format

2021-11-10 09:48:30 1816

原创 【Android】Android.bp 初探

最近在项目中接触到libchrome这一开源库, 发现了其中一些有价值的内容,想着将其它独立编译成第三方的动态库,然后在其它的项目中也能用到。所以开始了解它是怎么编译的,但在实际熟悉编译相关的规则发现libchrome的编译是依赖Android系统的编译环境. 所以就开始琢磨怎么能够独立编译该第三方库呢?于是乎就先不管怎么独立的编译而是先开始了解libchrome中提供的编译规则文件Android.bp. 接下来的系列文章会记录并分享学习以及应用Android.bp的过程.开始了解Android 系统的编

2021-11-10 09:47:01 1838 1

原创 【C++】优秀的C++编码风格推荐

最近在进行Android下的系统蓝牙开发时, 发现了Google开源的一个C++ 编码规范.分享: Google C++ Style Guide

2021-11-03 17:09:19 538

原创 【C】C语言实现allocator(内存分配器)

目标2021-1112前 输出

2021-11-03 17:06:11 451

原创 【C】ringbuffer的C语言实现

最近在学习Android 下的Bluedroid时, 看到在Bluedroid中实现了ringbuffer这一数据结构, 比较简洁, 所以独立出来进行分享.Bluedorid官方源码路径本文分享的ringbuffer例子源码路径什么是ringbuffer?上述图片是来自Amazon AVS C++ SDK中的图片. Shared Memory Ring Buffer.如上图所示, ringbuffer 实质上就是一个连续内存/首位相连的一个环形缓冲区. 这里数据结构在音频数据的存储上比较常用到.

2021-11-03 16:59:44 1306 2

Windows 下的串口模拟软件下载

Windows 下的串口模拟软件下载

2021-05-01

Core_v5.2.pdf

因为所发布的博客中依赖于蓝牙官方协议,所以提供了文档的下载

2021-04-24

android SDK源码

提供完整的android SDK源码,更加方便的进行android 开发,包含各个版本的SDK源码

2016-06-05

Qt软件开发 完整项目代码

软件控制平台是基于QT开发的应用软件,实现快递员身份的验证与物品的投递,消费者的取件过程以及对硬件系统的控制。 如下图3-1是软件控制平台的主界面,由取件区、快递员区、寄件区三大模块构成。图3-2是快递员区,快递员通过输入物品的相关信息以及进行身份的验证,从而完成物品的投递,快递员完成投件后,软件控制平台向远程服务器平台发送http请求,完成短信的推送。图3-3是取件区界面,用户通过收到的推送短信获取到的验证码以及手机号,方便快捷的完成取件过程。

2016-06-01

基于物联网技术的快递易投递箱

我的项目是基于物联网技术的“快递易”投递箱,致力于解决当前物流的最后一个环节所遇到的问题及快递员手中的快递怎样才能高效、方便的交到消费者的手中。首先,当前在一二线城市的大部分快递公司对物品的派件都还采用传统的模式,即租门店、开网点,需要雇佣人员进行再次物品的分拣,以及雇佣快递员进行上门派件,或者消费者到指定网点取件。显而易见在这一过程中:快递公司所需投入的成本高、快递员上门派件效率低、消费无法按时取件造成网点物品堆积这一系列的问题。 而在消费居住地的周边,部署基于物联网技术的“快递易”投递箱,根据需求量部署相应规模的网点,快递公司直接将物品投到指定网点的投递箱,该投递箱融入了物联网的一些技术,开发了配套的软件与硬件产品让快递员进行高效、快捷的投件,另外向消费者提供了优秀的客户端软件,让消费者可以通过手机APP查看到自己的订单状态,从而能够根据推送的短信验证码及时的到指定网点取件。在将来的产品的开发中加入大数据分析技术,进一步的促进资源的合理分配,利用物联网技术进一步推进物流行业的产业升级。

2016-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除