自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IEEE access投稿及注意事项(初稿,回复审稿人,终稿)

IEEE access投稿历程及注意事项本博客是对自己 IEEE access 投稿从投稿到接收整个流程的记录。首次投稿1、创建账户2、创建ORCID并关联3、提交稿件一定注意每一个作者都需要关联ORCID,否则会被编辑return。具体可以参照这篇博客: 投稿中具体有以下七步:Step 1: Type, Titile, & AbstractStep 2: File UploadStep 3: AttributesStep 4: Authors & Instituti

2021-01-22 11:06:18 26220 67

原创 Python 环境中管理 Java 代码的执行

sikulixapi_path = str(o_path) + ‘/sikulix_lib/sikulixapi-2.0.5.jar’:这里拼接了一个字符串,代表 SikuliX API 2.0.5 的 JAR 文件的路径。f"-Djava.class.path={sikulixapi_path}" 是传递给 JVM 的一个属性,设置了类路径为 sikulixapi_path 变量的值。cus_start_jvm:是定义的方法名,cus_ 前缀可能表示这是“自定义”的一个方法。

2024-04-01 20:00:28 364

原创 pytest.param作为pytest.mark.parametrize的参数进行调用

获取数据库(网页端)数据,通过pytest.param包装成数据包用于pytest.mark.parametrize 中实现数据驱动调用。pytest.param:在 pytest.mark.parametrize 中可以作为一个指定的参数进行调用。

2024-02-24 15:39:09 856

原创 pytest测试框架之插件(hook函数)开发

pytest_collection_modifyitems()钩子函数的运行机制如下:在 Pytest 运行过程中,当测试集被收集完成后,Pytest 会检测到conftest.py文件中是否定义了 pytest_collection_modifyitems() 函数。如果 conftest.py中定义了 pytest_collection_modifyitems() 函数,Pytest 会调用该函数,并传递两个参数:config 和 items。

2024-02-24 15:31:41 816

原创 RV新闻概要 --- 2024/02/23

芯来科技此次推出的N100在原有N200的基础上着重针对超低功耗场景进行优化,为IoT的低功耗应用提供更便捷有效的解决方案,帮助客户快速高效地完成产品设计。芯来科技N100处理器是一款基于RISC-V RV32I(E)MC/Zc并严格使用RISC-V标准指令的2级流水线单发射处理器,在超低功耗的基础上同样保持性能上的优势,拥有1.09 Dhrystone/MHz以及2.96 Coremark/MHz的性能跑分。丰富的可配置性与特性,可以满足不同的应用需求,给客户带来更多的差异化。

2024-02-23 10:51:53 405

原创 RT-Thread packages之aht10(温湿度传感器)

仓库地址:https://github.com/RT-Thread-packages/aht10。

2024-01-09 10:31:49 452

原创 RTOS CPU使用率统计原理

每个时间片侦测一次当前线程,如果当前正在运行 idle 线程,空闲计数器自增。一个周期后,计算 IDEL 线程运行时间的占比。上图展示一个周期内,某个 CPU 上线程时间片信息。假设一个方格代表一个时间片。统计单核 CPU 使用率。

2024-01-05 16:08:52 431

原创 测试框架梳理

测试框架

2023-12-28 16:25:46 368

原创 嵌入式软件测试之单元测试流程规范

测试流程规范。

2023-12-25 10:23:53 424

原创 常用shell命令

【代码】常用shell命令。

2023-12-21 15:57:04 393

原创 RV CORE梳理

【代码】RV CORE梳理。

2023-12-20 20:58:00 380

原创 系统调度(thread+timer+irq)

系统调度(thread+timer+irq)参考文献https://blog.csdn.net/weixin_42328389/article/details/123504395

2023-12-11 17:03:09 376

原创 RT-Thread 中断处理

RT-Thread 中断处理参考文献https://blog.csdn.net/weixin_42328389/article/details/124227408

2023-12-11 15:36:04 381 1

原创 【无标题】

时钟节拍是特定的周期性中断,这个中断可以看做是系统心跳,中断之间的时间间隔取决于不同的应用,一般是 1ms–100ms(可配置),时钟节拍率越快,系统的实时响应越快,但是系统的额外开销就越大,从系统启动开始计数的时钟节拍数称为系统时间。在定时器使用逻辑中,一般定时器启动时设定超时时间为next_time,满足current_time >= next_time就认为定时器超时,但如果在溢出前后,就会出现错误判断。通过合理地利用定时器,可以实现任务的精确调度和时间控制,满足实时系统对时间约束的要求。

2023-12-11 15:34:46 404 1

原创 股票指标分析

股票指标分析

2022-09-11 14:39:20 1378 1

原创 多目标进化算法(二)——非支配排序/NSGA-II

经典非支配排序详解(原理+举例说明),后续进行代码实现。

2022-03-08 18:58:52 5670 7

原创 多目标优化(进化)算法入门(一)

本节简述了多目标优化的基本概念,并举例说明了多目标标优化问题,后续会继续讲解如何求解问题。

2022-03-08 11:24:17 1802 1

原创 Golang源码分析之sort

工程级的排序算法如何实现,所以假设各位都清楚了排序相关的一些前置知识,包括:时间复杂度分析,插入排序,希尔排序,堆排序,快速排序和Go语言的基本语法。首先需要实现Interface接口中的三个函数。排序过程中,比较和交换是必要环节,比较可以判断是否需要交换,交换可以减少逆序度(集合变有序)。实现三个函数的目的是为了实现slice和user defined cllections。比如对于复杂数据类型包含注册时间+用户活跃度等的多维度排序,可以自定义Less()。以下分析仅是个人理解。//sort的实现接口

2021-09-24 09:38:24 274

原创 库函数:memcpy 和 memmove

memcpy 和 memmove都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *dst, const void *src, size_t count); 他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。举例说明

2021-06-30 19:46:09 157

原创 Socket之linger结构体关闭TCP连接

Linux网络编程中,socket的选项很多.其中几个比较重要的选项有:SO_LINGER(仅仅适用于TCP,SCTP), SO_REUSEADDR.在默认情况下,当调用close关闭socke的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然后close才返回.SO_LINGER选项则是用来修改这种默认操作的.于SO_LINGER相关联的一个结构体如下:#include <sys/socket.h> str

2021-06-28 19:27:26 689 3

原创 socket网络编程(三)多进程通信

linux多进程目录linux多进程1、子进程创建2、通过将服务端改为多进程实现并发连接3、实验测试拓展一:僵尸进程如何解决僵尸进程拓展二:C10K问题如何解决:每个进程/线程同时处理 多个连接(I/O多路复用)解决方法总结拓展三:进程间通信1、管道2、消息队列3、共享内存4、信号量5、信号6、Socket进程就是正在内存中运行中的程序,Linux下一个进程在内存里有三部分的数据,就是“代码段”、”堆栈段”和”数据段”。”代码段”,就是存放了程序代码。“堆栈段”存放的就是程序的返回地址、程序的参数以及程

2021-05-07 15:17:25 786

原创 socket网络编程(二)封装socket函数

封装socket函数目录封装socket函数1、客户端socket封装2、服务端socket封装3、测试拓展:三次握手和四次挥手1、基础知识2、TCP 三次握手过程和状态变迁3、为什么需要三次握手而不是两次或者四次?4、TCP 四次挥手过程和状态变迁socket 编程函数很多,细节也很多 — 封装起来操作更方便和安全采用C++封装的意义主要有以下几方面。1)把数据初始化的代码放在构造函数中;2)把关闭socket等释放资源的代码放在析构函数中;3)把socket定义为类的成员变量,类外部的代码根

2021-05-06 22:38:01 1492 1

原创 Linux下实现socket网络通信(一)

socket网络编程目录socket网络编程1、服务端的工作流程2、客户端工作流程相关库函数和注意事项头文件1、socket文件描述符2.1、把服务端用于通信的地址和端口绑定到socket1、主机字节序与网络字节序2、ip地址转为网络字节序3、转换函数 htonl,ntohl,htons,ntohs2.2、地址和端口相关的结构体3、服务端程序绑定(bind)通信地址和端口4、客户端程序指定服务端的ip地址或域名(负载均衡)5、listen()、connect()、accept()1、listen函数2、c

2021-05-06 19:43:08 1846 1

原创 二叉树非递归遍历实现

二叉树遍历的非递归实现基础知识二叉树的遍历分为深度优先遍历(DFS)和广度优先遍历(BFS)。深度优先遍历:尽可能地向左(或右)进行,在遇到第一个转折点,向左(或右)一步,然后再尽可能地向左(或右)发展。这一过程重复直到访问了所以节点。树的深度优先遍历一般有三种:VLR——前序遍历(根左右)LVR——中序遍历(左根右)LRV——后序遍历(左右根)核心思路遍历时一定要搞清楚一点就是,输出都是根节点(核心思想),因此不同的遍历方式仅仅是根节点的输出时机不同。中序遍历:访问顺序为左根右。遇到节点

2021-05-06 15:57:55 321 4

原创 十大排序算法及优化 ( C++简洁实现)

十大排序算法前面的和其他博客内容大差不差,主要可以查看后几种排序算法的分析和代码实现。归并排序和快速排序为一类(使用递归);堆排序:优先队列,在刷题中使用较多;计数排序、桶排序和基数排序为一类;我看了很多博客,对于后三种都没有清晰的讲解。在搞清楚之后给大家分享,如果存在错误,请多包涵。特别需要理解计数排序中累加数组的妙处。排序算法十大排序算法特别需要理解计数排序中累加数组的妙处。0、算法概述0.1 算法分类0.2 算法复杂度1、冒泡排序(Bubble Sort,稳定)2、选择排序3、插入排序(

2021-04-26 18:59:51 2246 6

原创 一文搞懂二叉树的递归实现原理(图解)

一文搞懂二叉树的递归实现原理(图解)1、活动记录调用函数时会发生genbg什么?如果这个函数存在形参,形参就初始化为实参传递来的值。另外,函数结束后,系统要知道从哪里继续执行程序。而递归的实现就需要知道 从哪里继续执行。指示函数从何处调用的信息保存在系统中。为了做到这一点,返回地址被存储在主内存中预留的特定区域。对于函数调用来说,需要存储的信息不只是返回地址。因此使用栈进行动态分配效果会好一些。那么调用函数时,需要保存哪些信息?每个函数(包括主函数main())的状态由以下因素决定:函数中的所有局部

2021-04-13 22:15:05 5226 4

原创 socket编程实现SMTP邮件客户端

套接字编程作业3:邮件客户端1、作业描述《计算机网络:自顶向下方法》中第二章末尾给出了此编程作业的简单描述:这个编程作业的目的是创建一个向任何接收方发送电子邮件的简单邮件客户。你的客户将必须与邮件服务器(如谷歌的电子邮件服务器)创建一个TCP连接,使用SMTP协议与该邮件服务器进行交谈,经该邮件服务器向某接收方(如你的朋友)发送一个电子邮件报文,最后关闭与该邮件服务器的TCP连接。对本作业,配套Web站点为你的客户提供了框架代码。你的任务是完善该代码并通过向不同的用户账户发送电子邮件来测试你的客户

2021-04-11 14:52:00 11894 11

原创 实现基于UDP的ping程序

套接字编程作业2:UDPping程序作业描述《计算机网络:自顶向下方法》中第二章末尾给出了此编程作业的简单描述:在这个编程作业中,你将用Python编写一个客户ping程序。该客户将发送一个简单的ping报文,接受一个从服务器返回的pong报文,并确定从该客户发送ping报文到接收到pong报文为止的时延。该时延称为往返时延(RTT)。由该客户和服务器提供的功能类似于在现代操作系统中可用的标准ping程序,然而,标准的ping使用互联网控制报文协议(ICMP)(我们将在第4章中学习ICMP)。此时我

2021-04-10 21:03:41 9516

原创 socket实现简单的Web服务器

套接字编程:Web服务器基本说明《计算机网络:自顶向下方法》中第二章末尾(P119)给出了此编程作业的简单描述:在这个编程作业中,你将用Python语言开发一个简单的Web服务器,它仅能处理一个请求。具体而言,你的Web服务器将:当一个客户(浏览器)联系时创建一个连接套接字;从这个连接套接字接收HTTP请求;解释该请求以确定所请求的特定文件;从服务器的文件系统获得请求的文件;创建一个由请求的文件组成的HTTP响应报文,报文前面有首部行;经TCP连接向请求浏览器发送响应。如果浏览器请求一

2021-04-10 18:53:10 2552 4

原创 UDP和TCP套接字(socket)编程实现及原理阐述

套接字编程:生成网络应用本实验为《计算机网络 自顶向下方法》中的编程练习,通过编程实现才能更好的理解计算机如何实现连接和数据发送。1、UDP套接字编程基本说明运行在不同机器上的进行彼此通过向套接字发送报文来进行通信。当使用UDP时,必须先将目的地址附在该分组之上。目的地址包含什么?–>目的主机的IP地址和目的地套接字的端口号组成。实现如下客户–服务器应用程序:(1)客户从其键盘读取一行字符(数据)并将该数据向服务器发送。(2)服务器接收该数据并将这些字符转换为大写。(3)服务器将修改的

2021-04-09 16:10:24 5552 2

原创 科研常用的在线工具:绘图、图片放大、PDF操作、图片和PDF压缩

在线绘图工具:平常使用的流程图,我大部分都是通过processon画出来的,在线画图十分方便,几乎可以画出你想要的任何技术图,包括:流程图、思维导图、原型图、UML图、网络拓扑图、组织结构图等等。https://processon.com/图片放大神器通过在线工具绘制的流程图,经过截图可能不太清晰、分辨率较低。通过放大软件之后能满足图片格式的各种要求。https://bigjpg.com/PDF派:在线PDF神器PDF派,一个包含了20个好用PDF在线工具的网站,各种转换都不在话下

2021-03-25 09:16:06 1224 1

空空如也

空空如也

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

TA关注的人

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