自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

转载 va_start和va_end使用详解

转载地址:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html C函数传递参数的用法和原理1.1 用法  在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表,例如void foo(...);void foo(parm_list,...);这种方式和我们以前认识的不大一样,但我们要记住这是C中一种

2016-11-25 09:39:17 604

原创 uboot启动流程详解(5)-_main

前言  _main标号中主要调用的函数有三个,board_init_f,relocate_code,board_init_r,这里先贴出_main的代码并注释,然后对这三个函数的流程及原理进行详细介绍。1、代码注释ENTRY(_main)/* * Set up initial C runtime environment and call board_init_f(0). *//**这里首先为

2016-11-17 11:46:24 7014 5

原创 uboot启动流程详解(4)-cpu_init_crit

1、源码及注释cpu_init_crit标号对应的源码:/************************************************************************* * * CPU_init_critical registers * * setup important registers * setup memory timing * *****

2016-11-16 09:03:34 2865

原创 uboot启动流程详解(3)-cpu_init_cp15

1、代码及注释说明:   1、关于p15协处理及其指令的介绍请看《ARM协处理器介绍 》。   2、关于mmu的详细介绍请查看《 MMU内存管理单元介绍 》。   3、如果想要详细阅读以下代码,需要查阅arm的参考手册《ARM_Architecture_Reference_Manual_ARMv7-AR.pdf》。/***************************************

2016-11-15 20:16:19 2346

原创 uboot的编译及连接过程

1、.bin文件的组成  一个.bin文件主要包含text段(代码),data段(初始化的全局变量),以及bss段(未初始化的全局变量)。局部变量是在运行过程中分配的,不包含在bin文件里面。下面举一个例子说明#include <stdio.h>#include <string.h>int a = 0; //全局未初始化变量,系统默认赋值成0,bss段,4个字节int b

2016-11-15 18:20:41 1499

原创 MMU内存管理单元介绍

前言  本篇文章简要阐述MMU的概念,以及以段地址的转换过程为例,简单说明MMU将虚拟地址转换成物理地址的过程。更多详细内容请查看《ARM-MMU(中文手册).pdf》。1、MMU概述  在ARM存储系统中,使用MMU实现虚拟地址到实际物理地址的映射。为何要实现这种映射?   首先就要从一个嵌入式系统的基本构成和运行方式着手。系统上电时,处理器的程序指针从0x0(或者是由0Xffff_0000处高

2016-11-15 13:55:27 2386

原创 ARM协处理器介绍

什么是协处理器  协处理器是一种芯片,用于减轻系统微处理器的特定处理任务。例如,数学协处理器可以控制数字处理;图形协处理器可以处理视频绘制。例如,intel pentium微处理器就包括内置的数学协处理器。   协处理器可以附属于ARM处理器。一个协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能。一个或多个协处理器可以通过协处理器接口与ARM内核相连。   协处理器可以通过一组专门的、提

2016-11-15 11:46:30 11396

原创 uboot启动流程详解(2)-reset

1、cpsr寄存器介绍   通过向模式位M[4:0]里写入相应的数据切换到不同的模式,在对CPSR,SPSR寄存器进行操作不能使用mov,ldr等通用指令,只能使用特权指令msr和mrs。   在ARM处理器中,只有MRS(Move to Register from State register)指令可以对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读

2016-11-12 18:58:01 3918

原创 uboot启动流程详解(1)-_start

(1)代码及注释.globl _start /*声明一个符号可被其它文件引用,相当于声明了一个全局变量,.globl与.global相同*/_start: b reset /* b是不带返回的跳转(bl是带返回的跳转),意思是无条件直接跳转到reset标号处执行程序*/ ldr pc, _undefined_instruction /*未定义指令异常向量,ldr的作用是,将符号_und

2016-11-12 16:12:01 1537

原创 uboot整体介绍

1、什么是uboot   U-boot,全称Universal Boot Loader,是由DENX小组的开发的遵循GPL条款的开放源码项目,它的主要功能是完成硬件设备初始化、操作系统代码搬运,并提供一个控制台及一个指令集在操作系统运行前操控硬件设备。U-boot之所以这么通用,原因是他具有很多特点:开放源代码、支持多种嵌入式操作系统内核、支持多种处理器系列、较高的稳定性、高度灵活的功能设置、丰

2016-11-12 14:39:36 954

原创 编译地址与运行地址

(1)什么是编译地址   32位的处理器,它的每一条指令是4个字节,以4个字节存储顺序,进行顺序执行,CPU是顺序执行的,只要没发生什么跳转,它会顺序进行执行行, 编译器会对每一条指令分配一个编译地址,这是编译器分配的,在编译过程中分配的地址,我们称之为编译地址。   uboot里面,在include/configs目录下有相应平台的头文件,比如我使用的是飞思卡尔的cpu(IMX6SL),对应的

2016-11-12 13:30:56 3120

原创 开发一个字符设备驱动

1、什么是字符设备 1.1 基本概念  字符设备是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。 1.2 数据结构struct cdev//设备结构体{ struct kobject kobj; /* 内嵌的kobject 对象 */ s

2016-11-05 12:18:01 729

原创 内核双向循环链表介绍

前言   linux内核通常使用一个名字为(struct list_head)的结构体来实现双向循环链表。struct list_head数据结构如下:struct list_head { struct list_head *next, *prev;};   在需要构造双向循环链表的数据结构中加入(struct list_head)成员,然后通过该成员将数据结构连接成双向循环链表

2016-11-04 16:26:36 396

转载 linux就是这个范儿之特种文件系统(4)

原文地址:http://blog.csdn.net/jiajun2001/article/details/158123319.4 devfs和sysfs  devfs和sysfs它们来了,真的来了,一前一后来的,来得是那么突然,来得是那么悄无声息。一个脸色苍白,苍白得让人不寒而栗;一个眼光深邃,深邃的让人顿觉谦卑。人们一直在谈论着它们,据说先来的已经死了,死的很透彻,是被它的门人杀死的,而且居然是后

2016-11-02 20:33:00 363

转载 linux就是这个范儿之特种文件系统(3)

原文地址:http://blog.csdn.net/jiajun2001/article/details/145232139.3 tmpfs  前几天闲来无事翻微薄,有人写道:“曾经偷情被游街,如今二奶喊干爹;曾经撞人忙救人,如今撞人再杀人;曾经私情偷着干,如今淫乱存U盘;曾经献血为扶伤,如今慈善越重洋;曾经相好牵肚肠,如今小三炫富忙;曾经摩托都挺酷,如今地铁都追尾;曾经县长做皮卡,如今少年开宝马;

2016-11-02 20:29:03 364

转载 linux就是这个范儿之特种文件系统(2)

原文地址:http://blog.csdn.net/jiajun2001/article/details/142277839.2 procfs  procfs之于Linux的重要程度就好比眼睛之于心。眼睛是心灵的窗口,直达心底;眼睛是心灵感知世界的大门,洞悉全局;眼睛是人与人之间心灵沟通的桥梁,展现彼此。   procfs是进程文件系统的缩写。这是一个伪文件系统(启动时动态生成的文件系统),用于用

2016-11-02 20:19:54 399

转载 linux就是这个范儿之特种文件系统(1)

原文地址:http://blog.csdn.net/jiajun2001/article/details/13505491      有一天,身体问心:“我要是痛了,医生会给我治,你痛了谁给你治啊?”于是心说:“我只能自己给自己治。”也许是因为这样,每个人都有治疗自己心中伤痛的方法。喝酒、唱歌、发火、发疯、找人说话、拼命狂奔,等等,等等。当年我上大学时,我们同宿舍的二哥就是喜欢拼命狂奔,结果就

2016-11-02 20:03:57 377

原创 E&M信令详细介绍

1、E&M信令概述   E&M信令是目前国际上广泛采用的一种模拟中继接口,主要用于PBX到PBX或者PBX到市话局的互连,所以支持E&M信令传输的设备基本都具有“busyout”功能。E&M信令将话音与信令通道分开,其信令通道包括发信令M线和收信令E线,用来实现交换机与传输设备之间的信令转换,话音通道包括T、R和T1、R1用来发送和接收话音。   模拟E&M信令中,摘记和挂机信号通过E线和

2016-11-02 19:52:02 10974

原创 一号信令详细介绍

前言   随路信令方式(associafed signalling)通过电话通路传送信令,即信令信息和通话信息经过同一信道传送。模拟电话网通常采用ITU-T SS5的R1系统(北美)和R2系统(欧洲),在我国使用的是与R2系统类似的中国1号信令系统。1、一号信令的组成   中国一号信令,是根据中国实际情况,适合于中国电话网的一种信令方式,是一种随路信令方式。它包括线路信令和记发器信令两部分

2016-11-02 19:37:19 10813

原创 七号信令详细介绍

1、七号信令的基本术语 1.1 信令网   N0.7信令网是独立于电信网的支撑网,是电信网中用于传输No.7信令消息的专用数据网。信令网的三要素:信令点、信令转接点、信令链路。  1.2 信令点和信令转接点   信令点:信令网上产生和接收信令消息的节点,是信令消息的起源点和目的点。   信令转接点:若某信令点既非信令源点又非目的点,其作用仅是将从一条信令链路上接收的消息转发至另

2016-11-02 19:10:28 36449 7

转载 Linux多线程编程之条件变量

前言  条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待”条件变量的条件成立”而挂起;另一个线程使”条件成立”(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。1、函数说明  a、pthread_cond_init函数可以用来初始化一个条件变量。他使用变量attr所指定的属性来初始化一个条件变量,如果参数attr为空,那么它将使用缺省的

2016-11-02 17:32:46 914

转载 在Linux中使用线程

原文地址:http://blog.csdn.net/jiajun2001/article/details/126249231、第一个例子  在Linux下创建的线程的API接口是pthread_create(),它的完整定义是:   int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_rou

2016-11-02 15:54:23 357

mqtt客户端工具mqttx

一款好用的mqtt客户端工具,支持发布、订阅,支持发送和接收十六进制

2023-11-20

ARMv7-AR Architecture Reference Manual.pdf

ARMV7参考手册,2008年版

2016-11-13

跟我一起学Makefile

学习makefile的好材料,从入门到精通!

2016-11-13

空空如也

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

TA关注的人

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