![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
ydf8525
毕业西南大学电子信息工程,从事嵌入式软件开发11年,熟悉STM/NXP/HISI/CYPRESS/QUALCOMM/ROCKCHIP等平台开发,长期致力于Linux/android系统进行系统集成优化,外设驱动开发;主要精通USB协议和CAMERA视频采集/传输;致力于linux/android 相关技术研究
展开
-
u-boot的编译
U-Boot的源码是通过GCC和Makefile组织编译的。顶层目录下的Makefile首先能设置研发板的定义,然后递归地调用各级子目录下的Makefile,最后把编译过的程式链接成U-Boot映像。1.顶层目录下的Makefile他负责U-Boot整体设置编译。按照设置的顺序阅读其中关键的几行。每一种研发板在Makefile都需要有板子设置的定义。例如smdk2410研发板的定义如下转载 2013-09-06 09:15:43 · 559 阅读 · 0 评论 -
U-BOOT的目录结构
网上采用的u-boot一般是1.1或1.2系列的版本,其目录结构介绍的资料比较多,在新一些的版本中U-boot目录结构做了比较大的改变,比以前的版本更加简洁、合理。下面对比其异同,进行进一步讲解。一、 1.1或1.2等老版本U-boot目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。 n 第一类目录与处理器体系结构转载 2013-09-06 09:05:45 · 604 阅读 · 0 评论 -
Uboot启动过程详解
u-boot系统启动流程 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、Stage1 start.S代码结构 u-boot的stage1代码通常放在star转载 2013-09-06 09:00:40 · 984 阅读 · 0 评论 -
Bootloader概述
Bootloader的含义PC机上windows、linux引导过程简介嵌入式Bootloader介绍与分析嵌入式bootloader介绍Bootloader的操作模式Bootloader的安装及启动媒介Bootloader的启动过程Bootloader的通信设备及协议Bootloader:中文解释为启动引导程序可以工作在无操作系统的环境下,也可以工作在有操作系转载 2013-09-06 08:52:50 · 906 阅读 · 0 评论 -
linux 内核介绍2 进程管理
进程管理进程管理包括创建进程、管理进程、及删除进程。1、进程进程是程序执行时的一个实体。程序包括指令和数据,而进程包括程序计数器和全部CPU寄存器的值。进程中的堆栈中存储着一些数据,如子程序的参数,返回地址及变量之类的临时数据。当前的执行程序(进程)包含着当前处理器中的活动状态。Linux是一个多处理操作系统,进程拥有独立的权限和单一职责。如果系统中某个进程发生崩溃,它不会影响到另原创 2013-06-25 23:11:38 · 874 阅读 · 0 评论 -
Linux 内核介绍一
系统调用系统调用是操作系统提供给用户程序调用的一组特殊接口。用户程序可以通过这组特殊接口获得操作系统内核提供的服务。1、linux系统调用 所有的操作系统在内核里都有一些内建的函数,这些函数完成对硬件的访问和对文件的打开、读、写、关闭等操作。linux系统中称这些函数叫做系统调用,这是函数实现了将操作从用户空间转换到内核空间,有了这些函数,用户可以方便地访问硬件原创 2013-06-25 22:47:21 · 483 阅读 · 0 评论 -
platform_device
[c-sharp] view plaincopy内核中的platform driver机制需要将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过platform device提供的标准接口进行申请并使用。这样可以提高驱动和资源管理的独立性。本文的目的就是希望弄清楚platform device和driver之间的关系。 1.1 相转载 2012-06-11 23:47:40 · 1057 阅读 · 0 评论 -
The_Linux_Kernel_Module_Programming_Guide_2.6中文版
The Linux Kernel Module Programming GuidePeter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay SalzmanThe Linux Kernel Module Programming Guide is a free book; you may re转载 2012-02-23 23:20:21 · 1986 阅读 · 0 评论 -
linux驱动的入口函数module_init的加载和释放
就像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件: #include #include #include 其中,init.h 定义了驱动的初始化和退出相关的函数,kernel.h 定义了经常用到的函数原型及宏定义,module.h 定义了内核模块相关的函数、变量及宏。 几乎每个l转载 2012-02-16 23:29:11 · 407 阅读 · 0 评论 -
环形缓冲区的实现原理
在通信程序中,经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。1、环形缓冲区的实现原理环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而转载 2015-04-03 11:19:54 · 652 阅读 · 0 评论