- 博客(180)
- 资源 (24)
- 收藏
- 关注
原创 磁盘占用的测试脚本
做了一个APP,其中/mnt目录下存放DCIM录像拍照等媒体信息。现需要写一个shell脚本,在/mnt目录下创建文件,占用磁盘,测试触发媒体功能的低磁盘容量保护策略。
2026-03-23 10:41:28
42
原创 AtomPi 插入无线网卡出现两个wifi接口
你只有1 张物理无线网卡,两个接口是驱动 / 系统虚拟的逻辑接口;两个接口都连同一个 WiFi 是 “重复识别” 导致,无硬件问题;处理方式:临时关一个、永久禁用冗余接口,或直接忽略(不影响使用)。如果想彻底清理,我可以给你一套 “一键禁用冗余无线接口 + 修复网卡命名” 的完整脚本。
2026-03-22 18:53:55
323
原创 Git 打 Tag 的作用
Git Tag是版本控制中的关键工具,主要用于标记发布版本(v1.0.0等),便于代码追溯和问题定位。它能标准化发布流程,配合CI/CD自动化部署,同时可标记项目里程碑。常用操作包括创建带备注的标签(git tag -a)、推送远程仓库(git push origin --tags)及版本切换(git checkout v1.0.0)。相比commit哈希值,语义化的Tag名更直观,能有效避免版本混淆,是团队协作必备的版本管理方式。
2026-03-11 13:40:18
246
原创 如何查案动态库版本
本文介绍了多种查看FFmpeg库版本的方法:1)使用file命令查看基础版本信息;2)通过readelf或objdump获取详细版本;3)利用pkg-config查询开发包版本;4)编写测试程序调用FFmpeg版本宏/函数。针对符号被剥离的库,推荐通过readelf查看SONAME或编写简单测试程序获取准确版本。这些方法可有效解决开发中因库版本不匹配导致的问题。
2026-01-15 17:10:26
407
原创 基于linux日志打印保存模块
本文实现了一个多线程安全的日志系统,主要功能包括:1) 将printf内容同时保存到/log/app_log目录下的日志文件;2) 日志文件以系统启动时间命名(如20251120_194820.txt);3) 每条日志自动添加时分秒时间前缀;4) 通过互斥锁确保多线程安全。代码实现包含初始化、日志打印和关闭模块,并提供了多线程测试用例。测试结果表明系统能正确记录带时间戳的日志,且支持多线程并发调用。该系统适用于需要同时输出和控制台日志记录的应用程序开发。
2025-11-22 16:18:02
241
原创 排查undefined reference to `xxx‘问题
摘要:文章分析了编译过程中常见的"未定义引用"错误,主要出现在链接阶段找不到函数实现的情况。作者提供了系统性的解决方案:首先通过nm或objdump工具扫描第三方库,定位缺失符号所属的具体库文件;然后建议在CMakeLists.txt中添加对应的库链接项。文章以AR_CNN_SR_GetModelInfo等函数为例,详细说明了如何识别符号定义状态(T表示已实现,U表示未实现),并给出了脚本示例来自动化查找过程。最后强调需要逐个解决所有未定义符号,确保正确链接所有依赖库。
2025-10-16 14:30:59
427
原创 memcpy各个版本在A53平台测试
针对日益增长的消费娱乐和无线产品设计,用于具有高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域,如智能手机、平板电脑、汽车娱乐系统、数字电视,智能本、电子阅读器、家用网络、家用网关和其他各种产品。该系列面向微控制器领域,主要针对成本和功耗敏感的应用,如智能测量、人机接口设备、汽车和工业控制系统、家用电器、消费性产品和医疗器械等。新的处理器家族,改以Cortex命名,并分为三个系列,分别是Cortex-A,Cortex-R,Cortex-M。平台架构不一样,指令集能兼容吗?
2025-10-16 14:10:14
1001
原创 win10安装conda环境
不过可知TensorFlow 2.10.0是Windows本地支持GPU的最后一个版本,从2.11.0开始,Windows系统需通过WSL2才能使用GPU,且GPU和CPU版本在2.x中已合并。,安装tensorflow==2.10.0后,若环境配置正确,会自动启用GPU 2。同时,对于Tensorflow2.0,要求CUDA的版本不低于10.0。兼容性:参考材料中未直接提及tensorflow - gpu与cuda12.0的对应关系。二、安装TensorFlow-GPU 2.5.0。创建、进入虚拟环境,
2025-10-08 18:27:51
323
原创 win11+4060安装cuda,cuda toolkit,cudnn
本文详细介绍了NVIDIA显卡驱动的安装与配置流程,主要包括四个步骤:1)通过nvidia-smi命令查看驱动版本;2)根据CUDA版本安装对应cudatoolkit;3)下载适配版本的CUDNN并复制到CUDA安装目录;4)配置系统环境变量并验证安装。最终通过deviceQuery.exe测试确认安装成功,显示了RTX 4060显卡的详细参数和CUDA 12.7驱动版本与12.6运行时版本兼容。整个过程强调了版本匹配的重要性,为深度学习环境搭建提供了完整指导。
2025-10-08 18:00:40
1457
原创 设备树在系统中的体现
Linux 内核启动的时候会解析设备树中各个节点的信息,并且在根文件系统的/proc/devicetree 目录下根据节点名字创建不同文件夹。
2025-09-23 16:34:13
356
原创 在虚拟机ubuntu上修改framebuffer桌面不能显示图像
程序无法在虚拟机的 Ubuntu 桌面上绘制图形,主要原因在于现代 Linux 桌面环境(如 Ubuntu 使用的 GNOME、Unity 等)通常运行在 X Window 系统或 Wayland 等显示服务器上,而程序直接操作了。程序直接操作显存的像素数据,但 Xorg 有自己的渲染管线(如通过显卡驱动、窗口管理器等),两者的绘制逻辑冲突,导致你的图形无法显示在桌面。(取决于权限),但写入的内容会被 Xorg 的桌面渲染覆盖(因为 Xorg 会持续刷新屏幕)。Xorg 作为显示服务器,会独占。
2025-07-28 19:47:53
516
原创 LVGL断言配置调试策略
建议在开发过程中保持基础防护始终启用,针对特定问题临时启用深度检查。发布版本中应关闭所有耗时断言,但保留。推荐理由:这三项检查耗时极低(总开销<0.2ms/操作),能有效预防80%的常见错误,2,:将断言错误自动记录到日志系统,支持日志分级过滤。:当出现间歇性崩溃或内存泄漏时启用,建议配合。:将断言检查与日志输出合并,减少重复调用开销。:实现内存分配追踪,精准定位内存泄漏位置。:通过编译时宏控制调试深度,避免重复配置。自定义处理机制以收集现场信息。2,深度调试(开发阶段)1,基础防护(必开项)
2025-06-05 09:43:30
668
原创 Linux性能分析
Perf是一个基于Linux 2.6 +系统的分析工具,它抽象了在Linux中性能度量中CPU的硬件差异 ,提供一个简单的命令行界面。
2024-10-10 14:23:26
1300
1
原创 firefly rk3588 sdk安装问题记录
安装完成后别忘了切换python版本,可以用alias命令临时用切换。使用alias命令,可以将不同版本的Python设置为不同的命名,从而方便地切换Python版本。发现是缺少hashlib,解决办法:下载安装hashlib(https://pypi.python.org/pypi/hashlib)我的环境的python版本是python3.7。可以看到python2.6安装到了/usr/local/bin/python2.6目录下。可以看到,安装完成后该库已经拷贝到了python2.6中。
2024-07-03 10:22:42
1656
原创 LVGL网格布局测试
1,在不指定cont的style情况下,cont默认是存在padding的,所以label_cont在cont内部的左侧与上边存在空隙。若要消除这种空隙,则需要给cont的pad致0。
2024-06-09 22:24:36
794
1
原创 LVGL Grid网格布局
align 指定每一个放置在网格上的控件相对格线的对齐;那么第二列的宽度是绝对宽度 60 ,剩余的宽度被划分为 3 份:第一列占 1 份,第三列占 2 份。这里使用 LV_GRID_ALIGN_STRETCH 让网格内的控件尺寸伸展至网格大小,使网格布局的特点更加明显。网格在横向和竖向对齐摆放时,对齐方式都类似于 flex ,因此可以认为 grid 是一种二维的 flex 布局。使用网格布局时,每个格子内的控件在创建时都可以在网格内对齐。grid 布局是一种网格形式的布局,可以按行或列来对齐控件。
2024-03-21 11:50:35
1362
原创 LVGL Flex弹性布局效果测试
LV_FLEX_FLOW_COLUMN_WRAP_REVERSE 将子项放在一列中,不换行,但顺序相反。LV_FLEX_FLOW_ROW_WRAP_REVERSE 将子元素排成一行而不换行,但顺序相反。LV_FLEX_FLOW_COLUMN_REVERSE 将子项放在一列中,不换行,但顺序相反。LV_FLEX_FLOW_ROW_REVERSE 将子元素排成一行而不换行,但顺序相反。LV_FLEX_FLOW_ROW_WRAP 将孩子排成一排并包裹起来。如果设置不包裹则是如下效果。
2024-03-21 10:44:28
863
原创 Linux系统内存查看命令
df指令主要用于显示文件系统的磁盘空间使用情况。显示磁盘空间使用情况:第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量。使用列指定使用的内存的百分比,而最后一栏"安装在"指定的文件系统的挂载点。
2024-02-29 09:48:02
1547
原创 LVGL01
lvgl8的样式改变的还是很大的,而且更加方便了,尤其是本地样式,直接改变空间的默认样式,不需要占用额外的空间保存样式了。给目标设置样式函数:lv_obj_add_style(obj,&style,selector);本地样式函数:lv_obj_set_style_xxx(obj,value,select);lvgl8的图片按钮好像只能是设置三种图片源的那种创建,只有一种的我没找到他的函数。通过样式过渡,用一张图片就简单实现的之前的图片按钮的按下情景。lvgl8的样式更加的方便,分为普通样式和本地样式,
2024-01-19 16:05:23
848
原创 linux c与c++库互相调用
上述内容已经解答了undefined reference to '__gxx_personality_v0’错误的产生原因和可能的解决方案。但为了提高我们处理类似问题的能力,还有必要深入理解一些相关的基础知识,如GCC与G++的关系、链接器如何工作等。
2023-11-20 14:39:23
857
原创 linux动态库找不到
问题状态:xxx.so: cannot open shared object file: No such file or directory。
2023-05-06 16:57:03
2009
原创 readelf指令使用
readelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。
2023-02-01 16:12:09
2716
转载 深度学习NCHW和NHWC数据格式
流行的深度学习框架中有不同的数据格式,典型的有NCHW和NHWC格式。本文从逻辑表达和物理存储角度用图的方式来理解这两种数据格式,最后以RGB图像为例来加深NHWC和NCHW数据存储格式的理解。
2022-12-01 14:23:04
2346
原创 RK1109 NPU算法测试demo
通过一个简单的矩阵乘法,和L2距离计算来测试NPU计算性能与启动NPU的一般方法。一、矩阵乘法测试demo。
2022-12-01 11:34:40
1642
4
TDA3x_SR1.0_NDA_TRM_vG.pdf
2018-05-02
Blackfin_pgr_rev2.2.pdf
2018-05-02
VisionSDK_SW_Architecture.pdf
2018-05-02
TMS320C66x汇编指令集
2018-06-04
libyuv动态库与静态库的使用,封装,测试demo
2022-08-03
TDA3x Silicon Revision
2018-05-02
STM_VCOM_1.3.1.rar
2020-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅