- 博客(15)
- 收藏
- 关注
原创 2025.07.11 PCIe学习小记
1.PCI的Configuration Address Space来自于IO Map(这里是x86的CPU,仅支持16位的I/O空间,限制了I/O Address Space最大只有2的16次方(64KB))Configuration Address Space 所使用的IO寄存器范围为 0xCF8~0xCFF。其中0xCF8~0xCFB为端口地址,0xCFC~0xCFF为配置数据。
2025-07-14 10:51:33
723
原创 2025.07.13 PCIe学习
以NVME SSD为例,CPU想通过PCIE访问SSD的设备信息,通过BAR将控制器寄存器映射到内存空间,然后CPU通过访问这段内存空间来访问SSD?PCIE设备的配置空间或扩展配置空间,配置空间的寄存器会映射到内存地址上,这里寄存器指的是设备的寄存器吗?流控制初始化:DL层会负责将VC(虚拟通道)进行初始化,VC0是默认要使用的虚拟通道,当TL层需要使用其他VC时,会请求DL层对VC进行初始化。枚举的核心任务是分配BDF编号,然后通过这些编号来访问设备,通过深度优先搜索来分配BDF编号。
2025-07-14 10:51:07
216
原创 leetcode 316 去除重复字母
题目中比较关键的一个点是要求字典序最小, 我在面试中被问到的是字典序最大,其实都一个样,这里的字典序在面试时并不是很好的理解,现在这里在放一下。只是按照我上面的写法有些细节需要注意,比如如果有重复的记得要将重复数组中对应位置减一,while循环中的判断条件要注意加上字典序判断。做这道题目是由于在小米面试中被手撕问到,但是面试时完全不会这道题目,遂挂掉,然后决定搞定这道题目。根据上面的思路,我们可以写出下面的代码。
2025-04-14 11:13:09
319
原创 直流无刷电机电调制作-Day1-初步了解电调及直流无刷电机
半桥:这里一开始不理解,因为在本科学习电路时有了解过全桥电路,但是当时都是电阻,今天了解到的BLDC是MOS管控制,这里的半桥指的是两个MOS管连通连接到一个绕组上,若为三相无刷电机则有三个绕组(每个绕组可能有多对),每个绕组由两个MOS(可能为NMOS,也可能为PMOS)控制,一共6个MOS管;半桥驱动电路:这里我的理解是无刷电机对电流/电压的输入要求比较高(具体我还没有很好理解)仅凭MCU是无法带动的,所以这里需要升压的半桥驱动电路来带动半桥电路。本次记录主要针对直流无刷电机电调自己的学习和设计过程。
2024-12-06 18:09:45
594
原创 leetcode.496 下一个更大元素I(C实现)
昨天做完题忘了写题解了(昨天心态有点崩)对于这道题,题目中说的也比较清楚,基本题意是,nums1是nums2的子集,然后找到nums1[i]在nums2中对应元素后面的第一个最大的元素的值,若不存在更大的值则该位置值为-1。共有三种解决方法,只是代码实现上有些许差距。
2024-08-20 19:59:19
284
原创 42.接雨水(C实现)
第二点是在for循环中,忘了加限制条件stack_top>=0,这是必须满足的,当stack_top<0时,说明全部弹出了,直接跳出while循环,把新元素加入栈顶即可啦,其他都是单调栈的思路。注:从今天起,会在CSDN上以博客的形式记录自己秋招每天完成的事情,之前没有记录的就不管啦,从今天开始,包括知识点或者八股文或者leetcode刷题,加油!这道题我比较逆天的地方,第一个是写min函数的时候,一开始写成了return a>b?而不是纵向计算,结合这张图看代码就能看懂啦。
2024-08-18 21:39:31
255
原创 IMX6ULL深度学习(LABVIEW TCP/IP通讯) 、IMX6ULL wifi文件传输(无需网线)
还有一些内容没有涉及,例如另一个用于发送备份数据的线程,其实和wifi传输文件的代码是很相似的,如果大家有需要可以私聊,可能还有一些细节没有涉及到,暂时就想到了这些,把问题详细整理了一下,好累,休息去啦,大家加油啊!
2024-07-01 17:25:21
1003
5
原创 imx6ull深入学习项目学习记录
解决方法:经过各种查找,最终问题在于CH340驱动版本较新,使用SecureCRT能够实现通信说明RS232转USB线正常工作,解决方法来自于该链接,将CH340新驱动卸载之后更换为旧驱动,实测再次打开串口助手打开对应的COM端口之后,可以成功实现主机与IMX6ULL开发板通信实验结果如上图所示。
2024-06-27 14:25:31
322
原创 205.同构字符串题解
因为希望(非常希望)进入联想公司,所以特别针对字符串题目进行练习,今天是2024.6.5,练习第一天,希望在秋招中能够顺利进入联想!
2024-06-05 21:31:20
616
1
原创 25.K个一组翻转链表C语言实现
我用的是比较笨的方法:拿到题目之后第一思路,就是判断本链表中有几组需要反转的,然后按组进行反转并且进行首尾相连,直接上代码;记录一下这道题目,毕竟也是困难题目没看题解做出来了,虽然链表的比较水-_-|||是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。
2024-04-25 15:55:09
174
1
原创 45.跳跃游戏Ⅱ(C语言实现)
第二种情况,遍历过程中达不到数组边界,对每一次遍历到的位置,判断在该位置时,根据该位置所拥有的步数能够到达的最远位置,遍历后保存能够到达的最大值的索引。本人菜鸟一枚,刚开始刷题,所以在做这道题的时候陷入了一些不好的方法,即:针对一个错误的输入去设置一种条件满足该输入,结果就是导致不停修改代码,但是东拼西凑总是不能满足所有情况的。下面附上代码,我觉得我的代码有一些冗余,定义了大量的变量,还有标志位。若未到达边界,则将现在的位置移动至能够到达最远位置的索引处,更新位置,更新步数;向前跳转的最大长度。
2024-03-28 22:03:54
257
1
原创 关于I.MX6ULL操作系统烧写中遇到的问题与解决办法
该文章中对硬件、软件、烧录步骤、以及一些常见问题,这里我对我又遇到的问题及解决方法进行补充。
2023-11-24 11:04:14
622
1
原创 2023.11.13嵌入式学习资料整理
【操作系统】进程管理(五)—— 信号量机制从零开始学习UCOSII操作系统10--消息邮箱关于堆栈的讲解(我见过的最经典的)c语言malloc函数的用法和意义【字符串函数】strcat的使用及原理“栈”顶到底是上面还是下面?高地址还是低地址?
2023-11-13 14:06:28
83
原创 tensorflow keras神经网络学习心得
四者当中只有ReLU的输出值没有负值,所以输出的均值会大于0,当激活值的均值非0时,就会对下一层造成一个bias,如果激活值之间不会相互抵消(即均值非0),会导致下一层的激活单元有bias shift。举例来说,当一个很大的梯度流过ReLU的神经元的时候,可能会导致梯度更新到一种特别的状态,在这种状态下神经元将无法被其他任何数据点再次激活。这一情况将影响梯度下降的运作,因为如果输入神经元的数据总是正数,那么关于的梯度在反向传播的过程中,将会要么全部是正数,要么全部是负数(具体依整个表达式而定)。
2023-03-29 20:59:48
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人