嵌入式
文章平均质量分 81
李兰溪
好奇并探索着
展开
-
UBOOT源码分析1
UBOOT第一阶段源码分析对于源码分析,我是这样入手的,首先分析文件原创 2014-05-04 23:57:57 · 792 阅读 · 0 评论 -
S3C24XX DMA框架源码分析
基于S3C2440 的DMA 框架源码分析基于S3C2440 的DMA 框架源码分析二寻根溯源1 设备类的注册2 s3c2410_dma_init3 s3c24xx_dma_order_set4 s3c24xx_dma_init_map三面向驱动开发工程师的API1 申请通道 s3c2410_dma_request2 设置寄存器 s3c2410_dma_devconfig和s3c24原创 2015-12-09 23:17:29 · 2143 阅读 · 0 评论 -
Effective Cpp 条例解析
Effective 条例解析Effective 条例解析一 让自己习惯C1 视C为一个语言联邦2 尽量以constenuminline 替换define3 尽可能使用const4 确保对象在使用前已经被初始化二构造析构赋值运算1 了解C默默编写并调用哪些函数2 如果不想使用编译器提供的函数应当明确拒绝3 为多态基类声明virtual析构函数4 别让异常逃离析构函数5 绝不在构造原创 2016-01-07 23:33:17 · 871 阅读 · 0 评论 -
STM32工程
在LINUX下开始一个STM32工程在LINUX下开始一个STM32工程一安装工具二 如何工作1 需要作的工作2 工作分析21 makefile分析22 链接器脚本分析3 分析结果三开始工作1 创建文工程目录3 编写Makefile32 src子目录Makefile33 arch子目录Makefile34 lib子目录Makefile35 Makefile总结一、安装工原创 2015-12-09 23:31:02 · 1977 阅读 · 0 评论 -
Linux 中断底半部机制
Linux 中断底半部机制Linux 中断底半部机制linux中断底半部过去的中断底半部实现机制 bh_base关于bh_active和 bh_mask新机制的出现软中断的分析机制的初始化总结linux中断底半部因为硬中断ISR是在关闭中断的情况下执行的,故而在硬中断ISR中停留时间过长会影响系统性能。为了能尽可能地缩短硬中断的时间,linux设置了中断底半部。也就是说,Linux的中原创 2016-04-21 23:41:09 · 860 阅读 · 0 评论 -
Linux信号机制
Linux信号机制Linux信号机制一管理层次及结构1 数据结构11 中断向量表的模拟12 中断请求寄存器的模拟二 信号的安装1 概述2 代码分析3 其它函数三信号发送1 kill函数和sigqueue2 代码分析四响应信号一、管理层次及结构1.1 数据结构信号机制是在软件层次上堆中断机制的一种模拟,也就是说信号是一种代码异步执行的方式。故而信号也有类似于中断管理的相关软件原创 2016-04-21 23:43:29 · 4020 阅读 · 0 评论 -
linux内存管理之数据结构
linux内存管理之数据结构linux内存管理之数据结构一物理空间管理1 页表项2 物理页面管理对象page二内存分区1 过去的分区2 当下的分区情况三 虚拟空间管理1 进程虚存区域2 进程地址空间3 进程地址空间和进程虚存区域的关系一、物理空间管理1.1 页表项[include /asm-i386/page.h: 39] 39 #if CONFIG_X86_PAE 40 t原创 2016-04-21 23:46:31 · 5219 阅读 · 0 评论 -
Linux 报文队列
Linux 报文队列Linux 报文队列一IPC 概述二报文队列1 报文队列简述2 代码分析21 msgget 创建报文队列22 msgsnd 报文发送221 相关数据结构222 sys_msgsnd源码分析3 msgrcv 报文接收4 msgctl 报文控制与设置一、IPC 概述早期的Unix系统进程件通信机制主要有管道和信号。管道开始只能在近亲之间通信,于是将pipe推广到原创 2016-04-21 23:47:57 · 4431 阅读 · 0 评论 -
linux内核分析之文件系统
linux内核分析之文件系统linux内核分析之文件系统一文件系统的安装和卸载分析1 文件系统的安装11 总领提纲12 代码分析13 实例考察path_walk2 文件系统的卸载21 提纲22 代码分析二问答归纳1 问题2 回答三文件的打开1打开文件的本质2打开文件的过程四文件创建1 文件创建的过程2 关于文件创建的理解一、文件系统的安装和卸载分析1.1 文件系统的原创 2016-04-22 00:00:44 · 4994 阅读 · 0 评论 -
linux 进程与进程调度
linux 进程与进程调度一、调度器设计与实现1.1 调度器需要满足的需求满足交互式应用的需求。这种应用,这种应用着重于系统的响应速度。满足批处理应用的需求。这种应用要求的是平均速度即效率实时应用。这种应用不但考虑进程执行的平均速度,还要考虑即使速度。也就是考虑响应的速度,以及可预测性。1.2 考虑的问题为了满足上述三种应用的需求,在设计调度器时需要考虑以下几个问题:调度的时机:什么情况下原创 2016-04-22 00:07:19 · 1846 阅读 · 0 评论 -
Qt实现数字音频均衡器[文末附代码]
Qt实现数字音频均衡器在实现音频播放器的时候,我们常常需要一个均衡器来调节各个频段的增益,就是我们平常说的调重低音。一个数字均衡器的架构通常都如图所示:从图中可以看到,这里的数字均衡器实际上就是三个滤波器,各个滤波器分别负责不同频段的音频调节,这三个滤波器叫做滤波器组。当然一个数字滤波器组也不一定只有三个滤波器,理论上来说可以有任意多个滤波器,而且滤波器越多,能调整的也就越精细。从物理上来...原创 2018-12-16 22:49:31 · 3626 阅读 · 8 评论 -
如何理解算法中的渐进符号?
我们分析一个算法的时候,常常需要用到数学去描述其性能。最常用的的是ø。比如在一段程序中有For(I = 0,I For(J = 0; j For (cnt = 0; cnt 我们会说其最坏情况是n^2+ n,这时候,实际上我们没有考虑机器因素,我们把每一条指令的执行时间都当做单位1来看,如果我们考虑到机器因素,比如在A机器上,每条指令执行的速度是c1,那么他的最坏情况原创 2014-11-24 21:49:03 · 2663 阅读 · 1 评论 -
程序的连接
—————————————————————————————————————————————————————————————————————————————以下是关于链接的简单说明—————————————————————————————————————————————————————————————————————————————程序从源代码到可执行程序会经过这么几个过程: 1原创 2014-11-16 14:37:03 · 957 阅读 · 0 评论 -
UBOOT第二阶段源码分析1
好了我们现在来看看第二阶段要做什么事情,嗯,咱们换一个思路,先来说说要做什么事情再来分析这些事情是怎么做的。1 cpu_init,cpu初始化,主要是设置中断的栈2 board_init这个是板级初始化,主要是初始化系统时钟等等3 interrupt_init初始化定时器4 env_init主要是检查环境变量5 init_baudrate Serial_init C原创 2014-05-05 00:02:14 · 882 阅读 · 0 评论 -
kobject与kset
1 sysfs文件系统: 作用: 用于向用户描述内核的驱动组织关系和内部结构。 其中kobject 和 kset是这个文件系统的组成“砖瓦” 2 sysfs文件系统在linux内核启动的初级阶段会被初始化。 二 kobject 1 kobject是linux设备驱动模型的组成原创 2014-08-23 23:22:48 · 666 阅读 · 0 评论 -
信号量与异步通知
信号量与异步通知一 信号量原理概述1LINUX当中的信号处理机制进程管理块(PCB)中有几个字节的比特位,每一个比特位代表着一种信号。进程首先要注册一个函数用于处理对应的信号,一般来说调用signal或者是signalaction函数。当用kill指令向某一个进程发送信号,就会陷入内核,通过进程号(PID)取得对应得PCB,然后将PCB中对应信号得比特位置位。在内核原创 2014-08-23 23:26:32 · 1336 阅读 · 0 评论 -
阻塞与非阻塞
LINUX设备文件高级操作之阻塞与非阻塞IO一 阻塞与非阻塞IO 阻塞操作:在进行设备文件操作的时候,如果不能获得资源(操作条件没有被满足),则挂起进程(休眠)直到满足可操作的条件为止。 非阻塞操作:在进行设备文件操作的时候,如果不能获得资源(操作条件没有被满足),进程不被挂起,而是放弃操作或者不停地查询知道满足操作条件为止。对与阻塞与非阻塞的最简单操作就是以阻塞/非阻塞原创 2014-08-23 23:28:30 · 1322 阅读 · 0 评论 -
互斥与同步
在多核对称处理器或者是可抢占型内核中,由于进程的“并发”从而引发诸多问题。如何管理好资源,处理好进程之间的竞争,同时不影响系统的并发性能尤为重要。处理竞争和并发问题,主要有四种手段:1锁2信号量3互斥体4CRU一并发的来源1多任务抢占型的内核,由“宏观并行,微观并行”带来的并发。2中断。3多任务处理器。同一时刻有多个处理器同时原创 2014-08-23 23:24:28 · 868 阅读 · 0 评论 -
操作系统当中的线程与进程
操作系统中的进程与线程简介 在传统的操作系统中,进程拥有独立的内存地址空间和一个用于控制的线程。但是,现在的情况更多的情况下要求在同一地址空间下拥有多个线程并发执行。因此线程被引入操作系统。 为什么需要线程? 如果非要说是为什么需要线程,还不如说为什么需要进程中还有其它进程。这些进程中包含的其它迷你进程就是线程。 线程之所以说是迷你进程,是因为线程和进转载 2014-08-26 22:43:43 · 603 阅读 · 0 评论 -
在用户空间实现的线程
在现代操作系统当中,线程发生了以原创 2014-08-26 23:05:25 · 1422 阅读 · 0 评论 -
LINUX的中断处理
LINUX中断一LINUX的中断响应1 硬件结构在X86结构上面,处理器本身并没有集成中断控制器。所以外部拓展了一个中断控制器,中断控制器用于连接中断源以及CPU的中断管脚。在发生中断的时候,CPU管脚接收到中断信号并且做出响应。硬件逻辑电路完成了自动保护现场的功能。2 中断的软件部分响应中断后,CPU的PC指针自动指向中断向量表跳转到中断程序入口。这时侯调原创 2014-08-27 17:54:16 · 1362 阅读 · 1 评论 -
未使用中断的寄存器保护
1.6. 异常中断处理摘要1.6.1. macros stmia/* ************************************************************************* * * Interrupt handling * ***************************转载 2014-10-27 23:16:51 · 816 阅读 · 0 评论