- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 local_save_flags与local_irq_restore
local_irq_disable和local_irq_enable有一种变体:local_irq_save和local_irq_restore。
2015-09-23 15:11:47 2150
原创 local_irq_disable与local_irq_enable
这两个函数可用于禁止与激活当前处理器(仅仅是当前处理器)上的所有本地中断(所有本地中断线上的中断),禁止本地CPU中断是确保一组内核语句被当作一个临界区处理的主要机制。这个机制的意义是:即使当硬件设备产生了一个IRQ信号时,中断禁止也让内核控制路径继续执行,因此,这就提供了一种有效的方式,确保内核控制路径中的一些中断处理程序能访问的数据结构也受到保护。然而,禁止本地中断并不保护运行在另一个CPU上
2015-09-23 14:39:36 2935
转载 《Linux内核设计与实现》读书笔记(七)- 中断处理
中断处理一般不是纯软件来实现的,需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理,特别是驱动程序的开发。主要内容:什么是中断中断类型中断相关函数中断处理机制中断控制方法总结 1. 什么是中断为了提高CPU和外围硬件(硬盘,键盘,鼠标等等)之间协同工作的性能,引入了中断的机制。没有中断的话,CPU和外围设备之间协同工作可能只有轮询这
2015-09-20 18:04:54 340
原创 CPU架构决定大小端模式
不同体系结构的CPU,数据在内存中存放的排列顺序是不一样的。存储器中对数据的存储是以字节(Byte)为基本单位的,因此,字(Word)和半字(Half-Word)在存储器中就有两种次序,分别称为:大端模式(Big Endian)和小端模式(Little Endian)。大端存储模式是指字或半字的最高字节(Most Significant Bit,MSB)存放在内存的最低位字节地址上,而字数
2015-09-11 23:23:17 3433
原创 volatile代码中的应用
typedef volatile unsigned int vu32;#pragma DATA_SECTION(".gadParamFlg")volatile SAdParam gAdParam[PARAM_NUM]; // indicate EDMA bcp-tcp STATUS.volatile u32 *Reg = (u32 *)BCP_ENABLE_TM_
2015-09-10 21:56:17 983
原创 volatile and non-cacheable
In some applications, some specific addresses may need to be read from their physical locations each time they are accessed (e.g., a status register within FPGA).The L2 controller offers registers t
2015-09-10 21:04:26 988
原创 for_each_process
mm/** * list_entry - get the struct for this entry * @ptr: the &struct list_head pointer. * @type: the type of the struct this is embedded in. * @member: the name of the list_struct within the s
2015-09-05 22:25:36 8601
lemoal-nvme-polling-vault-2017-final_0.pdf
2020-03-13
个人总结 - m25p80.c debug on Micron spi nor_flash.pdf
2017-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人