- 博客(165)
- 资源 (5)
- 收藏
- 关注

原创 【编译原理】基于ARM GCC源码构建编译器
https://vivonomicon.com/2019/02/19/building-a-bare-metal-arm-gcc-toolchain-from-source/未完待续!!!
2021-06-23 00:15:35
308

原创 【C&C++】Linux 64位系统下C指针操作的经验杂谈
背景最近注意在进行Linux下开发时,由于对于64位系统下的指针理解基础不扎实,导致代码在64位系统下运行出现crash情况.64位系统下,C语言的指针类型的长度为8byte,而32位系统是4byte.代码示例调试方法未完待续!!!...
2021-06-19 10:54:13
456

原创 【Linux】默认oh-my-zsh配置导致Linux终端在git仓库目录下出现卡顿
git config --add oh-my-zsh.hide-status 1未完待续!!!
2021-06-18 09:59:21
353

原创 【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
165

原创 【Linux】GLib中的Thread Pools 初探
GLib源码Thread Pools 的使用和源码初探希望有更多的开发者能关注到GLib的使用上,而不是拼命造轮子Linux 线程池的实现
2021-06-06 12:45:52
157

原创 【C & C++】C++虚函数,虚指针,虚表 初探
背景知识在C++语言中,基类将类型相关的函数与派生类类不会做改变直接继承的函数区别对待。对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。什么是虚函数虚函数,又有虚函数和纯虚函数,虚函数,用于定义类型特定行为的成员函数。通过引用或者指针对虚函数的调用直到运行时才被解析,依据是引用或者指针所绑定的对象用于当你希望派生类重新定义该函数,而且对该函数已有默认的定义.纯虚函数,在类的内部声明虚函数时,在分号之前使用看=0。一个纯虚函数不需要(但是可以)被定义。
2021-05-30 18:02:14
151
1
原创 【Gstreamer音视频开发从入门到掌握】 Hello world!
翻译 https://gstreamer.freedesktop.org/documentation/tutorials/index.html?
2024-11-16 16:42:22
55
原创 【蓝牙开发】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
8009
原创 【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
1950
原创 【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
3744
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
1814
原创 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
3566
原创 【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
4038
转载 【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
1427
原创 【嵌入式开发基础】PL2303不支持win11及后续版本解决方法
此PL2303驱动程序不支持WINDOWS 11及后续版本,请安装正确驱动程序
2021-12-29 20:02:08
8208
原创 【Android】如何通过adb 命令行的方式启动Android 下的App
在进行Linux下的开发时,我们想运行一个命令时,我们可以在终端下进行如下操作:/usr/bin/ls 也就是直接可以在终端上执行某一命令.而在进行Android 开发时,我们习惯时通过点击屏幕上的App图标进行应用的启动, 然而我们也可以通过am这一命令进行App的拉起.对于知道App的包名和主Activity名称的情况下,如何拉起我就不在描述了网络有很多相关的文章,这里主要讲述下当我们安装一个第三方开发的App时,该如何通过命令的方式运行该App,下面已Nordic开发的一个开源的APK为例:
2021-12-17 16:33:36
3878
原创 【蓝牙开发】Android BLE中广播包发射功率(TX power level)
2021/12/17 前输出!https://blog.youkuaiyun.com/love131452098/article/details/118486691
2021-12-14 19:58:17
2566
原创 【嵌入式开发基础】在repo 下来的仓库过大,可以如何优化呢? - TODO
repo --depthgit fetch --unshallow2021/12/06 前输出!
2021-12-04 16:12:47
578
原创 【蓝牙开发】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
3611
原创 【嵌入式开发基础】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
6685
原创 【蓝牙开发】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
6682
原创 【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
2689
1
原创 【Android】Android.bp 实例之语法讲解
关于Android.bp的编写规则,简书上有一篇文章已经很好的描述了请参考学习: Android 编译之android.bp另外Google官方也有关于它的相关描述 Android.bp file format
2021-11-10 09:48:30
1902
原创 【Android】Android.bp 初探
最近在项目中接触到libchrome这一开源库, 发现了其中一些有价值的内容,想着将其它独立编译成第三方的动态库,然后在其它的项目中也能用到。所以开始了解它是怎么编译的,但在实际熟悉编译相关的规则发现libchrome的编译是依赖Android系统的编译环境. 所以就开始琢磨怎么能够独立编译该第三方库呢?于是乎就先不管怎么独立的编译而是先开始了解libchrome中提供的编译规则文件Android.bp. 接下来的系列文章会记录并分享学习以及应用Android.bp的过程.开始了解Android 系统的编
2021-11-10 09:47:01
1988
1
Qt软件开发 完整项目代码
2016-06-01
基于物联网技术的快递易投递箱
2016-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人