- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 使用 ftrace 进行内核跟踪
ftrace 是 Linux 内核中强大的跟踪和调试工具,能够提供详细的函数调用和执行时间信息,帮助开发人员进行性能分析和故障排除。通过本文的介绍,希望你能熟练掌握 ftrace 的基本使用方法,并在实际开发中应用它来提升代码质量和系统性能。
2024-06-13 11:24:34
461
原创 Linux开发板 FTP 服务器移植与搭建
VSFTPD(Very Secure FTP Daemon)是一个安全、稳定且快速的FTP服务器软件,广泛用于Unix和Linux操作系统。它以其轻量级、高效和易于配置而受到赞誉。VSFTPD不仅支持标准的FTP命令和操作,还提供了额外的安全特性,如匿名FTP访问、上传/下载速度限制、用户隔离以及通过SSL/TLS加密传输。此外,VSFTPD对资源的消耗较少,适合在需要高性能和安全性的服务器上部署。由于其安全性和灵活性,VSFTPD是许多系统管理员和网络管理员的首选FTP服务器解决方案之一。
2024-05-01 23:57:39
1249
1
原创 实时监控RTSP视频流并通过YOLOv5-seg进行智能分析处理
脚本还包括后台处理、进程PID管理、文件系统事件监控以及资源清理功能,确保在接收到中断信号时能够妥善终止进程并清理文件,有效管理存储空间。在完成RTSP推流之后,尝试通过开发板接收的视频流数据进行目标检测,编写了一个shell脚本实现该功能,关于视频推流和rknn模型的部署请看之前的内容或者参考官方的文档。由于实例分割模型的FPS较低,所以有较高的延迟,后续可以使用目标检测模型进行测试,效果应该会更好。该脚本实现了一个自动化的视频监控流程,通过。
2024-05-01 17:48:56
1028
原创 Git推送本地项目到gitee远程仓库
Git 是一个功能强大的分布式版本控制系统,它允许多人协作开发项目,同时有效管理代码的历史版本。开发者可以克隆一个公共仓库到本地,进行更改后将更新推送回服务器,或从服务器拉取他人更改,实现代码的同步和版本控制。此外,Git 支持在本地搭建服务器或使用如 GitHub 这样的在线平台进行远程协作。工作区(Workspace):这是开发者进行代码编写和修改的地方,通常是仓库代码的最新状态。缓存区(Index/Stage Area):也称为暂存区,位于 .git 目录下。
2024-04-30 22:14:55
711
原创 使用RTSP将笔记本摄像头的视频流推到开发板
RTSP(实时流传输协议)是一种网络协议,用于控制音视频数据的实时流传输,常用于远程监控和视频会议。
2024-04-30 21:14:48
2256
2
原创 在RK3588上部署PPYOLOE模型
是基于PP-YOLOv2的卓越的单阶段Anchor-free模型, 超越了多种流行的YOLO模型。PP-YOLOE有一系列的模型,即s/m/l/x,可以通过width multiplier和depth multiplier配置。
2024-04-30 17:58:16
1175
1
原创 RKNN Toolkit2 工具的使用
RKNN Toolkit2 是由瑞芯微电子 (Rockchip) 开发的一套用于深度学习模型优化和推理的工具。它主要面向在瑞芯微SoC上进行AI应用开发,但也可以用于PC平台进行模型的转换、量化、推理等操作。它支持将多种深度学习框架的模型(如Caffe, TensorFlow, PyTorch等)转换为RKNN格式。
2024-04-28 12:00:35
2175
1
原创 在Milk-v Duo上部署YOLOV8模型
从后续测试结果来说,将输出层量化为 int8,可以减少部分 ion,并提高推理速度,并且模型检测精度基本没有下降,推荐添加–quant_output 参数。在上述步骤运行成功之后,我们就获得了我们量化好的yolov8n_cv180x_int8_sym.cvimodel模型。通过nfs或者ssh的方式将cvitek_tdl_sdk(可以压缩一下,可能在传输过程中会有文件丢失)、yolov8n_cv180x_int8_sym.cvimodel以及一张测试图像传输到开发板的/mnt目录下。
2024-04-23 17:21:18
2356
2
原创 编译Milkv-duo固件
Milk-V Duo 是一款基于 CV1800B 芯片的超紧凑型嵌入式开发平台。它可以运行Linux和RTOS,为专业人士、工业ODM、AIoT爱好者、DIY爱好者和创作者提供可靠、低成本、高性能的平台。使用FileZilla将其传输到Windows中,然后将其压缩为.zip。使用balenaEtcher工具将其烧录到sd卡,将sd插到板子上就可以看到其可以顺利启动。在duo-buildroot-sdk/install/soc_cv1800b_milkv_duo_sd下会生成images镜像文件。
2024-04-23 17:07:45
584
原创 实现I.MX6ULL开发板与Windows和Ubuntu系统之间的通信
1. 将I.MX6ULL开发板与Windows使用网线进行连接,启动开发板,启动网口,设置IP地址和网关。3. 打开VMware,启动ubuntu,配置网络,设置固定IP。5. 打开VMware的虚拟机设置,选择网络连接的模式。4. 打开VMware的虚拟网络编辑器,设置桥接模式。2. 在Windows中找到网络连接,配置以太网,配置完成后使用ifconfig命令查看网络配置。6. 使用ping命令,看互相能不能ping通。因此,我们需要使用桥接模式实现三者之间的通讯。
2024-04-18 15:17:31
310
1
原创 搭建i.MX6ULL开发板的GDB调试环境以及调试
在嵌入式系统开发中,由于硬件性能限制,通常使用PC端的GDB工具配合开发板上的gdbserver进行远程调试。首先需要安装交叉编译器和texinfo,然后编译并安装GDB,接着编译并部署gdbserver到嵌入式设备。之后,编写测试程序并交叉编译为可执行文件,发送至开发板。在PC端启动GDB,连接到运行gdbserver的开发板,加载可执行文件并设置断点,最后通过常用GDB命令进行程序调试。
2024-04-18 14:25:33
735
1
原创 在 i.MX6ULL 开发板上通过 NFS 与 Windows 11 进行文件共享和传输
接着,要配置Windows网口的地址,如果不确定是哪一个网口,可以插拔一下网线。注意,要保证IP在一个网段,且网关要一致,否则无法通讯。使用以下命令就可以挂载Windows上的文件夹了,去到开发板的/mnt/nfs文件夹下看是否已经挂载。配置好后使用ifconfig查看网络信息,使用ping命令检查互相是否能够ping通。参考下面的图进行配置,在电脑上创建一个nfs的文件夹用来存放需要挂载的文件。
2024-04-15 10:53:27
239
1
原创 安装cmake=3.16.5
命令来验证CMake是否已正确安装,并且版本是否为3.16.5。(对于八核处理器)来加快编译速度。如果是四核处理器,可以使用。命令开始编译,如果您的计算机有多个核心,可以使用。如果您不确定或者不想修改,直接使用。命令将CMake安装到系统中。安装完成后,您可以通过输入。
2024-03-26 11:10:36
545
原创 在Milk-V Duo上部署MobileNetV2
Milk-V Duo 是一款基于CV1800B芯片的RISC-V架构开发板,它可以运行 Linux 和 RTOS,适用于嵌入式系统和物联网设备的开发。其中,CV1800B 是一款高性能、低功耗芯片,适用于住宅消费监控 IP 摄像机、家庭智能等众多产品。它提供丰富的教程和资料,支持多种操作系统,具有活跃的社区支持,并且接口丰富,易于上手。该开发板可用于教育和研究,尤其在计算机体系结构、嵌入式系统设计、硬件原型制作等方面。
2024-03-25 14:12:43
1513
1
原创 I.MX6ULL的u-boot、zImage、设备树、rootf烧写建议
mmc write 80800000 2 2EE (以实际大小为准) //烧写 u-boot.imx 到 SD 中。tftp 80800000 u-boot.imx //下载 u-boot.imx 到 DRAM。u-boot重新烧写并启动后要配置基本的网络相关的环境变量,以下面为例,根据自己实际情况配置。建议将u-boot烧写至SD卡,当然也可以烧写至EMMC,前者更方便后面的调试。mmc partconf 1 1 0 0 //分区配置,EMMC 需要这一步!
2024-01-20 05:03:05
720
原创 U-boot启动流程和bootz 启动 Linux 内核过程
boot的启动大致可分为两个阶段:stage1:使用汇编完成CPU的初始化stage2:通过C语言分board_init_f 和 board_init_r 两个阶段完成外设的初始化首先,将U-Boot的二进制代码从Flash存储器中读取出来,加载到DDR的一个预设地址(通常是RAM的低地址区域)。然后,找到链接脚本(u-boot.lds)中制定的入口点,并开始执行u-boot的初始化代码。在执行初始化代码的过程中,会对U-boot代码中的变量、函数、环境变量等进行重定位(),。
2024-01-16 01:11:52
1401
1
原创 Linux搭建tftp出现“Job for tftpd-hpa.service failed because the control process exited with error code..“
启动 tftp 服务时,出现“Job for tftpd-hpa.service failed because the control process exited with error code. See "systemctl status tftpd-hpa.service" and "journalctl -xe" for details.”的错误。
2024-01-08 19:58:50
1944
2
原创 数组的地址
1. sizeof(数组名)-数组名表示整个数组-计算的是整个数组的大小单位是字节。2. &数组名-数组明表示整个数组-取出的是整个数组的地址。大多是情况下数组名是数组首元素的地址,但是有两个例外。
2023-12-31 00:30:04
354
原创 IIC、SPI、CAN、UART等概念
SPI需要至少4根线,分别是MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)、SCLK(时钟,提供收发双方的时间基准)、CS(片选 chip select),SPI使用引脚较少且布线方便,所以越来越多的芯片集成了这种通信协议;缺点是不能保证数据的可靠性);I²C的正确读法为“I平方C”也称为I2C(Inter-IC Communication),是一种串行、半双工通信协议,主要用于近距离、低速对的芯片之间的通讯,用于连接多个集成电路(IC)或器件,通常用于连接传感器、显示屏、存储器等。
2023-12-29 18:00:28
2041
1
原创 Linux远程传输文件时出现Permission denied解决办法
1.打开/etc/ssh/sshd_config 配置文件,将第52行的代码取消注释。-R 是指级联应用到目录里的所有子目录和文件;777 是所有用户都拥有最高权限。r为可读权限,w为可写权限,x为可执行权限。ls -l 文件名称。
2023-12-26 00:09:40
2439
1
原创 在Linux系统中执行命令后出现dpkg: error: dpkg frontend is locked by another process问题的解决办法
在在Linux系统中执行命令后出现一个异常提示。原因是包管理器没有正确关闭。然后重新输入命令问题就解决啦!
2023-12-26 00:04:09
1507
1
原创 嵌入式开发学习路线
选择深入研究特定领域,如嵌入式Linux开发、物联网(IoT)系统开发、嵌入式图像处理等,根据个人兴趣和需求选择相关的学习路线。学习实时操作系统(RTOS)的概念、特性和功能,如FreeRTOS、RTOS、VxWorks等。了解各种通信协议,如CAN、Ethernet、USB、Bluetooth、Wi-Fi等。学习嵌入式系统的体系结构和组成,包括处理器、存储器、总线、输入输出等组件。学习嵌入式系统开发工具,包括编译器、调试器、仿真器、IDE等。学习C语言基础,包括数据类型、变量、运算符、控制语句等。
2023-12-17 01:26:01
1310
1
原创 C语言中关于return语句的理解
例如,如果函数声明的返回类型是 int,那么 expression 必须是一个 int 类型的表达式。如果一个函数不返回任何值,可以使用 return 语句不带表达式,或者干脆省略 return 语句。在上面的示例中,add 函数接受两个整数参数 a 和 b,计算它们的和,并使用 return 语句返回结果。返回的值是一个 int 类型的整数。总之,在C语言中,return 语句用于从函数中返回一个值,而返回的值的类型必须与函数的声明相匹配。在函数中,一旦执行到 return 语句,函数的执行将立即停止。
2023-12-17 00:01:06
497
1
原创 C语言中的数据类型
在C语言中,不同数据类型所占用的内存大小可以根据编译器和运行平台(如32位或64位系统)而有所不同。对于构造类型(如数组、结构体、共用体和枚举)的大小,它取决于构成这些类型的数据类型及其数量。例如,一个由10个整型(结构体的大小取决于其内部成员的类型和数量,以及可能的内存对齐。为了获得特定平台上的确切大小,您可以在您的C编译环境中使用。C语言中包含多种数据类型,它们可以大致分为以下几类。)组成的数组在32位系统中可能占用40字节(假设。类型在您的系统中占用的字节数。
2023-12-16 15:56:16
370
1
原创 安装Ubuntu虚拟机,无法ping虚拟机,VSCode无法连接虚拟机,VMWare没有虚拟网络适配器
完成以上步骤之后就可以重装VMWare了,安装成功后就会出现vmware虚拟机网络配置了。2. 使用文件搜索工具Everything搜索VMWare,删除所有的文件。win+R输入cmd,ping 虚拟机IP地址就会正常了。3. 使用CCleaner删除无效的注册表。1. 卸载VMWare。
2023-12-16 00:47:35
693
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人