- 博客(14)
- 收藏
- 关注
原创 嵌入式面经
用户应用程序运行的区域,应用程序不能直接访问硬件或操作系统的内核。它具有受限 的权限,以防止用户程序对整个系统的稳定性和安全性造成威胁。
2025-05-23 12:58:01
771
原创 LeetCode——HOT100题
也就是说,在满足是 p 和 q 共同祖先的节点中,x 是离 p 和 q 最近的那个节点,从根节点到 x 的路径是尽可能长的。当指针pB遍历完B链表后,会从A链表的头结点(headA)开始遍历,如果两个链表有相交的节点,最终pA和pB会指向同一个节点,反之如果没有相交节点,两者都会指向NULL。因为其他元素都是出现两次,那么异或的结果都是0,相当于两两“抵消”,而当与只出现一次的元素异或时,得到的就是我们需要的结果,result 参数中就会存放只出现一次的数字。对于二叉树中的每个节点,我们需要计算它的高度。
2025-04-28 11:06:31
590
原创 Linux中断
中断是指计算机在执行程序的过程中,当出现某些紧急事件时,暂时停止正在执行的程序,转去处理这些事件,处理完后再返回原来的程序继续执行。在 Linux 系统中,中断是一种重要的机制,用于实现硬件与软件之间的异步通信,使得系统能够及时响应各种外部事件。(2)中断的类型:硬件中断:由硬件设备发起,用于通知 CPU 有某个事件发生,如键盘输入、鼠标移动、磁盘读写完成等。每个硬件中断都有一个唯一的中断号,用于标识该中断。软件中断:由软件通过特定的指令触发,通常用于实现系统调用、异常处理等功能。
2025-04-09 19:57:55
679
原创 Linux新字符驱动框架
2.模块声明 这部分放在最后,主要是许可证声明和作者声明,也可以添加其他内容。3.申请设备号和注册设备(1)定义设备结构体 首先定义一个设备结构体,管理设备相关属性,然后创建一个结构体对象,方便后续操作相关属性值: (2)申请设备号 在入口函数中进行申请设备号: 当然不要忘记了在出口函数中注销设备号:(3)注册设备 首先要在前面的设备结构体中定义cdev的结构体: 然后要
2025-04-04 17:13:25
282
原创 Linux设备树详解
设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做DTS(Device Tree Source),这个DTS文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU数量、内存基地址、IIC接口上接了哪些设备、SPI接口上接了哪些设备等等。
2025-04-03 22:11:57
1058
原创 Linux内核加载驱动时报错Invalid argument
第一反应是检查代码哪里敲错没,在经过仔细检查后发现 of_find_property 函数中的参数输错了,输成了pwm-backlight,这是属性的值,当然无法找到这个属性了,所以才会报错无效参数,后面改成compatible后完美运行。在这里记录一下,避免再犯这种错误。今天在跟着正点原子Linux课程敲OF操作函数实验,在加载驱动时突然报错Invalid argument。
2025-04-03 21:05:47
169
原创 解决无法找到MSVCP140.dll的问题
今天在启动虚拟机的时候突然报错下面的问题,网上查阅资料后发现是Microsoft Visual C++ Redistributable的问题,可以重新下载这个程序就能解决问题,或者使用dll修复工具。但是试了这些方法都不行,后面我在控制面板找到了这个程序,尝试修复程序解决这个问题。后面我在修复之前关掉了火绒的文件实时监控功能,这次解决这次问题,但是不知道会不会留下隐患,还希望大佬指教!不知道为什么我这里突然安装了这么多,我选择了2015年64位版本的 Redistributable 进行修复。
2025-04-02 14:48:36
221
原创 Linux字符设备驱动开发
字符设备驱动编写主要就是写驱动对应的open、close、read等,主要是linux源码中/include/linux目录下fs.h文件中的file_operation结构体成员变量的具体实现。可以从dev_t获取主设备号和次设备号,MAJOR(dev_t)和MINOR(dev_t)。注意事项:编写linux驱动的时候需要用到linux源码,因此需要解压缩linux内核源码并编译,得到zImage和.dtb文件,并且在开发板上使用到了这两个文件。Linux内核将设备号分为两部分:主设备号和次设备号。
2025-04-01 19:36:20
740
原创 Linux驱动开发移植三巨头——根文件系统构建
根文件系统首先是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。2.BusyBox构建根文件系统可以进入BusyBox官网下载对应版本的BusyBox源码,本教程使用正点原子提供的1.29.0版本。将下载的压缩包存放到/home/lpy/linux”目录下,没有目录的进行创建。
2025-04-01 13:02:26
715
原创 Linux驱动开发移植三巨头——Linux移植
ondemand模式,然后保存退出,重新编译 make -j12,然后再将zImage文件通过tftp传输至系统,重新启动开发板。修改Linux的CPU主频,打开图像化配置界面,make menuconfig,找到。ng/Default CPUFreq governor,选择。imx6ull-alientek-emmc.dts文件中找到。ping通证明网络驱动修改成功!出现以下内容完美编译成功!
2025-03-31 22:28:47
1068
原创 Linux驱动开发移植三巨头——Uboot移植
uboot是一个bootloader,作用是启动Linux或其他系统。由于Linux是运行在DDR里面的,所以uboot本质上就是初始化DDR。
2025-03-31 22:27:15
1292
原创 Vscode远程连接Ubuntu
其中Host表示主机名,可以自定义;HostName写Ubuntu的IP地址;User写Ubuntu系统的名字。添加后Ctrl+S保存后会看到已添加的主机名,点击箭头进行相关配置即可连接。输入Ubuntu系统密码后即可完成连接。
2025-03-23 23:27:09
376
2
原创 Object Detection in 20 Years: A Survey(综述)
该综述回顾了目标检测这一发展领域的技术演进,跨越了四分之一个世纪的时间(从20世纪90年代到2022年),涵盖了许多主题,包括历史上的里程碑检测器、检测数据集、度量和检测系统的基本构建块,以及加速技术和最先进的一些检测方法。目标检测是许多其他计算机视觉任务的基础,例如实例分割,图像字幕,目标跟踪等。近年来,深度学习技术的快速发展极大地推动了目标检测的进步,使其取得显著的突破,并将其推向了前所未有的研究热点。目标检测现在已经广泛应用于许多现实世界的应用中,例如自动驾驶、机器人视觉、视频监控等。
2023-10-21 15:13:33
409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人