自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(2397)
  • 收藏
  • 关注

原创 1913_PowerShell中查看软件的版本信息

它在不带任何参数的情况下打印计算机上安装的所有 cmdlet、函数和别名。Format-List cmdlet将命令的输出格式化为属性列表,其中每个属性显示在单独的行上。有了linux上的一点点经历,遇到一些软件版本信息查看的时候我一般会通过command -v或者command --version等来试试运气。这个版本跟我直接从emacs的内置命令获取到的版本信息是一致的。由于列表相比于表格来说更容易显示更多的信息,因此PowerShell在列表中显示对象的更多属性,并且属性值不太可能被截断。

2024-03-26 08:23:24 454

原创 1912_PowerShell的几个目录相关的命令

这个命令可以看做是bash命令中的ls的对等功能,如果是CMD使用的比较多可能也会有人会想到dir,而dir、ls其实也是这个命令在PowerShell中的别名。找一个目录中内容多的目录分别看一下两个命令,输出的结果是完全不同的。上面这两个可以按照linux中的pushd以及popd的方式来使用,如果是经常在终端模式做一些处理工作并且需要在不同目录间进行切换,这一组命令还是比较实用的。使用的时候直接使用别名cd比较好,这个正好跟bash、cmd等操作重名,并且完成的目的也是一致的。

2024-03-26 08:18:07 682

原创 1911_野火FreeRTOS教程阅读笔记_请求任务切换

之后呢,寻找更高优先级的任务,让更高优先级的任务执行。因此,我们的PendSV的Handler中需要完成这个信息的更新。而这里的中断处理涉及到FreeRTOS的中断模型,其实也类似于AUTOSAR OS中的一类中断和二类中断。其他的都是关于逻辑的方法的,其实直接拿成熟的代码直接看或许更好一些。因此,在当前的PendSV阶段,我们需要做好任务优先级判断的处理,确认接下来需要执行哪一个任务。从这部分文档的描述看,其实这个PendSV的作用是非常固定的。这部分的处理,与SVC的处理其实是类似的。

2024-03-07 08:20:42 547

原创 1910_野火FreeRTOS教程阅读笔记_prvStartFirstTask函数

而返回之后,由于之前的SVC等已经设置了PSP的信息,因此接下来的软件会按照PSP中的设定去执行。为什么能够启动,结合之前梳理的任务创建的分析是可以理解的。因为任务创建的时候,把执行入口绑定到了TCB的栈中,在这次的退出时会返回执行。这是上面提到的表17。至于为什么要写入0xD,其实有其他的原因,因为这里的这段代码是一个异常的Handler。这里描述的事向量表的内容,向量表的0地址偏移处刚好是SP的初始值。vPortSVCHandler代码中的信息,代码到124行,其实是获取了当前任务TCB中的栈顶信息。

2024-03-07 08:18:55 918

原创 1909_Arm Cortex-M3编程模型

这个表格是对上面信息很好的一个总结,当我看完前面的信息之后看到这个表格的时候我觉得,可能以后回看前面的内容是没有太大必要的,这个表格基本上就可以给我大部分关键的信息。可中断继续指令是针对加载多条指令的一种中断情况,执行LDM以及STM的时候处理器会执行暂停以及继续的操作,此时,中间的临时状态会存储在EPSR中。常见的CMSIS是Cortex系列的MCU软件接口标准的缩写,提供了对应寄存器的访问,也提供了便于RTOS内核开发的标准接口。块中的每条指令都是有条件的。指令的条件要么是相同的,要么是相反的。

2024-03-06 06:44:12 1159

原创 1908_Arm Cortex-M3的实现

而OS等方面的一些功能基本上都是用了现成的解决方案,因此也就没有过多的关注。这一次是按照STM32F103的手册来看的这一份文档,虽然不见得通用,但是应该共通之处非常多。以上这部分算是从这个手册中读到的比较令我觉得需要关注和注意的点,继续往下的一个章节是编程模型,应该是我着重看的一个章节。前面刚好看了M3的DS,结合那一份文件的经验,上面划出来的DAP应该是连接到总线上的,但是这里的示意图是没有画出来的。中断响应的延迟低是靠硬件来实现的,在软件实现的时候也不需要写过多的汇编相关代码。SCB:系统控制模块。

2024-03-06 06:41:24 401

原创 1907_Arm Cortex-M3的基本了解

其实,从之前的M系列的对比表上也是可以看出一些信息的。M4是有DSP的,而M3是没有DSP的。DSP肯定是有自己的指令集的,因此M4肯定有多于M3的指令。我发现Arm Coretex-M3有一个专门的DataSheet,看起来这个的确是被当做了一个设计的产品来对待的。大概看了下,可能左下角的小方块是v6的架构,其他的全都是v7?不知道现在的编译器是否会优先考虑这方面的使用,否则两者的算力或者性能岂不是没有过多的差距?M3的MPU这里描述是可选的,在之前看M系列内核的对比表的时候还以为这个是必然会集成的。

2024-03-01 08:29:06 723

原创 1905_ARMv7-M的堆栈寄存器

SP寄存器的最低2bit,SP[1:0]在指令集种的规定为:读取的时候为零,写入的时候忽略。为了保证最大的可移植性,也建议在实现ARMv7设计的时候保证这两个bit应该是0或者预留。这里有一个状态位可以设置来判断当前的堆栈使用,而这个寄存器的位是可以通过MRS或者MSR进行读或者写的。ARMv7-M实现了2种堆栈,分别是MSP和PSP。复位的时候默认是MSP,而当前是哪种可以通过CONTROL.SPSEL寄存器的bit来查看。MSP主要是用来处理OS的内核以及异常信息的,而PSP主要是用来处理应用程序的。

2024-03-01 08:27:04 490

原创 1906_ AMBA_高级MCU总线架构

这个也是我最初接触到的一个总线名字,应该是在调试一个国产的MCU的时候对方的技术支持提到了这个名称。它针对先进的异构系统和基于 Arm 的相关 SMP,为设备连接提供单一且统一的接口,以实现最大的互操作性。AMBA CHI 规范将协议层和传输层分开,以允许不同的实现,以在性能、功耗和面积之间提供最佳权衡。在看内核相关的文件的时候看到了AMBA这个缩写,查了一下具体的概念。关于这部分的了解感觉基本到这么多就好了,从当前的内容介绍来看,可能侧重于软件设计的话这些信息的了解深入或者浅一些都是无伤大雅的。

2024-02-25 10:29:11 443

原创 1904_ARM Cortex M系列芯片特性小结

锁步核的支持,也只存在于M7之上,这样很多功能安全的设计要求高的就只能选择M7内核的MCU了。这几个接触过的内核中,只有M4、M33以及M7是有FPU可以选配的,而且只有M7可能选配双精度的支持。DSP的功能支持,在我用过的架构中,M4以及M7是支持的。当然,从普遍规律上来看,大的趋势的确是如此。不过我用过的芯片里面只有M33内核是支持的,而且实际的使用中并没有用到对应的功能。以前整理过一个M0内核的了解资料,这样通过对这个表格的信息的整理,对我之前用过的一部分MCU的内核信息的了解算是又多了一些完善了。

2024-02-25 09:59:48 560

原创 1903_CoreMark白皮书阅读笔记

如果链表的大小超过了Cache的大小,还可以同时测试内存以及缓存的层级结构的效率。设计采用了常见的数据结构和算法,而且用到的运算都是在运行的过程中计算出来的从而避免编译器优化带来的影响。运行的方法以及报告方式也做了标准化的要求。这么小的内存的需求量在一些低端的嵌入式MCU上都是可以满足的。这个是一个基本的测试结果的展示,涉及到了不同的主频下的表现、不同的编译器版本的表现以及相同的MCU和编译器但是不同编译选项的表现。再看ARM的内核架构介绍的时候看到了不同的内核都测试了一个CoreMark/Mhz的参数。

2024-02-22 08:37:29 439

原创 1902_野火FreeRTOS教程内核在STM32中用到的2个中断PENDSV和SYSTICK

这两个语句的操作实现的功能更是把Systick以及PendSV中断的优先级设置为15,也就是最低。其实,功能分析到此,现在这两个中断的优先级究竟应该设置为多少是合理的暂且还是不明确的。首先看93行,这个是KEIL中的一个伪指令,主要实现的功能是保证汇编代码中的堆栈能够按照8字节对齐。这个地址区从手册中可以查出来是SRAM的区域,这样,这一句实现的作用就是设置了堆栈在RAM区域的位置。再次结合这一个信息,上面的操作有效的部分其实是把这两个字节的高4bit全都设置为了1。这么看,注释写的应该是更加准确一些。

2024-02-20 08:30:23 669

原创 1901_野火FreeRTOS教程之任务链表以及调度部分阅读

首先是任务就绪链表的初始化,这个继续链表是按照优先级来分的。通过这部分的代码分析看,其实如果是要让自己的系统资源占用更优一些,尽量按照自己真正的需求来配置优先级。接下来的处理,就是创建任务然后把任务关联到对应的链表中。而任务创建所实现的功能,之前已经分析过,主要是做了一个TCB的信息准备。这里有一个任务控制块的参数处理有一点复杂,主要是因为C语言的写法有不同的表达方式。至于MCU内核相关的一些部分的整理以及分档的对应解读,后面单独拆分出来单独看。可以实现同样的效果,具体的运行效果可以从打印的信息看到。

2024-02-20 08:25:58 715

原创 1900_野火FreeRTOS教程阅读补充材料_AAPCS

比如,有的寄存器是用于传递参数的,有的寄存器测试用来存储变量的。这里的变量是局部变量,后面的资料中看到了进一步的解释。这个说法看起来是不准确的,因为常用的float其实是占用4个字节,double才是8个字节。进程以及函数很多时候概念是统一不拆分的,在这个文档中把这两个词语的更加细致的区分点描述了一下。容器化向量的内容对大多数调用来说是不透明的,唯一明确的规定内容为内存布局与调用接口上不同寄存器间的映射关系。这是返回值的传递方式,基本的原则也是能用寄存器则用寄存器,不能再借助于内存通过指针传递。

2024-02-20 08:20:01 837

原创 1899_野火FreeRTOS教程阅读笔记_任务创建

堆栈在这个接口中其实主要的处理是做了一个对齐的处理,对齐处理的操作是:根据静态任务创建接口xTaskCreateStatic()中传入的静态创建所分配的存储buffer所指向的内存做一个对齐的处理。这个对齐的要求主要是MCU的架构决定的,这里是按照8个字节来对齐,主要就是考虑了浮点运算时候的一个对齐。书中的例子采用了静态创建任务的方式,这个其实我在自己使用这个OS的时候没用过,我创建任务的时候都用的动态的形式。首先要理解这个栈的处理方式,栈的增长是从上到下的,因此上面的地址会是一个递减的处理过程。

2024-02-08 17:17:52 1011

原创 1898_野火FreeRTOS教程阅读笔记_链表操作

这第一次用到了xItemValue的元素,其实这个元素的数值算是一个元素在链表上的位置的权重信息。新的节点的插入,影响到的是链表中最后一个元素的后继以及当前被插入元素的前驱、后继以及归属属性。具体的操作效果为:新的节点更新自己的前驱和后继,而对等的关联信息则是当前pxIndex所指向的前驱和链表的尾结点。而链表的尾结点在初始化的时候,pxIndex存储的其实是指向链表尾结点Item的指针。因此,这里的这个赋值更新,其实是实现了让这个新的节点指向了链表的尾节点。这个跟预期的效果也是一样的。

2024-02-08 17:16:04 1116

原创 1897_野火FreeRTOS教程阅读笔记_链表

单向链表可以理解为只能够判断自己的后继,无法直接判断自己的前驱的链表设计。对于链表节点的初始化,只是让这个节点与系统中的链表回到一种正交的关系。在插入一个链表的时候,明确这部分从属信息,进而明确前驱以及后继的关系。当然,对于FreeRTOS来说,还有一个更重要的信息需要在节点插入链表的时候明确,那就是所映射的内核管理对象。虽然,不同的人介绍的时候可能选择不同的类比模型,但是无非还是前后台以及OS在原理概念上的差异。这是岔出去的一个话题点。在根节点上,记录了链表的节点数目、遍历所用的指针以及链表的结束节点。

2024-02-08 17:11:10 544

原创 1896_Linux中free命令小结

这个是我的树莓派现在的一个状态,这个树莓派的配置一应该是1GB内存,但是从这里的922M以及922M + 100得到的1022M似乎都不是很准确。结合上面的信息,或许树莓派的RAM大小应该是1024MB,之所以算出来不是这些是因为上面的解释中,Total部分其实是去掉了一些保留位以及系统的部分占用?我现在常用的一个小主机其实是我的树莓派3B,虽然算不上多么高的配置,家用还是很适合的。结合这两个参数的描述,如果使用-h的选项的时候独到的数据应该是按照1024作为对应的进制来衡量的。

2024-02-06 20:55:52 1055

原创 1895_分离进程的能力

程序的分离涉及到的一个很重要的问题点就是分离后的各个模块之间的通信,前面考虑到了管道、信号等不同的形式,但是有一个很大的短板:信号的流向是单向的。前面的很多技术考虑的方法都是协议或者机制,但是从实时性以及快速性的角度考虑,数据的共享以及交换通过一块可以多方一起访问的内存来实现也是一个方式。类似的,这种处理的形式在嵌入式的程序中似乎也有这样的影子。如果是考虑有共享数据的存在,不同的任务甚至CPU之间的数据的同步在一致性上就得有独到的设计。如果是在性能要求敏感的设计中,这样的操作会比较低效。

2024-02-03 18:08:25 387

原创 1894_透明性以及可显性

但是,从这里的说明我们还是可以得到一些软件实现上的借鉴的。其实,现在比较流行的汽车电子的软件开发架构AUTOSAR中是有一个DET的功能的,这个就是非常好的一个设计体现。软件设计的时候要从可维护的角度做充分的思考。”如果按照这样的观点或者原则设计出来的代码,或许在可读性以及可维护性上会有非常好的表现。做一个简单的小结,从一个软件工程师的角度来看看透明性以及可显性的概念和作用。因为很多人的软件设计我称之为是漫游式的,很难看得出来层级的关系。这个是对透明性以及可显性的功能作用的一个基本描述。

2024-02-03 18:06:34 390

原创 1893_文本化以及协议的思考

从信息传递的角度,我理解这个是便于信息传递与解读的,而从维护的角度也理解这样做其实是方便使用各种文本编辑工具来查看和维护的。从这么多年来工作积累的根深蒂固的经验角度思考,除了调试,如何来让这种文本化的理念应用到这种非unix系统的平台之上。关于这一点描述的确是很有感触,python等脚本语言中的列表、字典等设计的确是在做数据处理的时候很好的帮手。我之所以在过去的工作中很少遇到这样的问题,并不是说这样的处理情况不存在,而是控制类的嵌入式软件设计中这种情况遇到的相对较少。

2024-02-03 18:03:58 390

原创 1892_关于管道的设计一些思考

这方面,在我接触到的嵌入式里面应该是没有的。UNIX的一些思想在嵌入式的软件设计中似乎也有一些可以借鉴或者引发我们思考的地方,当然,这个可能并不能百分百的做借鉴。行业技术的发展其实很多时候会在印证技术方案的合理性,UNIX的方式在实时的控制领域虽然也有QNX这样的应用,但是控制类的期间大部分还并不是这种技术方案。从这样的角度看,至少行业的经验已经弄清楚,UNIX的方案在这个领域并不是百分百的可行。OS的设计其实是提供一个平台化的东西,更加标准化,为更高一级的软件的设计提供一个统一的环境和合理高效的机制。

2024-02-03 17:55:25 505

原创 1891_UNIX编程艺术之模块化的设计

使用的时候也一定会有一个比较好的实践方式。按照这样的一个经验设计,或许一个接口的代码行数以及实际的物理行数(我理解应该是包含了注释以及空白的行数)应该都有一个推荐的数制。当然,我考虑这样的建议是建立在一个假设的前提上的:其实我看到新手的注释写的还是很少的。但是,在背负了这么多的抽象包袱之后,一个很麻烦的问题来了:几乎所有的软件开发人员,无论是底层、中间层、接口层或者是应用软件的开发人员可能没有谁能够完整地理解系统的根本原理。当我在工作的过程中看到很多新手写的代码的时候,这通常是我经常想到的一个尝试的工作。

2024-01-28 15:52:35 916

原创 1890_在WSL中使用emacs org-pomodoro的声音提示

在WSL中使用emacs org-pomodoro的声音提示Grey尝试使用WSL播放wav文件其实WSL我也用了很多年了,但是主要的功能还是拿来跑跑脚本。很多交互式的环境启动的速度以及响应速度在这个平台上都会好很多。从我使用org-mode做笔记开始,我用到了org-download的功能,当时尝试抄来了一个调用PowerShell来使用剪切板的方式。这让我想到了,或许很多其他的功能也可以由这个渠道打通。WSL的短板有些版本的Windows上已经可以运行原生的GUI了,有的也可以运行多媒体。但是对我来说,

2024-01-27 10:05:53 950

原创 1887_关于各种操作系统的兴衰

由此可以看得出来,技术或者工程的角度有时候无法容忍完美主义者,市场竞争的环境中传导的压力可能会让可用性、时效性的作用在优胜劣汰的过程中进行无限的放大。类似这样的产品,在整个维护的过程中肯定有很多技术积淀,后来这样的技术成果又是通过什么样的途径让未来的产品对其进行继承的?从他们的历史来看,其实很多系统的生存期跟我所熟悉的年代是重合的,但是我却从来没有感受到过他们的存在。如果过于纯粹,或许就是BeOS的结果,即便是我们能够极尽所能完成自己追求的技术实施,但是很可能会失去被市场认可的机会。

2024-01-27 09:51:21 410

原创 1888_关于多任务调度的一些整理与思考

如果是类似于顺序加载的情况,或者是协同式的任务处理,那么用户在处理多个大型任务的时候或许会觉得有一些任务在一定的时间范围内没有什么处理的进展。不过,这种设计似乎又跟我接触到的RTOS的设计有所不同,我接触到的RTOS都有一个tick,它们会借助于这个tick来管理很多时间概念。其实,RTOS,尤其是嵌入式的RTOS在使用场景上跟我们PC或者server所要处理的内容有着比较大的差异。由于这样的一个区分度,其实我倒觉得类似于DOS这样的顺序加载器在一定程度上考虑其实或许还是适用于某些嵌入式的控制的。

2024-01-27 09:43:51 469

原创 1889_Arduino 1306 OLED屏幕的使用

方案的选择,首先考虑的还是Arduino UNO,这个是我手里最多的板子。分辨率上还是不错的。既然,之前想知道我敏感的环境因素点的问题已经得到了解决,我觉得原有的系统继续留下去的意义也就不大了。最简单的就是实时显示,当然,能够判断一下几个小时内的变化给我提示则更好了。之前的这个系统能够采集存储很长时间的数据,可以满足长跨度的数据分析。这还是我第一次尝试使用IIC实现一主多从的通信,为此我把我的Arduino从header部分又引出来了两个插针方便接外设。产品做久了,还真觉得这个小东西的压缩度做的足够高的。

2024-01-21 14:45:17 412

原创 1886_emacs_v29中的行号配置

如果脚本运行中提示我们某一行出错了或者编译器提示,代码的某一行出现了错误,这时候行号的导引功能绝对是一个很好的辅助功能。此外,我经常借助于行号实现的功能是通过这个来判断文件的大小,算是一个经验性的提示。为了保证现在的习惯,还是尝试使用我自己的配置,毕竟我自己的配置基本上也是在常用的操作上照搬了spacemacs。我的emacs配置以及emacs程序本身很久没有更新了,emacs之前一直使用V27.2,而配置则在我自己的配置和一套使用了很多年的spacemacs之间时不时做做切换。以后,只留下这个配置吧。

2024-01-11 21:11:30 489

原创 1885_什么是MOSFET以及其特点

找了一份网络资料,结合向别人的请教,简单总结一下MOSFET的基础知识。之前曾经花了一些时间把上海交大的模电课程重新学了一遍,当时似乎是懂了,但是不用接着就忘了。这一次的资料整理,主要以实用性为主。MOSFET的出现,解决FET所具有的一些短板,比如:响应慢、漏极阻抗大、输入阻抗小等。如此考虑下来,可能涉及到软件的时候只需要关注几点:开关电压、内阻值以及如何实现最好的防护。不同于以往的简单看一份资料就结束,这一次我还找了比较熟悉这方面应用的人做了一点咨询。按照之前类似的学习路子,我先去找科普性的文章。

2024-01-09 20:50:30 895

原创 1884_emacs ivy minibuffer中上下行导航快捷键修改

在spacemacs中,minibuffer中光标的上下行移动可以使用C-j 、C-k或者C-p、 C-n,这两个都可以。因此,在使用spacemacs的时候,我大部分的操作都是用C-j、 C-k的按键操作。而正确的方式则是使用C-p、C-n,这个在大多数的emacs配置中都是奏效的。我自己凑了一组emacs的配置使用了很长一段时间,很大程度上的功能在模仿spacemacs,但是我的配置更加轻量化,因此在使用的时候延迟感会少很多。因此,轻度的编码等工作用起来还算是顺手。之后测试,已经有了期待中的效果了。

2024-01-09 20:47:44 466

原创 1883_把FreeRTOS中的heap_4作为一个通用模块使用并初步测试

这个信息的获取不是很对,其实通过基本的信息来计算,占用的空间应该是8192 – 8 – 8168,结果为16。其中的8个字节跟前面一样,是一个链表节点的消耗,而另外的8个字节就是给整形分配的空间。因此,存储的分配其实在使用的时候会有一些额外的消耗。这部分消耗主要是链表资源占用的。这个从代码的注释中看其实是跟硬件的架构有关的,一时间我还没有弄清楚是什么硬件特性决定了这样的设计,暂时先保持原来的8个字节对齐。而不同芯片,很多参数是不相同的,我常用的都是32bit的MCU,因此我尝试在尽力相同的环境中测试。

2024-01-09 20:45:15 611

原创 1882_RedHat关于ARM架构的介绍小结

相比于其他的方案,红帽子的一些优势可以从三个方面考虑:第一,红帽子一直以来在开源方面有很大的投入;而ARM本身更多还是CPU相关的部分,这个是在X86这样的CPU设计之后的产物。从历史看,催生这种CPU的因由是学院派们分析发现大部分的软件其实是用到了指令集中的一小部分,因此可以用这一小部分为主设计新的芯片。而这种简单的设计,让CPU的物理结构有了很大的变化,各种变化可以导致执行效率的提升以及功耗的下降。我现在用的这个芯片其实主要还是低功耗的MCU,甚至都谈不上SOC,跑不了Linux这样的大型系统。

2024-01-09 20:42:46 461

原创 1881_S32K344开发工具以及MCAL软件安装

在这个整包安装的过程中,EB的配置工具是晚于MCAL的安装的,因此这个选择没法直接做。在安装的过程中,我选择了上面的full类型,这样会重新安装IDE,而下载的版本中我看到了一个3.4.3的版本。这个版本比我最初安装的版本是要高一些的。不过,本身提供的基础的软件包应该就足以让我们去了解这个MCU的大概情况以及MCAL开发的基本方法了。这个软件的安装是在线安装而不是离线的安装包了,这个跟之前的一些软件安装体验还是不相同的。主要的工具是两个,一个是编译器另一个是调试器,其他的使用方式其实都是可以灵活变通的。

2024-01-09 20:40:54 589

原创 1880_安装QEMU_for_ARC

上面的命令直接拷贝可能会有识别问题,可以把相关的参数拷贝到一行: ./configure –target-list=arc-softmmu –prefix=/PATH/TO/INSTALL/QEMU –enable-debug –enable-debug-tcg –enable-trace-backends=simple。不过,处理简单,还是把前面的信息重新处理一下,保持一个合理的状态。没有直接的apt安装包,这种处理还是有几分折腾的。我所用的系统中安装的gcc版本是11.4.0,应该是比较新的一个版本。

2024-01-09 20:37:25 989

原创 1879_什么是丝印

丝印这个词在很久以前就听说了,但是一直没有对其有一个全面的认识。这里做一个简单的梳理。这一次不仅了解了一下丝印是什么,而且对于其设计以及加工制作有了一点初步的了解。

2024-01-09 20:34:06 549

原创 1878_emacs company backend的选择尝试

但是,相比很多工具的补全功能来说,我自己使用的配置这个功能实现的的确还不是很理想。默认的时候,我的配置中有一堆的backend。其实,网络上的好的补全效果看起来几种。进行company backend配置,可以直接通过代码配置实现,但是我觉得比较好用的还是直接借助于内置的配置界面来处理。这也是我后面的选择方式,我把关键词、etags、dabbrev for code组合起来,实现了不错的补全效果。以上是可以选择的一些效果,我尝试进行了一种配置的选择测试,这里简单总结一下我试过的几种backend的效果吧。

2024-01-09 20:32:22 1241

原创 1877_SHA512校验的使用

之前下载很多软件,尤其是开源软件的文件包的时候通常会看到一个校验文件。而且,通过上面的信息可以看出来,这个校验和的信息与文件内容有关,与文件名没有关系。又看了一下man手册信息,跟这个描述其实差不多,接下来就做一个这方面的测试。在前面的帮助中,能够看到一个—tag的参数,主要是用来生成一个BSD格式的校验和。对比应该可以使用对比工具来看,不过上面的这个diff看起来是不理想的,这个是按照行来对比。接下来,把两个文件备份之后做其他测试,以免在测试的过程中出现文件损坏。这样,生成一个类似的校验和文件如上。

2024-01-09 20:29:40 426

原创 1876_电感的特性小结

主要是整理一下电感在电路中的部分特性,并且看一下对应的理论公式。如此,遇到类似的电路的时候可以做出有效的分析。这部分内容从非代数类计算的角度比较好理解,我觉得从这样的角度去理解也很容易糅合到我们的自然思维之中。以上是电感在电流变化的时候产生电压的关系公式。

2024-01-09 20:26:42 372

原创 1875_如何提升开关应用中的EMI表现

热传导一般是代表了热阻以及可靠性问题,跟EMI的问题关系不大。既然如此,前面引入这样的一个分析观点又是为了什么?看了一份ST的应用笔记,简单了解了一下EMI相关的一些设计,感觉还比价有收获。整理一下自己的收获点。

2024-01-07 15:26:22 846

原创 1874_曲轴位置传感器

曲轴位置传感器位于发动机缸体上,而凸轮轴位置传感器位于气缸盖上。曲轴传感器测量曲轴的位置,而凸轮轴传感器测量凸轮轴的位置。曲轴传感器用于确定活塞的位置,而凸轮轴传感器用于确定气门的位置。发动机控制处理中,曲轴位置传感器是非常关键的一个信息。这里先从基本的功能上,整理一下曲轴位置传感器的作用以及实现方案。这两份材料作为科普来说应该还是够的,但是从ECU设计的角度来说还是有很大的欠缺。这部分的知识,后续还得继续补充完善。

2024-01-07 15:24:24 450

空空如也

空空如也

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

TA关注的人

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