1.在 Linux 上检测 IDE/SATA SSD 硬盘的码详传输速度
2.TouchGFX开发(3)----使用TouchGFX配置IIC接口OLED
3.SSD 分析(一)
4.怎样写软件源码?
5.Network Service Discovery - mDNS-SD
6.速存,详细罗列香橙派AIpro外设接口样例大全(附源码)
在 Linux 上检测 IDE/SATA SSD 硬盘的码详传输速度
检测 Linux 上 IDE/SATA SSD 硬盘的传输速度
在 Linux 环境下,我们可以通过 hdparm 和 dd 命令来评估硬盘性能。码详hdparm 是码详一个强大的工具,提供了对各种硬盘的码详 ioctls 的命令行接口,这些接口由 Linux 系统的码详饼干叔叔python源码 ATA/IDE/SATA 设备驱动程序子系统所支持。确保使用最新的码详内核版本,并且推荐使用最新内核源代码的码详包含头文件来编译 hdparm。
使用 `hdparm` 命令检测硬盘速度的码详步骤如下:
以 root 权限登录,运行以下命令:
或者
为了获取更准确的码详数据,重复此操作 2-3 次。码详这个操作测量了系统处理器、码详高速缓存和存储器的码详吞吐量指标。例如:
要确定 SATA 硬盘的码详连接速度,请执行:
输出将显示硬盘的码详速度,即 1.5Gb/s、3.0Gb/s 或 6.0Gb/s。请确保 BIOS/主板支持 SATA-II/III。
使用 `dd` 命令同样可以获取速度信息:
通过调整 `dd` 命令参数,可以进行更详细的性能测试。
除了命令行工具外,您还可以使用“磁盘实用程序”GUI 工具。在最新版本的创建线程源码 Gnome 中,该工具简称为“磁盘”。要测试硬盘性能,请按照相应的指南进行操作。
为了安全地测试硬盘性能,选择只读模式。此模式下不会损坏数据。若要测试读写性能并可能导致数据丢失,请确保谨慎操作。
本文由 LCTT 原创编译,Linux中国荣誉推出。作者是 nixCraft 的创始人,系统管理员专家,也是 Linux 操作系统/Unix shell 脚本的培训师。他与多个行业领域合作,包括 IT、教育、国防、空间研究和非营利组织。
TouchGFX开发(3)----使用TouchGFX配置IIC接口OLED
TouchGFX是一种先进的软件框架,用于开发嵌入式图形界面(GUI)。在STM连接至单色OLED显示器时,开发者可借助TouchGFX显示PNG文件。获取uniapp源码
配置IIC接口至OLED显示器时,需遵循以下步骤:
1. 配置时钟树为M。
2. 开启调试接口移植SSD源码,使用GitHub上的stm-ssd源码。
3. 下载源码,确保文件正确放入对应的文件夹中。
4. 修改ssd_conf_template.h文件,设定实际使用的MCU和接口(IIC或SPI,以及对应通道)。
5. 在main.c中添加头文件与初始化函数、演示函数。
6. 修改ssd_fonts.h文件中的头文件为ssd_conf.h。
7. 通过右键重命名以正确使用文件名。
8. 配置调试接口,选择JLink进行调试。
9. 通过STMCUBEMX生成例程,使用MCU为STMGC8T6。
. 在STMCUBEMX中安装X-CUBE-TOUCHGFX软件包,并配置CRC,设置屏幕参数为单色BW模式,屏幕刷新率为Hz。
. 在TouchGFX中添加底色为黑色的cled指标源码Box组件和所需PNG。
. 生成代码,并在TouchGFXConfiguration.cpp中导入LCD驱动文件。配置TouchGFXHAL与OSWrappers。
. 添加函数,以每秒次刷新屏幕。注释掉测试代码,开启定时器中断。
. 完成配置后,通过STMCUBEIDE开启TouchGFX,程序下载至OLED后,界面将显示预设图形。
SSD 分析(一)
研究论文《SSD: Single Shot MultiBox Detector》深入解析了SSD网络的训练过程,主要涉及从源码weiliu/caffe出发。首先,通过命令行生成网络结构文件train.prototxt、test.prototxt以及solver.prototxt,执行名为VGG_VOC_SSD_X.sh的shell脚本启动训练。
网络结构中,前半部分与VGG保持一致,随后是fc、conv6到conv9五个子卷积网络,它们与conv4网络一起构成6个特征映射,glib编译源码不同大小的特征图用于生成不同比例的先验框。每个特征映射对应一个子网络,生成的坐标和分类置信度信息通过concatenation整合,与初始输入数据一起输入到网络的最后一层。
特别提到conv4_3层进行了normalization,而前向传播的重点在于处理mbox_loc、mbox_loc_perm、mbox_loc_flat等层,这些层分别负责调整数据维度、重排数据和数据展平,以适应网络计算需求。mbox_priorbox层生成基于输入尺寸的先验框,以及根据特征图尺寸调整的坐标和方差信息。
Concat层将所有特征映射的预测数据连接起来,形成最终的输出。例如,conv4_3_norm层对输入进行归一化,AnnotatedData层从LMDB中获取训练数据,包括预处理过的和对应的标注。源码中,通过内部线程实现按批加载数据并进行预处理,如调整图像尺寸、添加噪声、生成Sample Box和处理GT box坐标。
在MultiBoxLoss层,计算正负例的分类和坐标损失,利用softmax和SmoothL1Loss层来评估预测和真实标签的差异。最终的损失函数综合了所有样本的分类和坐标误差,为网络的训练提供反馈。
怎样写软件源码?
在软著申请中,关键的软件信息填写不容忽视。针对作品开发和运行环境的描述,你需要详细列出以下几点:
首先,开发环境的描述应明确具体:
处理器:例如,Intel Core i5或AMD Ryzen 5,强调其性能和效率。
内存:确保足够的资源,如8GB或GB RAM,以支持软件流畅运行。
存储:如GB或GB SSD,存储空间不可或缺。
其他硬件:如用于开发的显示器、高效键盘和鼠标,它们可能影响开发效率。
例如,Java开发的网页应用,你可能会写:“在装备有Intel Core i5处理器,8GB RAM,GB SSD的硬件环境中,配备专业显示器、键盘和鼠标进行开发。”
然后,运行平台同样重要:
处理器:如Intel Core i3或AMD Ryzen 3,适应目标用户群体的设备。
内存:至少4GB或8GB RAM,保证基本的用户体验。
存储:GB或GB SSD,确保快速加载。
浏览器插件和操作系统:如Windows、macOS或Linux下的兼容性信息。
对于网页应用,描述可能为:“在Intel Core i3处理器,4GB RAM,GB SSD的硬件上,兼容Windows、macOS或Linux操作系统,运行于浏览器环境中。”
软件开发工具的选择同样重要:
IDE:如Eclipse或IntelliJ IDEA,突出其高效和专业性。
构建工具:如Maven或Gradle,确保代码质量和部署流程的标准化。
示例为:“利用Eclipse作为主要开发环境,Maven或Gradle作为构建工具进行项目构建和管理。”
至于运行支撑环境,需要考虑:
Web服务器:如Apache或Nginx,强调其稳定性和性能。
数据库:MySQL或Oracle,提供数据存储和管理的基础。
比如:“该网页应用在Apache或Nginx服务器上部署,利用MySQL或Oracle数据库进行数据交互和存储。”
最后,每个软著申请可能都有其特定的要求,以上内容仅供参考,确保根据实际项目需求进行详细且准确的填写,才能提升作品的认证通过率。
Network Service Discovery - mDNS-SD
åºäº AOSP master åæ¯ï¼è³å°æ¯ Android以 discoverService 为ä¾ï¼ä»ç» Network Service Discovery è°ç¨æµç¨
frameworks/base/core/java/android/net/nsd/NsdManager.java
frameworks/base/services/core/java/com/android/server/NsdService.java
è¿éæ两个éè¦æ¹æ³ï¼
frameworks/base/services/core/java/com/android/server/NsdService.java
è¦æ§è¡ä¹ï¼é¦å éè¦æ§è¡ çåå§å
// åå§åè¿ç¨å ä¸åæäºï¼ç»è®ºæ¯ä½ä¸º client 端è¿æ¥ä¸ä¸ª socket å° server端ï¼netdï¼
ä¸åæåæç¸åï¼ä»¥ âmdnssdâ 为å½ä»¤ï¼ä»¥ âdiscoverâãdiscoveryIdãserviceType ä½ä¸ºåæ°å表
system/netd/server/main.cpp
system/core/libsysutils/src/SocketListener.cpp
onDataAvailable() æ¹æ³çå ·ä½å®ç°å¨ SocketListener åç±» FrameworkListener ä¸
system/core/libsysutils/include/sysutils/FrameworkListener.h
å ç¡®å® mCommand éåéæä»ä¹ï¼æè½ç¡®å®å ·ä½æ§è¡ç runCommand() æ¹æ³æ¯ä»ä¹
system/netd/server/MDnsSdListener.cpp
ä»ä»¥ä¸æºç å¯ç¥ï¼æ³¨åçå½ä»¤æ¯ âmdnssdâï¼ä¸åæç客æ·ç«¯å¹é
å ·ä½å½ä»¤çå¤çè¿ç¨å¦ä¸ï¼åææå°äº discover å start-service 两个æä½ï¼è¿éä» åæ discover å½ä»¤
external/mdnsresponder/mDNSShared/dnssd_clientstub.c
速存,详细罗列香橙派AIpro外设接口样例大全(附源码)
华为云社区分享了关于香橙派AIpro外设接口的详细指南,包括样例源码,旨在帮助开发者充分利用其丰富的功能。AIpro板搭载升腾AI处理器,支持8TOPS INT8计算,适用于多种数据分析和推理计算场景,如教育、机器人和无人机等。 AIpro板提供了众多接口,如两个HDMI输出、GPIO、Type-C电源接口、SATA/NVMe SSD M.2插槽、TF插槽、千兆网口、USB3.0和Type-C接口,以及两个MIPI摄像头、MIPI屏和预留的电池接口。以下是部分接口的使用示例:通过MIPI接口,可以播放音频到耳机。只需插入耳机并进入音频测试程序,通过命令播放*.pcm文件。
USB接口可用于录音和播放音频,准备好录音功能的耳机后,通过arecord命令录制,aplay命令播放。
MIPI摄像头可用于拍摄,通过IMX摄像头连接后,运行样例程序即可拍照。
USB接口的摄像头支持获取图像,通过v4l2-ctl查看设备节点,然后使用内置样例代码拍照并查看结果。
通过HDMI接口,可以显示图像,连接显示器后,执行特定脚本进行图像显示。
MIPI接口也能显示图像,但目前仅限于显示一张,使用LCD屏幕配合特定脚本操作。
想要了解更多样例源码和接口详解,可访问升腾社区文档中心和香橙派AIpro学习资源一站式导航。提升你的AIpro开发经验,探索更多可能!