自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (6)
  • 收藏
  • 关注

原创 嵌入式驱动学习目录索引(更新中)

这是一篇索引博客,用来,可以用来给自己以及需要的读者作为一个目录索引,每次更新完博客都会添加进该目录中。嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!

2024-03-12 02:19:14 914 1

原创 嵌入式驱动学习第一周——git的使用

本文主要介绍git的使用,包括介绍git,gitee,以及使用gitee创建仓库并托管代码git是开源的分布式版本控制软件,能有效并高效的处理项目。git能进行版本控制,即记录文件内容的变化,方便将来查阅特定版本修订情况。gitee中文名为码云,是开源中国推出的基于git的代码托管服务。国内访问gitee比github要快一些。

2024-02-26 17:51:22 1045 1

原创 带你从零开始徒手撸光线追踪代码(3)—— Ray Tracing in One Weekend

这是本系列文章的最后部分,对应的是《Ray Tracing in One Weekend》的第10-13章的内容,这部分内容比较少,所以博客内容也会相对短一些。之后会继续在CG专栏更新一些其他内容,欢迎各位推荐!

2022-12-14 01:06:59 1151 2

原创 手把手教你games101环境搭建(图文并茂)——Visual Studio安装,Eigen库,Opencv配置

使用图文的方式手把手教读者配置VS,Eigen和opencv,主要服务于games101本机环境的搭建

2022-11-16 16:37:52 13746 20

原创 linux0.11内核源码修仙传第十三章——进程调度大战前夕

这一章讲了很多东西,来做个回顾:首先我们自己设计了一下进程调度的规则,直到怎么保存上下文,设置进程运行优先级,规定了进程的几种状态。接下来从定时器的角度看进程调度,看了定时器中断函数,与进程调度函数。

2025-04-03 11:04:53 501

原创 如何从freesurfer中提取脑室及其他脑区的模板

在进行freesurfer分割之后,我们有时候希望提取对应脑区的模板,本文就是将如何提取我们所需要脑区的mask的。希望各位给个三连,拜托啦,这对我真的很重要!!!

2025-04-01 10:27:51 603

原创 linux0.11内核源码修仙传第十二章——内核态到用户态

本文重要的一些点:1. 首先是关于特权级,其实本质就是比较CPL,RPL与DPL之间的关系。2. 特权级的转换是通过中断返回实现的,这个中断返回不需要中断调用,只需要模拟中断发生,往栈里面压5个值即可。3. 进入用户态后就会一直在用户态,只有中断才可以进入内核态,而后又会回到用户态。

2025-03-31 22:09:50 822

原创 linux0.11内核源码修仙传第十一章——硬盘初始化

整个操作系统就是一个靠中断驱动的死循环而已,如果不发生任何中断,操作系统会一直在一个死循环里等待。换句话说,让操作系统工作的唯一方式,就是触发中断。

2025-03-28 16:08:30 916

原创 linux0.11内核源码修仙传第十章——进程调度始化

本文就干了三件事:第一,我们往全局描述符表写了两个结构,TSS 和 LDT,作为未来进程 0 的任务状态段和局部描述符表信息。第二,我们初始化了一个结构为 task_struct 的数组,未来这里会存放所有进程的信息,并且我们给数组的第一个位置附上了 init_task.init 这个具体值,也是作为未来进程 0 的信息。第三,设置了时钟中断 0x20 和系统调用 0x80,一个作为进程调度的起点,一个作为用户程序调用操作系统功能的桥梁。

2025-03-27 17:35:35 775

原创 linux0.11内核源码修仙传第九章——时间初始化

本文是一个很简单的模块——时间初始化。其核心就是CPU访问外设是通过端口的,先向端口写入一个指令表示我要干什么,然后再去另一个端口读取反馈数据。

2025-03-25 14:16:49 479

原创 我的创作纪念日暨六年编程路的回顾

时光荏苒,转眼间距离我写下第一篇技术博客已过去2048个日夜。那是在2019年的盛夏,我作为一名大一学生,在师兄的创客公司实习时萌生了建立优快云技术博客的想法。师兄的VR创业公司虽仅有六人规模,却处处洋溢着对技术的热忱。记得师兄曾特意抽时间与我促膝长谈,详细讲解VR领域所需的知识体系。如今五年光阴飞逝,那个充满梦想与激情的夏天依然历历在目,恍如昨日。值此之际,我愿以这篇总结,回顾这六年来在技术道路上的求索与成长。

2025-03-24 22:47:06 1107

原创 linux0.11内核源码修仙传第八章——控制台初始化

本文主要介绍了开启键盘中断,使得我们可以与控制台进行交互,同时如何将字符显示到屏幕上。其中字符显示到屏幕上的本质就是映射一部分内存为显存,然后往该内存里面写东西就可以显示到屏幕上。对于其中输入位置以及滚动,清屏,换行等操作则是通过代表屏幕坐标的x,y以及对应位置的内存坐标指针pos进行算法编写实现的。

2025-03-21 16:55:13 920

原创 linux0.11内核源码修仙传第七章——块设备请求项初始化

块设备(Block Device)承载了文件系统的运行,管理磁盘存储的核心逻辑。其是Linux中用于存储数据的硬件抽象,允许以固定大小的块(512字节或4KB)为单位进行数据读写。区别于字符设备,块设备支持随机访问,适合磁盘存储设备,如硬盘,固态硬盘,U盘,虚拟块设备等,可以通过lsblk指令查看。本文讲的较少,主要就是讲了块设备的初始化,实际上就是初始化request数组,这个结构里面指定了操作是读还是写,从哪里读写,内存里面的位置在哪。

2025-03-11 11:37:49 772

原创 linux0.11内核源码修仙传第六章——中断初始化

中断的基本概念很简单,就是在做某件事情的时候突来来了另一件事情要立刻去做或者稍后去做。其实整个操作系统就是一个中断驱动的死循环,依据第四章的内容(linux0.11内核源码修仙传第四章——操作系统的框架代码...for(;;) pause();其他所有事情都是由操作系统提前注册的中断机制及其对应的中断处理函数完成的,比如点鼠标,敲键盘,执行一个应用等,当没有事件时,操作系统就在循环里面待着。

2025-03-10 22:51:03 841

原创 linux0.11内核源码修仙传第五章——内存初始化(主存与缓存)

本文主要讲解了在操作系统初始化阶段,主存与缓存的初始化,明确了二者的分界线以及内核代码区与缓存的分界线。

2025-03-07 18:25:25 1044

原创 linux0.11内核源码修仙传第四章——操作系统的框架代码

本节内容较少,主要就是梳理了一下操作系统的代码框架,整个操作系统都做了哪些事情,具体的东西会在后面博客有所讲解。

2025-03-06 21:55:38 710

原创 linux0.11内核源码修仙传第三章——head.s

至于压入的L6,其是作为main函数返回的跳转地址,但是main函数是死循环,因此没有用,三个0是main函数的参数,但实际也没有用到。至此已经完成任务,操作系统准备完成,现在进入main函数了!

2025-03-06 02:58:25 980

原创 linux0.11内核源码修仙传第二章——setup.s

整个setup部分就做了三件事,第一件事是做代码搬运和临时变量存放,第二件事是突破寻址瓶颈,第三件事是进入保护模式。在代码搬运阶段,整个操作系统的代码被放到了内存中0 ~ 0x8000的位置。突破寻址瓶颈可以将寻址空间突破1MB。进入保护模式要注意描述符表以及保护模式下的寻址方式的改变。

2024-12-18 23:33:04 1069

原创 双非逆袭字节系统开发,年薪40+,我是如何做的

实习真的很重要!!!对比我身边没有实习的同学,差距真的很大,是简历都不过关的程度。此外学历也很重要,一些好的公司,比如芯片原厂,momenta这些智驾公司都很卡本科学历,学历不好极有可能连简历都过不去。因此不管是什么学历,都建议去实习,我个人排序简历几个重要性程度那就是:学历 >> 实习 >> 项目 > 竞赛。

2024-12-18 17:09:32 642 1

原创 linux0.11内核源码修仙传第一章——bootset.s

本文以linux0.11为参考版本,参考了《linux源码趣读》和其他一些资料对源码进行解读,本篇文章只涉及boot文件,希望能和大家一起学习linux的思想

2024-12-17 12:02:14 847

原创 联影一面面经

联影一面面经

2024-08-29 18:31:51 446 1

原创 影石一面面经

影石一面面经

2024-08-26 23:41:17 953

原创 地平线嵌入式系统软件工程师一面面经

地平线嵌入式系统软件工程师一面

2024-08-24 12:46:01 304

原创 TCL提前批一面(安卓系统工程师)

TCL安卓系统工程师提前批一面

2024-08-24 12:12:36 254

原创 诺瓦星云(嵌入式软件开发)一面面经

诺瓦星云的一面

2024-08-24 11:42:38 522

原创 操作系统制作第二弹:boot与loader

本博客主要介绍的是boot程序与loader程序的编写,介绍了boot与loader编写的功能顺序

2024-05-21 15:32:09 1143

原创 操作系统制作第一弹:环境配置

本文是环境配置,采用的centos7和bochs2.8进行模拟硬件环境,创建了一个软盘用于存储文件

2024-05-19 17:25:51 1186

原创 禾赛面经分享

禾赛面经,linux开发工程师(实习)

2024-04-20 02:38:26 1194 1

原创 OPPO面经

oppo底层软件工程师面经

2024-04-19 22:46:05 901

原创 嵌入式驱动学习第七周——I2C子系统

I2C子系统,从内核源码的角度来解析I2C子系统

2024-04-14 01:48:57 1203

原创 嵌入式驱动学习第七周——GPIO子系统

gpio子系统用于同意便捷地访问输入输出中断等效果,通常搭配pinctrl子系统使用

2024-04-13 01:18:13 1043

原创 嵌入式驱动学习第七周——pinctrl子系统

pinctrl子系统

2024-04-12 02:58:55 953

原创 地平线面经

地平线面经

2024-04-09 21:03:46 1153

原创 嵌入式驱动学习第六周——跟踪系统事件

在分析软件的运行过程、调试疑难bug,执行性能分析和调优等方面,系统事件跟踪式很有用的工具。

2024-04-07 16:10:37 875

原创 嵌入式驱动学习第六周——内核函数调用(堆栈打印)

在内核中,函数调用堆栈非常重要,因为它可以帮助开发人员理解代码是如何执行的,从而进行调试、性能优化或问题排查。堆栈可以显示当前执行的函数以及导致该函数调用的先前函数,从而形成一个函数调用链。本篇博客就介绍堆栈打印内核函数的调用。!

2024-04-06 18:29:47 1623

原创 modprobe加载驱动模块时报错:modprobe: module xxx.ko not found in modules.dep

使用modprobe时,报错modprobe: module xxx.ko not found in modules.dep

2024-04-04 20:44:56 1067

原创 中断代码实验——工作队列、线程化处理、tasklet

这篇博客是linux内核中断处理案例实现,根据下半部的不同处理方式分为工作队列、线程化处理、tasklet三种方式

2024-04-04 17:26:52 862

原创 windows下通过vscode访问ubuntu(绝大部分Linux下开发所采用的方案)

本篇博客是介绍VSCode远程连接Ubuntu进行开发的解决方案,前提是安装好了VMWare,Ubuntu,windows下的VSCode。

2024-04-02 23:04:37 1421

原创 嵌入式驱动学习第五周——驱动模块

Linux 驱动有两种运行方式,第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启动的时候就会自动运行驱动程序。第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko),在Linux 内核启动以后使用“insmod”命令加载驱动模块。在调试驱动的时候一般都选择将其编译为模块,这样我们修改驱动以后只需要编译一下驱动代码即可,不需要编译整个 Linux 代码。而且在调试的时候只需要加载或者卸载驱动模块即可,不需要重启整个系统。

2024-04-01 16:48:06 836

原创 嵌入式驱动学习第四周——设备树

驱动开发一个很重要的东西就是设备树,这篇博客来讲一下设备树,以及dtb,dts,dtc等,设备树语法。最后讲一下如何在驱动中找到设备树对应节点进行匹配,并查找属性

2024-03-22 02:01:20 1029

脑科学中使用 freesurfer 提取所需脑区的label文件,里面是分割后每个脑区的label,名称以及对应颜色的rgba值

脑科学中使用 freesurfer 提取所需脑区的label文件,里面是分割后每个脑区的label,名称以及对应颜色的rgba值

2025-04-01

正点原子的linux驱动教程

正点原子的linux驱动教程

2024-02-27

WeatherData.py

WeatherData.py

2021-01-24

html、CSS、JavaScript

本资源为想学后端人员的前端笔记,适合有一点基础的人观看,慎下!!! 笔记为.md格式的,跟着黑马程序员视频教程所编写的笔记,包括了一些常用的前端知识,负责后端的可以当成复习笔记复习复习

2020-09-13

Java复习笔记.rar

本资源适合已有java基础,但稍微有点忘记的人群,对于初学者可能不够全面,慎下!!!! 本资源中的思维导图为xmind编写,是自己看《Java从入门到精通》时所画的思维导图,由于看完之后感悟不深,后序笔记未整理,只整理了Java基础。本资源中的笔记未.md格式,是自己在观看黑马的教学视频时跟着做的笔记,弥补了部分后面Java核心技术部分,各位可下载下来进行复习使用。

2020-09-13

C++面向对象的ATM机设计,含MFC和控制台版本

内含控制台和MFC版本,面向对象设计,模块化编程,使用文件流储存户主信息,其中MFC版本为现学现卖,写的较为青涩,可供各位参考

2020-05-06

C语言贪吃蛇源代码未使用结构体

一个青涩的未使用结构体的贪吃蛇小实例,可以动手写一写,作为一个阶段性的实例,加深对二维数组等的理解,规则在运行后的框框下面,新手编写,模块化这一块做的不好,可在此代码基础上修改,大佬勿喷

2020-05-06

hal库stm32f103c8t6做的音乐盒和按键钢琴

使用hal库编程,运用了TTP224触摸按键(4个按键)以及霍尔元件。默认状态下触摸按键发出do re mi fa,霍尔元件实现切换功能以及歌单的效果,内附详细使用说明

2020-05-06

空空如也

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

TA关注的人

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