自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++有锁safequeue介绍和实现

所有要抽象一个safequeue类,基于std::queue实现队列,通过互斥锁+条件遍历,实现线程安全。由于std::queue不是线程线程安全的,多线程push,pop,emtpy操作都是不安全的。除此之外增加一些额外的功能比如非阻塞的try_pop,阻塞超时返回的timeout_pop。push使用了完美转发,因为std::queue的push支持移动语义,可以push右值。

2024-04-14 14:50:26 401 1

原创 基于C++的ringbuffer环形队列

它与普通队列的不同之处在于,当队列尾部到达数组的末尾时,下一个元素会被放置在数组的开头,实现循环的效果,从而节省空间。插入操作时,尾指针向前移动,元素被插入到尾指针指向的位置。如果尾指针到达数组末尾,则将其置为数组开头。这种数据结构的优点是能够有效地利用固定大小的数组空间,并且支持高效的入队和出队操作。然而,由于其固定大小的特性,一旦队列已满,再插入元素会导致队列溢出。环形队列通常由一个固定大小的数组和两个指针(头指针和尾指针)组成。头指针指向队列的第一个元素,尾指针指向队列最后一个元素的下一个位置。

2024-04-13 21:24:52 716

原创 C++线程池实现及一些创新点

C++线程池实现

2024-04-13 13:44:35 325

原创 linux线程栈使用率计算与监控

linux线程栈使用率计算

2024-04-13 11:12:26 1210

原创 linux下vscode+gdbserver远程调试arm-linux嵌入式设备

----------------------------此时vsode完成配置-------------------------------------嵌入式linux软件开发过程中需要依赖硬件运行环境,为了方便debug调试,使用vscode+gdbsever完成该需求,可以高效进行开发。5:修改 "miDebuggerServerAddress"为gdbserver的ip和端口,端口可以随意指定(除22 ssh专业端口)9:vscode中按F5开始调试,命中断点,可进行调试。2:复制下方内容并替换。

2023-09-12 18:10:52 465

原创 TC8 ARP_33测试用例Fail记录--基于Linux TCP/IP协议栈

查阅网上资料,Linux TCP/IP协议栈默认只缓存自身请求的MAC地址,要支持未经请求的ARP,通过配置/proc/sys/net/ipv4/conf/eth0/arp_accept为1来实现。但是测试的方法比较特殊,用到了一种开发过程中比较少见的免费ARP报文(gratuitous arp),这种ARP报文的特点是“自问自答”,如下图所示。修改后复测,通过UT指令,让DUT发送一条UDP单播到10.0.0.50,不再发出ARP请求MAC地址,直接发出,测试用例通过。

2023-06-26 15:29:54 387

原创 uboot命令行启动kernel

1:开机停留在uboot界面,即uboot处于board_r.c中的run_main_loop()的死循环中。2:确保rootfs,kernel和dts已烧写在emmc或者sd卡。

2023-06-16 12:51:53 656

原创 使用Linux开源ptp遇到的项目问题

根据Pdelay_Resp和Pdelay_Resp_Follow_Up中的requestingSoucrePortIdentiy字段,过滤掉Master给其他Slave节点回复的Pdelay_Resp和Pdelay_Resp_Follow_Up。Master节点供应商反馈是switch中存在其他Slave节点发Pdelay_Req,Master节点会响应Pdelay_Resp,由于在Gptp在MAC层,所以本Slave节点也会收到其他节点的Pdelay_Resp。

2023-06-15 15:08:07 786 1

原创 一种车载linux ECU节点同时支持gptp时间同步和gps时间同步的方法

开发过程中,嵌入式linux设备需要同步时间至GPS时间域,同时也要通过gptp同步至外部ECU的时间域。采用开源的gptp协议栈,会将系统时间修改(时钟源为CLOCK_REALTIME)所以内部同步到GPS的时间线不能与之重叠。

2023-06-15 14:40:33 528

原创 移植iptables至嵌入式设备

记录移植iptables至嵌入式arm设备过程

2023-06-14 16:04:43 634

原创 C++观察者模式的创新设计(支持同步和异步)

C++观察者模式创新实现(支持异步,一个subject多topic)

2023-03-28 15:09:58 138

电动汽车无线充电技术概述

详细介绍了电动汽车无线充电的研究背景,以及它的技术原理,应用实例和发展展望。希望相关研究者可以下载下来看看,希望对你们的研究也有所帮助

2018-11-04

空空如也

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

TA关注的人

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