自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

良知犹存的博客

一个程序员,喜欢写文章,还喜欢打篮球,也喜欢吉他钢琴的驳杂之人。日常更新自己。 欢迎大家关注我的个人公众号 “羽林君”

  • 博客(295)
  • 资源 (3)
  • 收藏
  • 关注

原创 主机厂智驾的梦

智能驾驶系统的下半场即将来袭,大家准备好了吗?我认为接下来的半年,各大主机厂陆续发布自己的无图NOA智驾系统。我们捋一下车厂对于自己智驾发布时间线:2023年9月,马斯克在硅谷帕洛阿尔托(Palo Alto)的街道上直播测试特斯拉全自动驾驶测试版V12(FSD Beta V12)。2024年3月17日元戎启行在百人会上宣布,在国内首家实现端到端自动驾驶模型上车2024年3月31日,特斯拉向美国部分用户推送FSD V12(Supervised)版本。

2024-07-22 09:28:44 559

转载 移相全桥原理和控制

软开关技术有利于减少开关损耗,提升电源效率,它是相对硬开关而言的。所谓硬开关,是指功率开关管在开通或关断过程中,其两端电压和电流发生变化,由此产生了噪声和损耗。硬开关的开通和关断过程如图2.12所示,从图中可以看出,在开关过程中开关管两端仍存在电压或仍有电流流过,产生了功率损耗,而且随着开关频率的增加,硬开关损耗会随之增大。因此,硬开关对于开关电源效率的影响是非常大的,也极大地降低了功率开关管的使用寿命。

2024-05-18 17:54:50 962

转载 项目开发中的几种思路,实际应该是互相组合

根据以上分析,我们知道瀑布模式强调里程碑,重视文档,强调分工,避免变化,凡事喜欢规划和做计划,但是代价就是拖沓笨重,反应迟钝。

2024-04-25 22:56:25 40

原创 小米Mini路由器刷Openwrt

这就是我自己在openwrt操作的小记录。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。推荐阅读【1】jetson nano开发使用的基础详细分享【2】Linux开发coredump文件分析实战分享【3】CPU中的程序是怎么运行起来的必读【4】cartographer环境建立以及建图测试【5】

2024-03-17 00:43:32 1938

原创 openwrt中时间同步ntp使用

这就是我自己在openwrt使用ntp的记录。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。推荐阅读【1】jetson nano开发使用的基础详细分享【2】Linux开发coredump文件分析实战分享【3】CPU中的程序是怎么运行起来的必读【4】cartographer环境建立以及建图测试【5】

2024-03-15 00:33:45 1356

转载 软件License授权原理

在我们向客户销售商业软件的时候,常常需要对所发布的软件实行一系列管控措施,诸如验证使用者身份、软件是否到期,以及保存版权信息和开发商详情等。考虑到诸多应用场景可能处于离线环境,无法依赖网络进行实时认证,所以还需要考虑单机认证时的防破解问题。总之,License许可证利用HTTPS网站的证书和签名技术,一方面证明当前使用者是申请License的本人,另一方面要防止恶意破解,并伪造篡改License达到白嫖的目的。

2024-02-24 14:29:49 235

原创 openwrt开发使用-配置路由器实现无线转有线功能

这就是我自己在openwrt一个骚操作,做一个小记录。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。推荐阅读【1】jetson nano开发使用的基础详细分享【2】Linux开发coredump文件分析实战分享【3】CPU中的程序是怎么运行起来的必读【4】cartographer环境建立以及建图测试【5】

2024-02-01 00:19:25 1214

转载 Linux文件系统基础知识补充

一个文件系统的功能是什么?1、 创建、删除、打开、读取、写入等文件操作2、 文件要以一定的方式进行组织管理,比如目录结构等形式文件系统的底层依托 是 可以存储东西的存储器,比如内存、硬盘等存储器。常见的文件系统1、ext3 硬盘文件系统2、ext4 硬盘文件系统3、tmpfs 内存文件系统。

2024-01-08 23:35:06 239

原创 linux内核initcall放置在各个section中函数执行流程

Linux内核中的函数:用于在引导过程中进行文件系统等初始化。当文件系统模块被加载时,它使用宏注册其初始化函数。该宏将初始化函数添加到部分。在引导过程中,在基本硬件初始化和内存设置之后,内核开始执行初始化函数。函数按照其注册顺序依次执行。这些函数初始化各种文件系统并执行必要的设置任务。每个函数负责设置和初始化特定的内容。这可能涉及初始化数据结构、注册文件系统类型、准备缓存和其他相关任务。一旦所有函数都执行完毕,内核会继续完成引导过程,包括启动用户空间和初始化设备。

2024-01-06 22:00:12 1148

原创 今年努力输出的嵌入式Linux视频

对于研究SLAM、自动驾驶、工业3D视觉的小伙伴来说,Linux开发现在已经越来越重要。尤其是对于低成本的家用扫地机、割草机等产品,Linux是主流的开发系统。笔者在SLAM领域从业了多年,发现市面上针对三维视觉在Linux下的开发资料较少,尤其是对于内存泄露如何排查、机器死机情况如何分析、PC与开发板如何交叉编译、程序内存如何管理等方面。偶尔百度上也能查找到一些资料,但是较为零散,甚至有些还是错误的。因而,3D视觉工坊课程,课程。

2023-12-31 23:54:41 605

转载 《嵌入式Linux内存与性能详解》笔记4——性能优化

下面是书中提到的一些优化经验提高程序的效率:程序的时间效率是指运行速度空间效率:是指程序占用内存或者外存的状况全局效率是指站在整个系统的角度上考虑的效率局部效率是指站在模块或函数角度上考虑 的效率不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。以提高程序的全局效率为主,提高局部效率为辅。在优化程序的效率时,应当先找出限制效率的瓶颈,不要在无关紧要之处优化。先优化数据结构和算法,再优化执行代码。有时候时间效率和空间效率。

2023-12-26 22:49:27 273

转载 《嵌入式Linux内存与性能详解》笔记3——动态库内存优化

在编程中,我们有时会使用到静态库和动态库,而静态库是链接到程序之中的,基本上静态库的优化与进程类似。但动态库是加载在内存空间中的,是在运行时链接的。它的优化方式比较不同,本文我们就简单地讲述一下动态库如何优化。

2023-12-24 10:15:00 232

转载 《嵌入式Linux内存与性能详解》笔记2——进程内存优化

堆内存的小单位为16Byte,所以尽量减少小块内存的申请,避免内存浪费。调整,降低mmap的门槛,会降低内存空洞的风险,但也会增加系统调用,降低性能。调整,减少堆顶连续内存门槛,释放更多的堆顶内存。以上是从书中获取到的经验,但无论如何还是需要结合实际的工程需求来做优化,希望可以帮到各位读者尽量避免在使用频率低的栈空间申请大量内存尽量避免使用递归函数最后附上一张函数栈帧结构图函数栈帧结构图ELF文件是 linux 下的可执行文件格式,包括可定位文件(.o)静态库(.a)共享库(.so)和。

2023-12-23 00:09:54 212

转载 《嵌入式Linux内存与性能详解》笔记1——内存测量

在我们编写 嵌入式linux 应用程序时,往往为了业务实现而忽略了一些代码优化的问题。使得程序臃肿,内存使用不合理,导致一些程序运行缓慢的问题。当然了,在当今师姐,嵌入式设备的内存问题似乎也越来越小,因为内存在逐渐增大,笔者目前开发的设备其内存已经达到了 4G。但我们不一定一直开发大内存的设备,有时我们也会面临开发小内存设备的境地。所以我们有必要学习如何优化内存,要达到优化内存的目的我们就需要知道有哪些内存占用得大,所以我们就需要。

2023-12-21 23:30:25 136

转载 ftrace命令

trace event 就是利用 ftrace 框架,实现低性能损耗,对执行流无影响的一种信息输出机制。不开启没有性能损耗开启后不影响代码流程不需要重新编译内核即可获取 debug 信息。

2023-12-20 00:13:13 325

转载 ltrace命令详解

ltrace 用来跟踪进程调用库函数的情况

2023-12-18 23:48:17 194

转载 strace 命令

strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。

2023-12-17 23:38:39 95

原创 大疆第九届篮球联赛举办的记忆

**首先感谢各位大哥支持,我们自己举办了2023 DJI第九届篮球运动比赛,恭喜各位参赛队伍,收获了荣誉、进行了运动锻炼与交流。**

2023-12-15 18:45:00 993

转载 Python eval和exec函数区别与使用

需要注意的是,在使用 eval() 或是 exec() 来处理请求代码时,函数 eval() 和 exec() 常常会被黑客利用,成为可以执行系统级命令的入口点,进而来攻击网站。eval() 和 exec() 函数的功能是相似的,都可以执行一个字符串形式的 Python 代码(代码以字符串的形式提供),相当于一个 Python 的解释器。locals:这个参数管控的是一个局部的命名空间,和 globals 类似,当它和 globals 中有重复或冲突时,以 locals 的为准。

2023-12-02 14:35:22 129

转载 linux PCIE驱动开发

linux PCIE驱动开发

2023-11-29 10:00:00 442

转载 Linux下PCIe驱动开发与学习

PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统。PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高速总线基本上都是串行总线,这样可以使用更高的时钟频率

2023-11-28 22:41:35 1193

转载 Jenkins Pipeline 中使用 Git 插件对项目进行 Pull 与 Push

在 Jnekins 安装后,一般都会默认安装上 Git 插件,在写 Pipeline 脚本时候,也经常使用 Git 插件从 Git 仓库拉取项目进行编译,可以说使用 Git 已经是日常化操作,如何使用 Git 插件从 Git 远程仓库拉取与推送代码更是常用命令,这里介绍下如果通过 Git 插件进行这些操作。

2023-11-27 22:57:47 900

转载 Windows 下使用 SSHFS 通过 SSH 协议挂载远程服务器目录

一般情况下,我们可以通过 samba 协议挂载远程服务器上的文件夹。然而,并非所有服务器都开放了 samba 端口,特别是在外网情况下,通常只会开放一个 ssh 端口。而 sshfs 是通过 ssh 协议模拟的方式,实现将远程服务器上的硬盘挂载到本地。也就是说,只要你的服务器支持ssh连接,你就可以将服务器的硬盘挂载到本地,然后采用本地的方式来操作硬盘里的文件。

2023-11-25 21:18:29 283

转载 Python try except异常处理详解

我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except

2023-11-24 23:37:46 141

转载 jenkins配置ftp发布

我们jenkins发布我们的编译固件去制品库,其中上传方式有很多中,这里提供FTP的两种方式:

2023-10-30 21:02:03 682

原创 通过openwrt查看连接设备的IP,MAC地址,设备名

这就是我自己在openwrt查看连接设备的IP,MAC地址,设备名的分享。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。推荐阅读【1】jetson nano开发使用的基础详细分享【2】Linux开发coredump文件分析实战分享【3】CPU中的程序是怎么运行起来的必读【4】

2023-10-19 11:17:41 3112

转载 Linux文本三剑客超详细教程---grep、sed、awk

awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。

2023-10-19 11:11:56 299

转载 Linux中进程管理介绍

​进程结构我们都知道 进程就是动态的程序。一个程序想要转化为进程运行,首先要经过编译、动态链接动态链接动态链接,形成一个ELT,二进制可执行文件。​

2023-10-07 18:54:55 94

转载 Linux中内存管理详解

虚拟空间 和 物理内存 都分为 内核空间 和 用户空间。虚拟地址需要通过页表转化为物理地址,然后才能访问。用户虚拟空间 只能映射 物理内存中的用户内存,无法映射到物理内存中的内核内存,也就是说,用户进程只能操作用户内存。内核空间 只能被 内核 申请使用,用户进程只能操作用户空间的物理内存和虚拟空间。当用户进程 调用系统调用的时候,会将其对应的代码和数据运行在内核空间中。所以当调用 内核空间 读取文件或者网络数据的时候,首先会将数据拷贝到内存空间,然后在将数据从内核空间拷贝到用户空间。

2023-10-07 00:57:10 247

转载 Hello world实例 | 解析内核的Makefile、Kconfig和.config之间的关联!

❞Linux内核源码文件繁多,搞不清Makefile、Kconfig、.config间的关系,不了解内核编译体系,编译修改内核有问题无从下手,自己写的驱动不知道怎么编进内核,不知道怎么配置内核,这些问题都和Makefile、Kconfig、.config有关,下面简单谈谈Makefile、Kconfig和.config。希望对你有启发

2023-09-16 12:53:10 167

转载 使用Wireshark分析NTP数据包

使用NTP的主要目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。对于网络中的各台设备来说,时间是很重要的,如果时间不准则可能造成很大的影响,但是如果依靠管理员手工输入命令来修改系统时钟是不可能的,不但工作量巨大,而且也不能保证时钟的精确性。NTP数据包在时间同步的时候才会产生,这种数据不会很频繁出现,如果频繁出现的话,有可能是感染上木马被人利用了,比如NTP Reply洪水攻击,这种时候就要需要特别注意了。3.修改NTP配置文件。

2023-09-14 21:25:41 1321

转载 Git commit 中的Change-Id是什么

什么是 Change-IdChange-Id 其实就是一段形如I7cbfa01f5136b8815e5e2c6dc5dcda28ce49d13a的字符串,它的作用是:

2023-09-04 11:51:27 1825

转载 openwrt通过字符驱动的方式控制LED灯光

通过在openwrt源码目录下(或者SDK包的openwrt的目录下)编写gpio的字符驱动生成ipk包,发送到开发板上insmod加载驱动,然后通过编写APP来进行测试。

2023-08-31 21:50:46 167

转载 通信中间件 Fast DDS 基础概念简述与通信示例

​从事汽车软件开发,通信中间件绕不开,当前最火热的无非有 2 种:Some/IP 和 DDS。DDS 是一种分布式通信标准,有很多商业和开源的实现,Fast DDS 是其中的一种。它在 ROS2 中被应用,而 Apollo 中的 CyberRT 框架中也有它的身影。讲 Fast DDS 之前先讲什么是 DDS。​

2023-08-22 21:23:26 2433 2

转载 手写 git hooks 脚本

git hooks 可以帮助我们做到这些工作,在 Git 中也有许多的事件(commit、push 等等),每个事件也是对应了有不同的钩子的(如 commit 前,commit 后),那么我们就可以在这些钩子这里配置一些自己需要执行的操作来实现各种各样的需求。

2023-08-19 00:12:30 329

原创 openwrt开发使用-增加package

openwrt开发中,我们经常要增加一些自定义的进程运行,这个时候怎么合入我们的整包呢,这里就用到了package增加开发。这里以oor为例进行示范:

2023-07-29 23:40:13 380

转载 HEVC编码结构:Slice和Tile

某些Slice中可以包含多个Tile,同样某些Tile中也可以包含多个Slice。Slice头信息无法通过前一个Slice的头信息推断得到,这就要求Slice不能跨过它的边界来进行帧内或帧间预测,但环路滤波器可以跨越Slice进行滤波。(3)B Slice:在P Slice的基础上,B Slice中的CU也可以使用帧间预测,但是每个PB可以使用至多两个运动补偿预测信息。(2)P Slice:在I Slice的基础上,该Slice中的CU还可以使用帧间预测,每个预测块(PB)使用至多一个运动补偿预测信息。

2023-07-20 21:58:06 528

原创 linux下wifi的sta和ap操作

在linux开发中wifi是很常见的一个工作,wifi有STA模式和AP模式,今天分享下如何使用工具在Linux中控制wifi。

2023-07-13 22:02:48 1927 1

转载 linux使用命令行设置wifi国家码

在进行wifi信令测试时,常常会报一些信道连接fail的问题。一般是由国家码导致的,因为当前测试信道该国家码并不支持。Android手机中,其country code是根据sim卡去配置的,如果没有使用sim卡的话,软件默认国家码是US,即只支持1~11信道。这时候就需要软件支持,能够设置对应的国家码。当然,可以轻松的修改软件,编译代码,给出支持对应国家码的版本。但这种方式并不灵活。通过命令修改,就很方便了。

2023-07-11 21:34:06 1211

转载 嵌入式Linux开发板_WIFI无线网卡驱动移植

​linux开发时候,无线是一个重要的部分,下面分享一下WiFi相关开发使用:本文所用开发板:tiny4412,当然也可以在jz2440上实现。嵌入式中设备想要联网,无非就 有线和无线 两种方式。有线就插上网线,没什么好说的;无线的话一种是将WIFI模块集成焊接在板子上,另一种是WIFI模块以USB的方式接到板子上。本次使用的就是USB接口的WIFI无线网卡,实现开发板使用WIFI无线网卡访问互联网和作为个人热点。

2023-07-10 23:41:14 1525

STM32通过rosserial接入ROS通讯开发

主题:串口是一种设备间常用的通讯接口,rosserial将串口字符数据转发到标准ROS网络,并输出到rosout和其日志文件。本文将记录如何在ROS上使用其提供的serial包进行串口通信。 原文链接:https://blog.csdn.net/lyn631579741/article/details/112727595

2021-01-19

MDK-Cplusplus--LED.zip(MDK中用C++开发STM32)

 最近想开发一段单片机的代码,代码本身有很多的重复元素,这重复定义的一些结构体使用起来有些繁琐,所以就想用C++开发,C++的继承 模板类可以很容易的解决这些问题。因为在单片机运行,习惯用MDK或者IAR这些软件。但是这些软件都是默认C开发的,用C++开发需要重新配置,有些麻烦。但是我还是试了试,做了一个MDK小demo供大家参考.

2020-05-07

自动控制原理笔记

控制工程理论设计指导讲义,工作中或者学习都比较适合看。

2019-10-30

空空如也

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

TA关注的人

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