自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阻塞和非阻塞 IO及异步通知

本文全程参考正点院子文档,只供学习记录使用。

2025-02-10 10:35:18 1048 1

原创 LINUX内核定时器和中断

硬件定时器提供时钟源,时钟源的频率可以设置。设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频率就是系统频率,也叫做节拍率(tick rate)(有的资料也叫系统频率)。系统节拍率是可以设置的,单位是 Hz,我们在编译 Linux 内核的时候可以通过图形化界面设置系统节拍率,设置好以后打开 Linux 内核源码根目录下的.config 文件,Linux 内核会使用 CONFIG_HZ 来设置自己的系统时钟。

2025-02-09 16:01:30 1093

原创 LINUX并发与竞争

并发就是多个“用户”同时访问同一个共享资源,Linux 系统是个多任务操作系统,会存在多个任务同时访问同一片内存区域,这些任务可能会相互覆盖这段内存中的数据,造成内存数据混乱。针对这个问题必须要做处理,严重的话可能会导致系统崩溃。并发访问带来的问题就是竞争,所谓的临界区就是共享数据段。对于临界区必须保证一次只有一个线程访问,也就是要保证临界区是原子访问的,

2025-02-09 14:10:23 1115

原创 U-Boot启动流程详解3

首先我们还是要明确调用此函数前,一些关键量的值:如gd>malloc_base=0X0091FB00,这个也就是 early malloc的起始地址,其它在下图有标记:_main中会 调用 board_init_f函数, board_init_f函数主要有两个工作:①、初始化一系列外设,比如串口、定时器,或者打印一些消息等。②、初始化 gd的各个成员变量, uboot会将自己重定位到 DRAM最后面的地址区域,也就是将自己拷贝到DRAM最后面的内存区域中。

2025-01-16 14:45:24 1092

原创 U-Boot启动流程详解2

读取 gd->reloc_off的值复制给 r0寄存器, GD_RELOC_OFF=68行, lr寄存器的值加上 r0寄存器的值,重新赋值给 lr寄存器。),在函数 board_init_f中会初始化gd的所有成员变量,其中 gd->start_addr_sp=0X9EF44E90 所以这里相当于设置sp=gd->start_addr_sp=0X9EF44E90。定义有GD_BD=0,新的 gd在 bd下面,所以 r9减去 gd的大小就 是新的gd的位置,获取到新的gd的位置以后赋值给r9行。

2025-01-16 11:17:24 1189

原创 U-Boot启动流程详解

进入reset后,又跳到了save_boot_params函数,在save_boot_params函数中,又跳到了save_boot_params_ret中执行。行将 r0寄存器的值 (向量表值 )写入到 CP15的c12寄存器中,也就是VBAR寄存器 ,对向量表进行重定位。但是lowlevel_init 函数也执行完成了,返回到了函数cpu_init_crit,函数cpu_init_crit也执行完成了,最终返回到save_boot_params_ret,准备调用_main函数。

2025-01-15 21:26:51 1353

原创 U-boot顶层Makefile分析-第二节

version_h和timestamp_h两个变量保存了两个自动生成的文件,接着定义了4个变量的值。MAKECMDGOALS是 make的一个环境变量,这个变量会保存你所指定的终极目标列表,“比如执行“ make mx6ull_alientek_emmc_defconfig”,那么 MAKECMDGOALS就为 mx6ull_alientek_emmc_defconfig。很明显过滤后为空,所以条件不成立,变量 dot-config依旧为 1。

2025-01-15 00:11:00 1086

原创 U-Boot顶层Makefile分析

顶层Makefile也就是uboot根目录下的Makefile文件,由于顶层Makefile文件内容比较多,所以我们将其分开来看。本文主要参考正点原子。

2025-01-14 21:14:50 757

原创 LINUX基础学习记录

本人正在学习linux有关知识,在学习过程中,对一些常用知识做一个记录。本文主要参考正点原子手册。

2025-01-14 18:35:43 514 1

空空如也

空空如也

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

TA关注的人

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