自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 海康gdb流程

在initrun.sh文件里加入,注意需要在hikauto起来之前。# 设置core dump大小。

2025-03-28 16:43:19 304

原创 信息安全相关

2. **重放保护**:通过对存储在RPMB中的数据进行签名和加密,任何未经授权的访问或修改均可以被检测到,从而避免数据被重复使用或篡改。4. **应用场景**:RPMB在电子设备中广泛应用,特别是在需要高安全性的场景,如移动设备、IoT设备和汽车电子产品。4. **与BSP的关系**:在BSP中,OTP可以用来配置硬件、设置设备特性,或者存储设备运行所需的关键数据。这使得存储在其中的数据具有很高的安全性。3. **应用场景**:在嵌入式系统中,OTP常用于存储设备的安全信息,固件或软件配置参数,证书等。

2025-03-21 10:51:28 236

原创 esp32 opus 编解码

注意esp32的opus库,对音频进行多大的FRAME_SIZE编码,就得将输出多大的opus文件送入解码才行,应该改为编码后直接将编码输出的长度opus送到解码。

2025-02-17 10:35:55 438

原创 c语言无符号的变量不能和有符号的直接比较,或者使用移项解决符号问题

在这段代码中,`tmp` 是一个有符号整数,而 `a` 是一个无符号整数。在这段代码中,`tmp < a` 的返回值为 `0`(因为比较的时候 `tmp` 被转换为无符号数,大于 `a`),所以输出结果是 `0`。- `tmp` 的值是 `-32`。当该值转换为无符号整数时,它会变成 `UINT_MAX + 1 + tmp`,即 `4294967264`(如果是 32 位系统)。- 这里 `UINT_MAX` 是无符号整型的最大值,通常在 32 位系统中等于 `4294967295`。

2025-01-22 14:09:46 478

原创 esp32在编译是报错在idf中有该文件,但是说没有

解决办法在main\CMakeLists.txt加入efuse(找到在idf的esp_efuse_table.h所在的组件,加入)问题原因:在CMakeLists.txt没有包含路径efuse。报错没有头文件esp_efuse_table.h。

2025-01-13 21:12:34 479

原创 esp32添加组件详解managed_components

在添加组件后,会产生文件main\idf_component.yml,里面会记录添加了的组件,所以不用在CMakeLists.txt添加路径,可以直接调用managed_components中的文件。首先添加组件需要有main文件夹不然会报错如下。

2025-01-13 16:08:06 519

原创 vscode里面可以直接操作esp32终端输入命令

2025-01-09 18:45:10 138

原创 esp32 mqtt连接阿里云细节配置

需要配置hash算法,才能解析阿里云物联网平台自签名证书然后按如下找到产品秘钥,设备名称,设备秘钥域名配置如下:注意旧版和新版的区别替换对应代码的此处如下,需要下载后复制,注意端口是8883:注意需要在后面加上”和/n物模型上报Alink JSON格式上报属性或事件格式。

2025-01-08 16:04:26 736

原创 esp32直接使用官网实现芯片选型和开发板资料,下载代码可以去乐鑫开源gitee会快

然后选方案,里面有相应的方案,如语言助手。可以通过产品选型来实现选择比较模块。点击开发板,查看各种开发板。拉到底会有开发板等资料。

2024-12-27 19:52:42 152

原创 pid学习感悟

d是微分操作,我们知道微分其实就是数值变化的斜率,所以当偏差越小,则数据曲线越接近目标值,斜率就越小,则对控制单元的操作值越小。i是积分操作,是一段时间的累计偏差,累计误差一段时间,发现误差大了,那就对控制单元的操作值越大,是被控对象回到正轨。首先pid是对现测量值和目标值的差值,即偏差值的操作。p是线性操作,偏差越大,则对于控制单元操作的值越大。

2024-12-24 20:28:54 303

原创 esp32 蓝牙和手机微信小程序通信走json,单片机和电脑手机软件通信最好都是用json

在做esp32兼职的时候,直接将16进制的数据给了手机,导致手机端收数据还原复杂,最好的做法是将原数据转成json后再传给手机蓝牙。

2024-12-23 20:25:36 284

原创 esp32 s3 debug 配置

2024-11-25 19:11:52 103

原创 esp32 s3 创建大任务栈的时候,任务创建失败原因;如何配置esp32的freertos的堆大小

2.修改freertos的components\freertos\config\xtensa\include\freertos\FreeRTOSConfig_arch.h中的。代码如下,使用xTaskCreate动态创建栈大小为8192*4的任务创建失败,返回值是-1,原因是freertos的堆大小溢出了。还需注意的是esp32 s3使用的是xtensa架构,所以这边使用的FreeRTOSConfig_arch.h是。esp32 s3 创建大任务栈的时候,任务创建失败原因。1.使用静态创建任务。

2024-11-22 14:05:30 362

原创 esp32 idf文档可以在idf的docs里面看

如freertos可以直接ctrl p搜freertos.rst。

2024-11-21 21:31:11 131

原创 PSRAM,Flash,SRAM,ROM有什么区别

在 **ESP32-S3** 中,**384 KB 的 ROM** 存储区主要用于存放 **启动程序(Bootloader)** 和一些硬件相关的基础代码(如低级初始化程序),这部分代码会在芯片上电后启动,并负责引导系统加载其他程序(如固件)。- **RTC SRAM(实时时钟 SRAM)** 是一种位于芯片上的专用内存,通常与 **RTC(实时时钟)** 相关,且与 **ESP32-S3** 的低功耗特性密切相关。- **只读**:传统的 ROM 是只读的,数据在生产过程中就已经写入,不能进行修改。

2024-11-13 17:05:06 1782

原创 h264格式和ts封装

H264格式详解_h264编码格式-优快云博客视频封装格式篇(TS)_ts封装-优快云博客

2024-08-20 19:56:21 237

原创 周立功can信号合集:环视打开can信号

2024-07-16 14:18:34 558

原创 可以触发core dump的c程序例程 gdb

【代码】可以触发core dump的c程序例程 gdb。

2024-07-10 14:58:03 165

原创 svn修改头文件版本需要修改的文件

PJ10PC20240120041_c928\components\master-t5\hikauto\module\app\include中的修改了下拉的各组件的include版本号的内容提交,下次拉下来的代码的include就是最新的了。修改版本号的流程如下,以PJ10PC20240120041_c928\components\master-t5\hikauto\module\app\include\ui为例。右键更新svn,把刚刚修改好的版本号的对应的组件中的内容更新到最新。7.提交svn,把修改。

2024-07-04 20:52:57 444

原创 使用ubantu直接进行代码调试的办法

`-pthread` 参数告诉编译器链接 pthread 库,因为你的程序中使用了 pthread 多线程库。- `-o pthread_example` 指定输出的可执行文件名为 `pthread_example`。- 如果程序中的 `sleep()` 函数没有作用,可以检查是否有其他线程在运行导致程序流程被占用。1. **编写程序文件**:将你的程序保存为一个文件,比如 `pthread_example.c`。- `pthread_example.c` 是你的源代码文件。

2024-06-26 16:14:05 309

原创 互斥锁并不能保证任务不能被调度

互斥锁不能保证在临界区的时候,不发送任务调度,所以为了保护共享的资源不被调度访问,需要在两个线程都加互斥锁来保证任务不调度。在多线程环境中,只有当一个线程持有互斥锁并进入临界区时,其他线程才会被阻塞,直到该锁被释放。因此,在你的代码中,即使。这是互斥锁的基本特性,确保在任意时刻只有一个线程可以访问共享资源。使用了互斥锁来保护临界区(即共享资源的访问),而。也可以由调度器选择执行,因为它不需要等待或竞争。的影响,没有在临界区内等待互斥锁。也可以被调度器执行,因为它不受。互斥锁并进入临界区,

2024-06-26 15:01:31 223

原创 MobaXterm破解专业版方法

python MobaXterm-Keygen.py "DoubleSine" 20.2 (20.2为MobaXterm版本号,具体版本号可以看MobaXterm的help)最后将新生成的Custom.mxtpro文件复制到MobaXterm的文件夹或者安装目录重启MobaXterm即可。1.安装python3环境,使用vscode打开文件夹,新建终端,在终端中执行命令。

2024-06-25 14:09:58 8803

原创 端口复用详解

1. 允许快速重启服务器:当服务器进程异常退出或者被关闭后,如果不设置端口复用,操作系统会在一段时间内保持该端口处于TIME_WAIT状态,这样会导致在该端口上无法立即启动新的服务器进程。3. 解决TIME_WAIT状态资源耗尽问题:如果不设置端口复用,在高并发情况下,大量的TIME_WAIT状态连接会消耗系统资源,甚至导致资源耗尽。2. 提高服务器的健壮性和可用性:在高并发环境下,服务器可能会频繁启动和关闭,如果不设置端口复用,会导致端口资源被长时间占用,从而影响服务器的健壮性和可用性。

2024-05-09 16:08:58 1346

原创 c/c++传值和传引用的区别

函数中只是被复制了一份,对复制的值的增加不会影响到原来的。函数接受一个指向整数的指针,通过这个指针可以直接修改。函数中使用的是传值方式传递参数,所以。的值,可以通过传递指针的方式修改。这段代码的目的是增加。这个修改后的版本中,的操作就会直接影响到。

2024-04-28 17:39:24 263

原创 core dump进行gdb调试的时候提示no debugging symbols found

gdb调试的时候提示如下:no debugging symbols found,这说明可执行文件编译时没有包含了调试符号,所以需要修改makefile,编译时要-g。CFLAGS = $(INCLUDES) -g -Wall -march=mips32r2(改为这个)修改makefile如下。

2024-04-23 14:31:38 1137

原创 注意libaudioProcess.so和libdevice.a是不一样的,一个是动态链接,一个是静态

libaudioProcess.so是动态链接,修改需要改根文件系统,需要bsp重新配置。libdevice.a是静态链接,直接替换就行。然后执行fw_update.sh。

2024-04-22 17:04:49 315

原创 君正dsp开发注意点

其中 60 是音量设置的一个临界点,在这个值上软件不对音量做增加或减小,当音量值小于 60 时,每下降 1,音量减小 0.5dB;当音量值大于60 时,每增加 1,音量增加 0.5dB。其中 60 是音量设置的一个临界点,在这个值上软件不对音量做增加或减小,当音量值小于 60 时,每下降 1,音量减小 0.5dB;当音量值大于60 时,每增加 1,音量增加 0.5dB。如果 AEC 开启了,就无需再调用单独开启 AGC,NS,HPF 的函数了,因为配置文件中使能了的话,就直接在 AEC 中进行处理数据。

2024-04-22 08:56:07 288

原创 结构体指针

所以p_stu->age = stu.age;是可以连等的,只是结构体的指针和数据的两种不同表示方式,其实都是代表一个数据。

2024-04-21 22:48:35 104

原创 音视频开发常用名词

较长的GOP长度意味着更多的帧依赖于之前的帧进行解码,可以实现更高的压缩率,但也可能增加解码的延迟和错误传播的风险。较高的码率可以提供更高的图像质量,因为更多的数据被用来表示视频的细节,但也会导致更大的文件大小和更高的传输成本。在数字视频中,码率决定了视频的质量和文件大小,因为更高的码率通常意味着更高的图像质量和更大的文件大小。具体来说,较低的QP值会导致更精细的量化和更高的图像质量,但也会产生更大的码率。相反,较高的QP值会导致粗糙的量化和较低的图像质量,但可以获得更高的压缩率。

2024-04-21 12:58:14 1331 2

原创 c语言指针相关的用法理解

通过传递指向指针的指针,函数可以修改指针的内容,从而改变调用函数中指针的值。0.指针本身占4个字节(32位操作系统),u32 * p和u8*p,其中的u32 *,u8 *指的是指针指向的地址的数据的解析方式。1.u32 * p和u8*p都是指向一个地址,不同的只是对地址的解析方式不同,如下的。使用方法是对的,都是指向一个地址,只是对地址的中存放的数据的解析方式不一样。根据你的需求和数据类型,你可以选择使用适当类型的指针。指向的是一个32位无符号整数的内存地址。指向的是一个字节的内存地址。

2024-04-19 19:43:40 445

原创 读书笔记目录

1.

2024-04-04 21:25:19 127

原创 终端操作命令合集

【代码】终端操作命令合集。

2024-03-29 14:16:21 338

原创 Linux命令

【代码】Linux命令。

2024-03-29 14:15:03 138

原创 audacity导出不同采样率和bit和格式的音频文件

2024-03-29 11:59:47 975

原创 使用while (i--)时候计时不准,有可能是编译器优化了,加上volatile能解决问题

2024-03-15 16:17:06 161

原创 音频数据如果在中断中会随机给的那就放入队列或者缓冲区;队列缓冲区对音频的作用

回采的数据是在中断函数au0_dma_isr_data_output里面给的,而给算法的时候是在主程序karaok_sdadc_process,这样子就会出现中断给的数据和当前的mic帧不匹配,或者说每次的差值不一定,算法就会有问题,解决办法是讲回采数据放入队列,给个缓冲区来循环取放值,这样子缓存去的数据先进先出,就可以实现存取长时间的数据,在这长时间的情况下,一定能轮到另外一边主程序karaok_sdadc_process运行,以拿到数据。错误模型如下,没加循环缓存。正确模型如下,加循环缓存。

2024-03-15 10:25:29 761

原创 c语言宏定义中涉及到运算一定要加括号,不然展开会有出错的风险

2024-03-08 14:16:55 214

原创 单片机的boot升级和双备份升级

同时boot升级还会有一个策略来防止单片机变成砖:就是boot的升级程序写在boot中,这个部分的的升级程序是不会改动的,如果检测到升级失败,会一直等待,直到升级正确的程序。

2024-03-06 15:42:11 550

原创 m++和++m

2024-02-29 16:03:50 341

原创 中科蓝讯板子中段打印注意事项

如下,au0_dma_isr_data_output是会在中断中调用的,所以打印这里参数必须要放到.com区。错误示范:其中%d\n没有放到.com区,系统会一直重启。正确示范:将打印放到.com区。

2024-02-22 14:04:24 407

1111111111111111111111111111

1111111111111111111111111111

2024-06-12

空空如也

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

TA关注的人

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