自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢文浩博客

纯属个人学习记录,仅供参考。

  • 博客(395)
  • 资源 (18)
  • 问答 (1)
  • 收藏
  • 关注

原创 git 常用指令

项目提交命令: ...

2019-05-31 09:09:44 169

原创 BES 平台 SDK之 ota升级校验添加项目信息,避免出现升级其他项目文件而变砖

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用。

2024-02-23 10:27:03 88

原创 BES 平台 SDK之串口指令

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!上位机下发格式:格式一:[A,B]格式二:A:B固定格式:auto_test:cmd1其中格式一,格式二需要自定义测试接口。固定格式针对测试列表:g_bt_cmd_tables。

2024-02-19 11:39:57 288

原创 BES 平台 SDK之SYS_FIFO

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!关于系统主从耳组队流程可参考上一篇文章。链接如上所示!

2023-08-17 10:42:50 244 1

转载 CPU 处理器

认识了 Cortex-M 阵营都有哪些成员后,可以看到 ARM Cortex-M 越来越注重安全性能和 AI 性能,这也给了我们一个发展方向,未来物联网的发展也不再是仅限于对接一下云平台上报数据这么简单,而是更多的提升物联网设备安全能力和 AI 能力,毕竟硬件设备遭遇入侵比电脑中毒更加可怕,如果端侧 AI 处理能力大大提升,则数据处理可直接在终端中完成,而不用去消耗不必要的云端算力~,使用 AMBA 5 AHB 总线,支持 Thumb/Thumb-2 部分指令集,支持 4 个优先级等级。

2023-08-04 15:36:38 254

原创 BES 平台 SDK之充电盒与耳塞串口单工通信

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!关于系统主从耳组队流程可参考上一篇文章。链接如上所示!

2023-08-02 17:42:02 329

原创 BES 平台 SDK之主从耳组队

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!关于系统提示音的添加可参考上一篇文章。链接如上所示!

2023-08-02 16:29:24 472

原创 BES 平台 SDK之提示音的添加

头文件:res_audio_data.h 、 bluetooth.h源文件:audio_prompt_sbc.cpp 、app_media_player.cpp。

2023-08-02 13:47:27 303

原创 BES 平台 SDK之按键的配置

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!关于系统LED简介可参考上一篇文章。链接如上所示!

2023-08-02 11:23:02 327

原创 BES 平台 SDK之LED的配置

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!关于SDK 系统框架简介可参考上一篇文章。链接如上所示!

2023-08-01 18:08:25 310

原创 BES 平台 SDK之代码架构讲解二

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。上篇文章粗略的对整个SDK 目录下的文件进行了说明,接下来会对SDK 比较详细的介绍。

2023-08-01 15:48:20 559

原创 BES 平台 SDK之代码架构讲解一

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。

2023-08-01 14:18:52 819 1

原创 单片机flash 存储内容

2023-04-25 14:26:42 159 1

转载 shal 哈希算法软件实现!

若数据本身已经满足上述长度要求,让需要进行填充(例如,若数据长度为448位,则仍需要填充512位使其长度变为960,原因最后一组填充需要在数据后附加一个1(8位)以及填充前数据的长度(64位),因此最后一组长度最长为440(输入为字符串格式下)),因此填充位数在1~512之间。SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。

2023-03-23 19:09:58 306

原创 简化版ssl/tls 自签证书

***************************************************************************************** 客户端证书*************************************************************************************************步骤三:服务器证书请求文件,填写服务器ip或者域名。步骤三:客户端证书请求文件,填写服务器ip或者域名。

2022-11-03 16:05:45 525

原创 ssl/tls 自签证书

***************************************************************************************** 客户端证书*************************************************************************************************步骤四:服务器证书请求文件。步骤六:查看服务器证书信息。步骤三:客户端证书请求文件。步骤一:服务器ca证书。

2022-11-02 10:42:36 848

转载 二级指针的应用

因为传了指针q的地址(二级指针**p)到函数,所以二级指针拷贝(拷贝的是p,一级指针中拷贝的是q所以才有问题),(拷贝了指针但是指针内容也就是指针所指向的地址是不变的)所以它还是指向一级指针q(*p = q)。B是一个指针变量,其中存放着C的地址,但是B也要占空间的啊,所以B也有地址,B的起始地址是0x00000004,但是B内存中存放的是C的地址,所以B里面的内容就是0x00000008。//A存的是B的地址,B的地址是0x00000004。//B解引用,也就是B指针指向的C的值。...

2022-08-31 09:27:59 245

转载 RFID卡片的扇区与块地址的关系

本文档为本人在自学RFID卡片数据读取过程中所写的笔记,RFID卡片的扇区与块地址如下表所示(RFID卡片数据读取原理请自行百度),本文档内容仅供学习参考。原文链接https//blog.csdn.net/T5201314T/article/details/109923805。2、每个扇区的第0块至第2块为数据块(其中第0扇区的第0块为无效块(卡片生产的时候已固定),第3块为密钥地址。1、16个扇区(015),64个块(063),其中每个扇区有4个块(块0~块3),所以16x4=64块。...

2022-07-18 13:48:54 1519

转载 Ubuntu关机等待90秒的问题与解决方案

pkill -f sogoupinyinServ

2022-03-10 10:12:55 500

原创 乐鑫esp32c3 wifi模块学习记录(1)-----编译环境的搭建

SDK 下载地址:

2022-03-10 09:23:06 185

原创 递归计算等差系列运算

#include "stdio.h"#include "stdlib.h"#include "string.h"int num_dec(int num){ if(num>1) { printf("%d \r\n",num); return num*num_dec(num-1); }}void main(){ printf("%d \r\n",num_dec(...

2022-02-08 18:02:37 612

原创 递归实现字符串反向输出

#include "stdio.h"#include "stdlib.h"#include "string.h"void reverse_str(char* str,int len){ static int num = 0; if(num<=len) { num++; reverse_str(str+1,len); printf("%c",*str...

2022-02-08 17:48:46 646

原创 关于esp8266 的串口以及对应的引脚图

2022-01-15 11:04:26 1229

原创 输出打印%d 和%u ,细节决定成败

int用%d和%u输出在查阅资料后发现,C中%d与%u的区别是程序如何去解释这一变量的数据所以,%d在解释过程中第一位数据代表了符号,%u第一位数据代表了数据值在输出一下数据时就有:int a = -1;printf("%d\n%u",a);12-1429496729512因为-1的补码为11111111 11111111 11111111 11111111%d解释过程:1.第一位是1,所以为负值。2.由补码再求补码,得到以下补码10000000...

2021-12-13 10:49:13 6494

原创 宏函数里面使用do {}while语句

当我们在创建函数时候,需要使用多个语句,为了保证语句能够按照我们希望的顺序执行。此时应该加上do{}while(0)例如:#define LOG_ERROR_TAG(TAG, _fmt_, ...) \ do{\ if((LOG_LEVEL) <= LOG_LEVEL_ERROR){\ arch_printf_begin(LOG_ANSI_COLOR_RED);\ arch_printf("[E] %s: "_fmt_...

2021-11-25 10:35:00 450

原创 数组作为函数形参,使用时候可以减少传递字符长度

#include <stdio.h>#include <string.h>#include <stdlib.h>#define len 10typedef const char (myarr)[len];void func(const char arr[len]){ char dest[len] = {0}; printf("dest :%s \r\n",dest); memcpy(dest,arr,le...

2021-11-18 15:06:46 303

原创 调试OTA ,自创远程服务器存放升级固件

1. 新建一个目录,将升级的bin 文件放置该目录下。2.在当前目录下,运行python 指令:python -m http.server 8070 或者python -m SimpleHTTPServer 8070 (3.0 以上不支持该指令)3. 通过访问网站 http:// localhost:8070/ 可以看到你的bin ....

2021-11-17 10:57:05 4374

转载 结构体里面定义一个字符数组,长度为0

最近看tty驱动源码,发现了一个以前老板上课时讲过的一个c语言技巧,不是很理解,上网学习了一下,总结如下:在linux源码里struct tty_buffer {struct tty_buffer *next;char *char_buf_ptr;unsigned char *flag_buf_ptr;int used;int size;int commit;int read;/* Data points here */unsigned lo...

2021-11-08 11:05:35 1057

原创 esp32 环境搭建常用指令

指令一:/usr/bin/python -m pip install --user -r /home/cuco/cuco_miio_platform/cuco_p6am_comm_plug/miio_esp32/esp-idf/requirements.txt指令二:./install.sh

2021-10-15 16:36:25 407

转载 虚拟机python 安装指定版本

1、下载第一种方法是用linux自带的wegt下载:wgethttp://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz第二种方法是直接去官网下载源码包Download Python | Python.org。可以使用软件winSCP传到linux虚拟机上。2、解压 tar -xzvf Python-3.5.1.tgz unzip Python-3.5.1.zip或bunzip2 Python-3.5.1.tar.bz2.

2021-10-15 16:21:58 718

转载 CentOS 用挂了dev/sda1:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY .

在命令行输入fsck -y /dev/sda1重启ok。

2021-09-03 16:40:41 517

原创 ESP8266编译提示:undefined reference to `app_main‘

原因:使用cmake 编译的时候,未将app_main 所在的文件编译进去。解决方案:在main 目录下面修改CMakeLists.txt, 增加set(COMPONENT_SRCS "hello_world_main.c")

2021-09-03 14:34:33 2852

转载 Linux下安装VSCode

我的环境:ubuntu16.04 64bit1、从官网下载压缩包访问Visual Studio Code官网 https://code.visualstudio.com/docs?dv=linux642.解压 ,如果文件名不对,可能解压不出来的(扩展名:tar.gz)tar jxcv code-stable-code_1.7.2-1479766213_amd64.tar.gz13.然后移动到 /usr/local/ 目录mv VSCode-linux-x64 /usr/local/1

2021-06-29 19:13:40 5935

转载 esp32 adc 引脚

ESP32引脚参考ES​P32芯片配有48个具有多种功能的引脚。并非所有的引脚都暴露在所有的ESP32开发板中,有些引脚不能使用。关于如何使用ESP32 GPIO有很多问题。你应该用什么pin?在项目中应该避免使用哪些pin?本文旨在成为一个为ESP32的GPIO提供一个简单易懂的参考指南。下图显示了ESP-WROOM-32引脚。如果使用ESP32裸芯片构建自定义板,可以将其用作参考:注意:并非所有的GPIO都可以在所有的开发板中访问,但是每个特定的GPIO都以相同的方...

2021-06-22 16:15:21 979

转载 git 生成补丁文件及打补丁

一、 patch 和diff 的区别Git 提供了两种补丁方案,一是用git diff生成的UNIX标准补丁.diff文件,二是git format-patch生成的Git专用.patch 文件。 .diff文件只是记录文件改变的内容,不带有commit记录信息,多个commit可以合并成一个diff文件。 .patch文件带有记录文件改变的内容,也带有commit记录信息,每个commit对应一个patch文件。二、创建patch和diff1、创建patch 文件的常用命令行*某次提交(含

2021-06-15 14:05:42 10434 2

原创 海思开发板学习记录2----- 开发板配置tftp 服务

前言: 虚拟机下通过tftp 将boot 、kernel 、 root 镜像文件导入到开发板。之后通过烧录指令进行固件烧录1.首先需要设置虚拟机,电脑,开发板处于同一个局域网内,这样才能通过tftp 实现类似于udp 局域网通信,传输文件。2. 将开发板上电,进入boot 界面。3.输入如下指令:setenv serverip 192.168.1.11 // 虚拟机ipsetenv ipaddr 192.168.1.65 // 给开发板设置一个ipsetenv gate...

2021-04-17 09:20:57 532

原创 海思开发板学习记录1---------kernel 内核编译失败

1.在编译开发板提供的kernel 内核时候,竟然出现报错信息。信息如下:"mkimage" command not found - U-Boot images will not be builtarch/arm/boot/Makefile:87: recipe for target 'arch/arm/boot/uImage' failedmake[1]: *** [arch/arm/boot/uImage] Error 1arch/arm/Makefile:334: recipe for ta

2021-04-14 20:55:38 533

原创 PWM 概念

3. PWM相关概念 占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间之比 如,一PWM的频率是1000Hz,那么它的时钟周期就是1ms,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。 ...

2021-04-14 18:13:13 271

原创 Linux 下查询某个目录下指定字符串所在文件名

grep -R "要查找的字符串" ./

2021-04-10 17:25:58 339

转载 【库连接问题】makefile中如何连接库以及解决/usr/bin/ld: skipping incompatible问题

关于如何连接库,这里只记录自己碰到的一些问题编写Makefile编译时 -c 生成.o 文件:后面要加-I (指明包含的头文件)链接时 -o 生成可执行文件:-L(指明库的位置) -l(指明库的名字)还有一个是在引用json库的问题:lib文件下有两个文件夹 include和 lib文件夹include 文件夹中有一个文件夹json,里面又包含着json的头文件lib文件中放着libjson.a的静态库编写makefile时 注意,编译时 引入头文件目录到include 就行...

2021-03-31 20:39:58 1261

嵌入式常用工具-代码比较

1.代码对比工具,包含安装包和注册证书

2022-03-04

ESP8266 底层I2S 移植到米家平台

1.基于米家IOT SDK 适配底层驱动I2S

2022-03-04

摄像头底层驱动-V4L2

1.完整的项目工程,可用于摄像头的基本参数调试,比如:亮度、对比度、饱和度、色彩值、gamma值、hue值

2022-03-04

heatshrink.zip

占用的内存使用率为 (。最小 50字节) 对于某些小于字节的情况非常有用,对于许多具有 <300字节的通用案例有用。 按需递增的增量CPU使用你可以在任意微小的bites咀嚼输入数据。 这在硬实时环境中是一个有用的属性。 可以使用 static 或者动态内存分配库does对内存管理没有任何限制。 你可以免费使用,即使是商业用途。

2020-03-18

C118213_STM32L431RBT6_2017-11-22.PDF

1.本文档是属于stm32l4xx系列技术文档,文档内容涉及到外设寄存器的介绍。下载地址:https://pan.baidu.com/s/1tCDXeDYZUPk1qY57I7NBRg

2019-08-01

安卓疯狂讲义第三版

不错的一本安卓开发书籍。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-21

qt creator快速入门

《Qt Creator快速入门》作为全面介绍Qt、QtCreator和QtQuick的入门级教材,也是市面上第一套详细介绍QtCreator和QtQuick的教材。书中的内容包含了Qt基础、图形动画、多媒体、数据库、网络通信、WebKit以及QtQuick等所有基本的应用内容。

2017-11-07

制作VOC数据集的xml文件

制作VOC数据集的xml文件(一张图片可包含多个目标包围框)

2017-10-17

Unix网络编程卷2 进程通信

适合想从事于网络技术编程的人,里面详细介绍了各种通信方式,消息队列,共享内存,管道,………………………………

2017-09-27

Android 平台gdb调式工具

Android 平台gdb调式工具,调试native c层的程序。找到core segment

2017-08-15

OpenCL编程指南

OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代码演示了基于OpenCL编写并行程序和实现各种并行算法的原理、方法、流程和最佳实践,以及如何对OpenCL进行性能优化,如何对硬件进行探测和调整。, 本书分为两大部分:第一部分(1~13章),从介绍OpenCL的核心思想和编写OpenCL程序的基础知识开始,对枯燥的OpenCL规范进行了深刻而系统的解读,旨在帮助读者全面、正确地理解OpenCL规范及其编程模型;第二部分(14~22章),提供了一系列经典的案例,如图像直方图、Sobel边界检测过滤器、并行实现Dijkstra单源最短路径图算法、Bullet Physics SDK中的布模拟、用快速傅里叶变换模拟海洋、光流、OpenCL与PyOpenCL结合使用,使用OpenCL完成矩阵相乘与稀疏矩阵矢量乘法等,目的是让读者通过案例熟练掌握编写复杂并行程序的方法和技巧。本书的附录收录了OpenCL规范定义的大量函数、命名常量和类型,可供程序员开发时查阅。

2017-06-15

安卓GPU Mail-T760上OpenCL加速案例

下载后采用ndk编译可直接使用

2017-06-15

编译安卓环境搭建

编译安卓环境搭建基本常识

2017-01-11

arm下的neon内联函数简介

需要用到arm下的NEON技术的话,可以参考这个资料,上手快

2016-11-10

sprintf函数

sprintf函数的详细介绍,里面详细介绍了sprintf 的基本用法,非常适合初学者。

2015-07-27

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

TA关注的人

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