自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux0.11学习之schedule

在一个操作系统中,最重要的部分就是任务调度,linux的0.11版本的任务调度函数比较简单,所以学习任务调度的原理非常适用。下面我们贴出来schedule函数的代码。 1 2 /* 3 * 'schedule()' is the scheduler function. This is GOOD CODE! There 4 * probably won't be any reas...

2018-05-26 00:10:05 1114

原创 fork函数学习1

1.for函数fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,这个新产生的进程称为子进程。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。需要注意的一点:就是调用fork函数之后,一定是两个进程同时执行的代码段是fork函数之后的代码,而之前的代...

2018-05-25 00:00:19 533

原创 S5PV210的IROM做了什么

对S5PV210_iROM_ApplicationNote_Preliminary_20091126手册里的描述翻译一下。1.关看门狗定时器        这个很容易理解,为了防止后面用户忘记初始化而系统重启。为什么三星要这么麻烦,不默认禁止掉看门狗,我猜看门狗定时器应该是属于内核的内容,是ARM公司定的。2.初始化指令缓存这个是为了加快CPU指令存取,通常CPU取指令是用到一条在内存中读取一条(...

2018-05-13 22:37:18 1118

原创 S5PV210的DDR初始化

S5PV210中DDR的初始化在数据手册中已经说明了步骤,总共27步。本人借助手册进行简单翻译和用代码描述。ddr时间相关的参数是根据我自己的开发板的ddr设置的,如果想用比较通用的参数,可以参考三星的原版uboot,里面的参数范围比较通用。1. 为了提供稳定的电源给控制器和内存设备,控制器必须确保CKE维持低电平。然后提供一个稳定的时钟。注意:XDDR2SEL需保持高来维持CKE为低.通常板子都...

2018-05-12 22:49:55 953

原创 C语言中可变参宏的一种实现方式

好久不写了,有点手生了都。下面主要分析可变参数宏的一种实现。因为C语言的标准库是可平台(处理器)有关的,所以本历程不能保证所有的处理器可用。本人在裸机ARM的处理器上实现过类似printf函数,适合ARM平台使用。下面带代码来自linux内核的stdarg.h头文件typedef char *va_list;    ​#define _AUPBND (sizeof (acpi_native_int...

2018-05-07 19:54:42 1995

原创 u-boot的do_setenv函数简要分析

1.setenv是不需要写等号的  即:setenv bootdelay 10 ,对写等号的使用者会打印使用错误信息。2.查找是setenv的环境变量是否已经存在,存在则oldval为正数。同时若存在则env最终指向那个环境变量的开头,nxt指向那个环境变量的结尾。若不存在,则env和nxt都指向环境变量区最后一个环境变量。整个过程中env_data是始终指向环境变量分区的首地址。3.针对上面查找...

2018-05-06 23:24:05 1932

USB_HID的两篇官方文档

Device Class Definition for Human interface Devices和 HID Usage Tables两篇官方文章,保存起来,已被更换电脑后用

2019-01-10

read-copy-update

linux锁机制的经典文档,read - copy - update。来自linux社区。

2018-09-25

输入子系统编程模板

尴尬,我自己的某个博客要用。这个东西我不想设置分数的,结果不能为0分。

2018-07-29

51单片机移植的ucosii嵌入式操作系统

对ucosii中不必要的内容进行了裁剪。因为51单片机的idata很小,这份代码用了51单片内部的idata作为当前运行任务的任务栈,其它没被运行的任务的栈则被放置在内存较大的xdata区。但因为51单片机的汇编语句少,简单,可以作为其他处理器移植ucosii的模版和参考,同时也是学习51单片机递增以及高级应用的实例。

2018-07-22

基于51单片机移植的ucosii的代码

对ucosii中不必要的内容进行了裁剪。这份代码用了51单片内部的idata作为任务栈,因为51单片机的idata很小,所以这份代码可以运行的任务数量比较少。但因为51单片机的汇编语句少,简单,可以作为其他处理器移植ucosii的模版和参考。

2018-07-22

基于51单片机写的一个多任务切换的简易OS

里面代码是本人亲自手写的一个基于51单片机的多任务切换代码,核心代码只有不到200行,可以从代码层面方便单片机开发者了解任务切换的原理和使用,里面没有使用任何复杂的算法。

2018-07-22

linux0.11源代码

里面包含有linux0.11版本的原版代码和 赵炯博士对里面所有代码的注释。

2018-07-22

空空如也

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

TA关注的人

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