自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 五月份嵌入式面试总结

1、sdk 编译 烧录 启动 调试串口2、屏幕驱动正常工作 demo正常启动。

2025-05-16 17:46:31 1135

原创 linux

启动过程中的uboot ,其实 uboot 就是一个裸机程序,上电的第一时间会去初始化寄存器,进行硬件自检,然后会去配置启动参数,这个启动参数主要是一些环境变量还有就是配置一些启动过程,接着就是会加载和传递设备树,这个时候会将对应的文件 boot.bin 传递到内核里面,传递进去以后就会加载内核镜像并调用内核入口。然后控制权就给了内核,内核第一步做的就是初始化硬件,(MMU和定时器),然后内核会解析和初始化设备树,此时内存管理初始化执行完毕,此时就开始加载内核模块并挂载根文件系统。

2025-04-27 11:57:01 617

原创 社招面试中遇到的问题

2、Linux驱动相关,介绍下做过的子系统。

2025-04-24 21:41:23 92

原创 arm64体系结构编程与实践

以 <Xn>|SP 为基地址,读取 <Xn>|SP{,#<imm>} 寄存器的值到 <Xt1> 寄存器中,读取X n /SP寄存器的值 + imm + 8地址的值到X t 2寄存器中。它以X n /SP寄存器的值为基地址, 然后把X t 1寄存器的内容存储到[X n /SP + imm]处, 把X t 2寄存。●X n /SP: 用于基地址寄存器, 它对应指令编码中的R n 字段, 也可以使用SP寄存器。MOV 用于在寄存器之间移动数据,或者将立即数加载到寄存器,但是立即数的范围有限。

2025-04-10 15:00:26 728

原创 跟我学Makefile

/在头文件中的定义#endif//在main函数中的使用//在编译过程中会出现问题,因为在 G 和 (x)中间多了一个空格,导致编译器将 G 看成一个宏,而不是 G(x).// 宏定义和typedef 一致// T1和T2所表示的类型有可能会不一致//比如T1 a , b;a是指针类型,b是结构体类型T2 a , b;a和b都是指针类型。

2025-04-07 17:19:52 168

原创 哈希表(力扣用法记录)

int key;//可以就只有key不加valueint value;} Hash;return tmp;it = NULL;return 1;

2025-04-07 17:14:01 168

原创 编译过程中查看某个宏的值

【代码】编译过程中查看某个宏的值。

2025-01-21 10:28:04 125

原创 MCU SOC 上电不启动问题总结

在 boot rom 中,芯片启动的时候会先去读 boot mode寄存器中的值,根据 boot mode 的值选择启动模式,通常有 nand nor emmc sd 等,然后去对应的 memory 中读取启动文件。3、在场效应管(或COMS器件)中,VDD为漏极,VSS为源极,VDD和VSS指的是元件引脚,而不表示供电电压。1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。进一步说,还有因电路形式不同而必须区分的两种“地”:数字地,模拟地。

2024-09-19 22:41:55 962

原创 linux驱动开发-arm汇编基础

记录下学习arm汇编的一些知识点。

2024-09-17 15:41:03 1776

原创 linux驱动开发-磁盘管理

在中,mount命令是一种非常常见且有用的工具,用于将文件系统连接到指定的挂载点。通过使用mount命令,管理员可以访问和管理存储设备上的文件和目录,包括硬盘驱动器、CD或DVD驱动器、闪存驱动器等。-l:以列表的形式显示当前已挂载的文件系统。-t :指定要挂载的文件系统的类型,例如ext4、ntfs等。-o :指定挂载选项,比如读写权限、访问控制等。:指定要挂载的设备的名称或路径。:指定要挂载到的目录路径。mount -l。

2024-09-11 22:34:33 1754

原创 DC 板 boot 测 nor 兼容性记录(qspi )

2、由于socket与DC板接触可能不是很好,所以怀疑在数据传输过程中如果 IO频率过高会导致数据读出来的和flash中原本存储的数据对不上,这个一般会怀疑是驱动问题,但其实只是频率问题,所以遇到flash 读写有问题时,可以先考虑将qspi降成 spi模式,也就是将 4线模式转换成 1 线模式,或者是降低 IO频率;IO 频率在驱动的硬件cfg 参数中修改即可。1、EC前芯片能使能各项外设,在测试过程中发现能够读 flash ID ,但是在boot的过程中会遇到问题,包括之前boot的大电流问题;

2024-09-11 19:28:10 1045

原创 printf 和 \r \n的故事

linux编译环境和win编译环境下的 \r\n 含义是不同的;\r :是指将光标移动到本行的开头;\n : 是指另起一行;

2024-07-12 15:02:04 288

原创 UNUSED宏用法

有些函数入参用不上的时候,会在编译的时候报 warning,在编译参数里面添加-Werror这个编译选项时,会将所有的warning信息转换为error,对编译造成影响;所以为了避免编译终止问题,我们对于一些函数入参需要用UNUSED_PARA 做下处理;

2024-07-12 14:51:26 244

原创 BSP驱动教程-CAN/CANFD/CANopen知识点总结分享

博世的CAN2.0和CANFD规格书。MDK的CAN入门教程。Kvaser入门教程。

2024-06-15 15:20:28 543

原创 gcov在嵌入式设备上使用说明更新

gcov在嵌入式平台上使用说明文档更新

2023-12-18 11:15:01 454

原创 gdb 记录

gdb

2023-11-30 10:29:46 183

原创 ulog记录(RTTulog部分)

首先计算颜色信息的长度,然后根据颜色信息的长度确定新的日志起始地址和日志长度,去除颜色输出的标记后,再调用后端的输出函数),输出函数ulog_output_to_all_backend相关参数主要包括:日志级别,标签,是否为原始日志,缓冲区,长度。- `rt_err_t ulog_backend_set_filter(ulog_backend_t backend, ulog_backend_filter_t filter)` 函数用于设置日志后端的过滤器。参数 `tag` 是要设置的全局日志标签。

2023-08-02 16:56:58 1533

原创 makefile中的常用关键字和函数

其中的function为函数名,argument是参数,函数名与参数之间用空格或者Tab隔开,如果有多个参数,之间用逗号隔开。

2023-07-29 15:13:40 397

原创 位段和位域

计算机内存是以字节为单位进行划分的,CPU通过地址总线访问内存时,一次能处理多少字节的数据就会让地址总线读几个字节的数据,32位的CPU一次处理4字节的数据,每次就从内存中读取4字节的数据,少了浪费主频,多了没有哟个。当相邻成员的类型相同时,如果它们的位宽之和小于类型的 sizeof 大小,那么后面的成员紧邻前一个成员存储,直到不能容纳为止;这里插播一下大小端存储的简单介绍:大小端存储是计算机用于处理多字节数据的不同方式,在内存中存储多字节数据时,字节的存储习惯。在 : 后面数字来限定成员变量占用的位数。

2023-07-29 14:38:47 226

原创 makefile学习记录

本记录仅用于记录自己makefile学习的知识点,侵权删!跟我学makefile,极力推荐,神书!makefile是为了自动化编译设计的,程序首先需要把源文件编译成中间代码文件,在win下为.obj文件,在unix下为.o文件,这个就是编译(compile)的过程,将大量的obj文件合成为执行文件就是链接过程(link)。

2023-07-23 14:32:55 157

原创 Gcov,lcov测试嵌入式平台的代码覆盖率

嵌入式平台上测试代码覆盖率

2023-07-20 20:05:09 1890

原创 git指令记录

集中式版本控制有一个主版本号,每次版本迭代都会以这个版本号为主,分布式因为每个客户端都是服务器,git没有固定的版本号,代码回滚会有一个哈希值作为代码ID,一般以master作为主仓库,我们可以push到master并合并到主仓库上,主仓库的版本号就会迭代一次,客户端的git迭代与master无关,只有在merge时才会合并一次。分布式版本控制系统:每一个电脑都属于一个服务器,在主仓库拉一份代码以后,则可以将自己的电脑作为服务器,自己在本地做的修改可以提交到主仓库。其中HEAD指向最新放入仓库的版本。

2023-07-15 10:39:32 388

原创 git使用说明

视频同步笔记:狂神聊GitGit命令总结-KuangStudy-文章

2023-07-10 09:25:59 99

原创 [Linux+gcov+lcov]测试代码覆盖率总结

会生成原始的代码覆盖率文件test.gcov,因为此时没有运行test的可执行文件,所以没有test.gcda的统计数据,覆盖率为0。lcov属于gcov的图形化工具,可转换为html格式的代码覆盖率报告,需要自己安装,网址如下。在编译时会产生.gcno文件,包含重建基本图块和相应的块的源代码的行号信息;(2)运行gcov会生成test.gcda文件,其中包含代码覆盖率信息。在运行编译的程序时会产生.gcda文件,包含弧跳变的次数信息。每行前面的数字表示行运行的次数。其中#####表示未运行的行。

2023-07-07 13:30:17 655

原创 win10+Ubuntu双系统安装教程

Ubuntu桌面版的安装镜像文件名为:ubuntu-<版本号>-desktop-amd64.iso。将镜像文件写入U盘就行。在选择文件的时候要注意文件的类型;选中D盘,右键单击压缩卷,我分了一个60G的空间盘。6、重启并按照设定对Ubuntu进行分区即可。然后安装一下这个工具,在桌面上就可以启动。右键单击WIn按钮,然后打开磁盘管理。用win32diskImage。1、下载Ubuntu镜像文件。3、制作Ubuntu安装盘。2、下载安装镜像工具。5、查看磁盘分区格式。

2023-04-19 21:43:32 1134

原创 程序性能分析-时间复杂度与空间复杂度

时间复杂度与空间复杂度

2022-10-08 20:21:29 925

原创 操作系统学习过程总结

操作系统

2022-09-03 21:02:02 999

原创 单片机知识

STM

2022-08-24 14:05:34 581

原创 操作系统面试

面试

2022-08-24 10:39:58 349

原创 面试手撕汇总

面试算法

2022-08-22 18:56:33 466

原创 内存篇纪实

操作系统

2022-08-13 18:02:25 197

原创 死锁篇纪实

OS

2022-08-13 15:41:24 214

原创 Linux:上下文,进程上下文和中断上下文概念,上下文切换

linux上下文状态机

2022-08-12 11:10:09 1425

原创 自旋锁和信号量

自旋锁和信号量

2022-08-12 10:59:59 636

原创 嵌入式面经

面经

2022-08-09 21:33:04 5587 1

原创 Arm_Mobile_Studio_2022.2_linux(arm Graphics Analyzer环境配置)

graphics

2022-08-03 11:23:50 1674

原创 单链表的排序

数据结构

2022-06-18 22:04:07 315 1

原创 qsort函数(C语言快速排序)

快排

2022-06-15 15:00:18 177

原创 合并两个排序的链表

链表基础题

2022-06-14 17:33:30 127

原创 题解 | #链表内指定区间反转#

牛客

2022-06-14 17:08:37 115

makefile学习记录

makefile学习记录

2023-09-15

RT-Thread OS

知识点总结https://www.bilibili.com/video/BV1Cb4y1m7W5/?p=15&spm_id_from=pageDriver&vd_source=7cda3a6b8376d8252e21767d680f22a6

2023-07-30

空空如也

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

TA关注的人

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