自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (30)
  • 收藏
  • 关注

原创 GPU概述

函数:static int kbase_platform_device_probe(struct platform_device *pdev)该库介于opengl es底层函数和驱动之间,以库的形式出现。一大堆的初始化,最后注册MISC设备/dev/mali0。文件:Mali_kbase_core_linux.c。

2023-05-15 21:05:03 707

原创 DM-VERITY流程分析

dm-verity流程分析

2022-11-22 12:43:34 2216

原创 linux下inotify机制文件监控代码示例

#include <sys/inotify.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/select.h>#define EVENT_SIZE (sizeof(struct inotify_event))#define BUF_LEN (1024*(EVENT_SIZE+16))void inotify_fun(struct in

2022-05-20 11:05:34 348

原创 内存分配之CMA

一.CMA相关的宏RESERVEDMEM_OF_DECLARE(cma, "shared-dma-pool", rmem_cma_setup);#define RESERVEDMEM_OF_DECLARE(name, compat, init) \_OF_DECLARE(reservedmem, name, compat, init, reservedmem_of_init_fn)//////////////////////////////////////////////////...

2020-12-25 11:51:27 937

原创 内存分配之DMA操作

DMA操作DMA内存分配有两种方式,一致性DMA和流式DMA,在早期的内存区域中有一个DMA ZONE,占用内存地址0至16M的空间,供ISA设备的DMA内存,现在有的设备DMA操作时没有地址的限制,可以在全内存范围内分配内存来用于DMA操作,所以也就不需要DMA ZONE了。\linux-4.12.4\include\linuxstatic inline void *dma_alloc_coherent(struct device *dev, size_t size,dma_addr_t *d

2020-12-25 11:30:50 2978

原创 BuildRoot安装问题

BuildRoot安装问题在vmware中CentOS-6.0中安装buildroot环境。一.空间准备为buildroot准备了40G的空间,最后剩下6G,内核编译出来后剩下6G,准备的还是偏少一点。在vmware中挂载新的分区,配置如下:fdisk -lmkfs -t ext4 /dev/sdb1 //格式化成ext4文件mount /dev/sdb1 /buildroot //挂载二.编译器准备编译BuildRoot 需要用到的编译环境是gcc-8...

2020-12-25 11:05:26 1042

转载 Vmware虚拟机共享目录配置(转载)

Vmware虚拟机共享目录配置(转载)在网络上找到资料后,复制粘贴,原有链接地址作者找不到了,现注明转载。一.配置方法方法1:直接命令行配置mount -t vmhgfs .host:/shared /mnt/hgfs方法2:在配置文件中配置/etc/fstab.host:/shared /mnt/hgfs vmhgfs defaults 0 0二. 碰到的问题2.1 问题使用“ls”查看hgfs文件夹下的共享目录,什么也看不到,于是...

2020-12-25 09:58:01 382

原创 perf性能分析测试

perf性能分析测试一.内核配置./kernel/tracekernel hacking TRACER NOP TRACER TRACER TRACE CLOCK TRACER RING BUFFER TRACER EVENT TRACING TRACET TRACING Tracers ./init...

2019-12-25 23:14:09 362

原创 perf性能分析

好文章,留个log,欢迎共享https://www.cnblogs.com/arnoldlu/p/6241297.html系统级性能分析工具perf的介绍与使用

2019-11-11 22:45:22 282

原创 android堆栈打印

android系统堆栈打印一. java层Java 堆栈打印:Log.d(TAG,Log.getStackTraceString(new Throwable()));二.C++层堆栈打印#include <utils/CallStack.h>android::CallStack stack(LOG_TAG);加入库 libutilscallstack.so三....

2019-11-08 14:45:41 629 1

转载 GPU Index

https://dri.freedesktop.org/docs/drm/gpu/index.htmlLinux GPU Driver Developer's Guidehttp://www.landley.NET/kdocs/htmldocs/drm.htmlLinux DRM Developer's Guide

2019-10-26 22:43:00 435

原创 如何从uboot传参到内核

如何从uboot传参到内核一.设置环境变量setenv("hw_name", "param");二.将变量定义到传递参数setenv bootargs ${bootargs} hw_name=${hw_name};三.内核解析Int data;static int __init do_parse_args(char *line){if (line){...

2019-09-09 09:55:34 913

原创 交叉编译及cmake的使用

交叉编译及cmake的使用一.Cmake的安装Cmake的作用是生成工程的Makefile,以便于后期的编译 $ sudo apt-get install cmake$ sudo apt-get install cmake-qt-gui 其它依赖库的安装:$ sudo apt-get install build-essential libgtk2.0-dev lib...

2019-01-08 14:07:37 926

转载 Linux设备树语法详解

概念Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,...

2018-06-24 18:28:14 236

原创 在linux-4.12.4中增加系统调用

在linux-4.12.4中增加系统调用1.在文件./include/linux/syscalls.h中定义新的系统调用函数asmlinkage long sys_statxtest(char __user*filename); 2.在文件./arch/arm/tools/syscall.tbl中增加定义行398    common  statxtest            ...

2018-06-09 19:44:01 560

转载 linux内核的USB core , hub, 检测和枚举

2018-04-23 21:43:25 1010

原创 crosstool-ng-1.23.0交叉编译链制作

crosstool-ng-1.23.0交叉编译链制作一.准备crosstool-ng-1.23.01.      crosstool-ng的下载地址是http://ymorin.is-a-geek.org/download/crosstool-ng/下载交叉编译链源文件crosstool-ng-1.23.02.      编译安装 ./configure –prefix=/home/cross...

2018-04-23 21:30:32 1072

转载 如何实现Linux下的U盘(USB Mass Storage)驱动

如何实现Linux下的U盘(USB Mass Storage)驱动版本:v0.7How to Write LinuxUSB MSC (Mass Storage Class) DriverCrifan Li摘要本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动 本文提供多种格式供: ...

2018-04-23 21:05:18 5181

原创 Uart驱动小结

Uart驱动小结前段时间由于工作需要,接触了下ATMEL 的sam d20g18, cortex-m0,用到了片子上的i2c和uart,使用SDK,对一些低层的细节可以考虑的少一点,开发进度也快了不少;由于正在看Linux,所以顺便也看了下Linux的tty框架,记录下来打个标记。Uart驱动是紧紧围绕数据结构tty_driver的。一.UART字符设备1.1UART字符设备操作函...

2018-01-15 13:40:06 621

原创 I2c驱动小结

I2c驱动小结前段时间由于工作需要,使用atmeld20g18,cortex-m0,上面有I2C的控制器,atmel提供了SDK,开发速度很快,由于个人的好奇心,也顺便看了下linux下的I2C驱动框架,如下文所示,打个标记。Linux下的I2C驱动主要的数据结构是围绕i2c_adapter,对于ARM上来说一个i2c控制器就对应一个adapter,如果一个控制器上有多个i2c设备则每个设...

2018-01-15 13:38:06 392

原创 EXT4文件系统之多块分配

EXT4文件系统之多块分配如果文件inode支持延迟分配,则可以略过空间查找和磁盘配额的分支,因为他们已经被准备好了。如果空间查找为0,则返回ENOSPC;如果磁盘配额为0,则返回EDQUOT;两者都无法分配空间。在多块分配的时候用到了radix_tree数据结构,将块结构描述符的块组保存到缓存中,但是这样的数据保存了两份,分别为bd_buddy和bd_bitmapstruct ext

2017-12-07 15:48:19 1263

原创 EXT4文件系统之extents的ext4_get_block()

static int ext4_ext_insert_index(handle_t *handle, struct inode *inode, struct ext4_ext_path *curp, int logical, ext4_fsblk_t ptr){ 新的数据块插入当前的路径深度里。}static int ext4_ext_split(handle_t

2017-12-06 11:36:54 1353

原创 EXT4文件系统之间接块的ext4_get_block()

static int ext4_alloc_branch(handle_t *handle, struct inode *inode, ext4_lblk_t iblock, int indirect_blks, int *blks, ext4_fsblk_t goal, ext4_lblk_t *offsets, Indirect *branch)

2017-12-06 11:34:39 1026

原创 EXT4文件系统之ext4_fill_super()

EXT4文件系统之ext4_fill_super()一.概述    在磁盘挂载的时候文件系统需要从磁盘中读取超级块来填充内存中的结构,EXT4文件系统超级块的填充是由函数ext4_fill_super()来完成的。在EXT4文件系统中,磁盘上的超级块结构是与结构体structext4_super_block的定义是一致的,大小是1K,即1024个字节。顺便提下,EXT3文件系统超级块在磁盘...

2017-11-26 21:10:26 2343

原创 EXT4文件系统的磁盘布局

EXT4文件系统的磁盘布局一.磁盘空间的计算EXT4文件系统是从EXT2/EXT3文件系统上继承和发展而来的,EXT4也使用EXT2/EXT3的一些元数据的概念,如超级块,块组描述符,块组位图,节点位图,节点数据,在EXT2/EXT3中还有间接数据块,EXT4的节点如果不用content结构的话,也应该有间接数据块的概念,因为EXT4在某些情况下会与EXT3文件系统兼容。在EXT2/E

2017-11-11 16:08:46 4327

原创 EXT3日志文件系统之address_space_operation

EXT3日志文件系统之address_space_operation一.前言Ext3文件系统具有日志的功能,有三种日志模式,journal, ordered, writeback。但是EXT3文件系统的磁盘结构与EXT2文件系统是一样的,EXT3的日志可以是一个文件(此时inode的节点号是8),也可以保存在某个分区上。二.与具体日志模式结合的写文件函数static const s

2017-11-04 13:35:57 1023

原创 EXT3文件系统的日志模式

EXT3文件系统的日志模式Ext3文件系统有三种日志模式:1.      Journal日志文件系统所有数据和元数据的改变都被记入日志。这种模式减少了丢失每个文件修改的机会,但是它需要很多额外的磁盘访问。例如,当一个新文件被创建时,它的所有数据块都必须复制一份作为日志记录。这是最安全和最慢的EXT3日志模式。2.      Ordered预定只有对文件系统元数据的改变才

2017-10-17 20:08:59 1379

翻译 How to use Ext4 如何使用EXT4

How to use Ext4 如何使用EXT4https://kernelnewbies.org/Ext4 有以下三种方式使用EXT4文件系统:一.创建新的EXT4文件系统对于新文件系统的安装,最简单也是推荐的方法,使用工具mkfs.ext4二.将现有的EXT3文件系统迁移到EXT4使用tune2fs和fsck文件系统工具,先卸载原有的分区,执行Tune2fs –

2017-10-17 19:37:32 490

原创 eMMC ext4综述

eMMC ext4综述一.系统的引导启动1.1系统的引导启动https://javigon.com/2012/08/24/from-poweron-to-android-the-boot-sequence/ 通常,引导设备的块0包含着主引导记录(MasterBoot Record MRB),这个块包含着设备分区表(partition table)的信息。当设备加电启动的时候

2017-10-12 14:22:09 4887

原创 Glibc-2.18编译

Glibc-2.18编译1.      下载gcc编译器,在www.kernel.org 2.      配置编译器exportPATH=$PATH:/home/super4412/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin make ARCH=armCROSS_COMPILE=arm-unknown-linux-gnuea

2017-10-09 14:05:06 2494

原创 openwrt小结

openwrt小结工作中用了一段时间的openwrt,将部分经验写下来以作为小结。一.OPENWRT目录解析: Makemenuconfig Makekernel_menuconfig 1.      编译整体工程Make V=s 2.      编译某个具体的应用make package/ptpc/compile V=s cd ./package/

2017-10-09 14:01:39 362

转载 打开Linux内核启动早期的log

打开Linux内核启动早期的log有时会遇到当在u-boot中执行完bootm后,打印出start kernel后串口就没有再输出任何信息了。此时就需要打开内核早期的log:makemenuconfig  Kernel hacking --->      [*] Kernel low-level debugging functions(read

2017-08-22 22:31:13 3502

原创 Transmission框架解析

Transmission框架解析一.概述因工作需要,接触了一下transmission, 了解了一下它的框架,但是没有做进一步的开发,此处作为笔记打个标记。transmission是开源的bt下载工具,可以兼容linux和windows环境;Bt协议可以参考网站:http://www.bittorrent.org/;在transmission代码中使

2017-08-22 22:20:05 2207

原创 linux各个版本的changelog

linux各个版本的changeloghttps://kernelnewbies.org/LinuxVersions

2017-03-31 21:19:16 2532

转载 ext4的extent解析

ext4的extent解析http://blog.csdn.net/kai_ding/article/details/9958031概述        前面我们在阐述ext2文件系统实现原理的时候了解到,ext2文件系统采用了直接+多级间接映射的方式来存储逻辑块号到物理块号的映射关系。这种方式不仅实现起来较为复杂,而且在面对大文件的时候效率较为低下,且会浪费很多的间接块以存储映

2017-01-31 21:56:58 4547

转载 ext4的延迟分配

ext4的延迟分配http://blog.csdn.net/kai_ding/article/details/9914629Ext4文件系统在应用程序调用write的时候并不为缓存页面分配对应的物理磁盘块,当文件的缓存页面真正要被刷新至磁盘中时,ext4会为所有未分配物理磁盘块的页面缓存分配尽量连续的磁盘块。        Linux文件系统Vfs层总是将应用程序的写入请求

2017-01-31 21:53:45 2684

转载 ext4文件系统综述

 ext4文件系统综述 http://blog.csdn.net/kai_ding/article/details/9914619从本篇博客起,我们开始研究现代文件系统ext4,说其现代是因为其相比传统文件系统,有着更现代化的设计。这些先进的特性体现在本文所要叙述的以下方面。        Ext4是Linux文件系统的一次革命。在很多方面,Ext4相对于Ext3的进步要远

2017-01-31 21:50:41 396

转载 剖析 ext4

剖析 ext4 转自:http://www.ibm.com/developerworks/cn/linux/l-anatomy-ext4/index.html了解第 4 个扩展文件系统第 4 个扩展文件系统,即 ext4,是下一代的日志文件系统,它与上一代文件系统 ext3 是向后兼容的。尽管 ext4 目前还不是标准文件系统,但它将成为大部分下一代 Linux® 发行

2017-01-20 22:00:43 497

原创 linux内核栈和用户栈(二)

linux用户栈和内核栈(二)一.中断向量ARM执行的时候,有时会产生中断,根据中断的来源不同,执行不同的中断向量:中断向量地址异常中断类型异常中断模式优先级(6最低)0x0复位SVC

2016-07-12 22:59:22 629

原创 linux内核栈和用户栈

Linux内核栈和用户栈一.概述Linux进程在运行的时候有不同的状态,可以有用户态、内核态、中断异常状态,用户态由于系统调用等原因可以进入内核态,或者产生外部中断则执行中断流程。同时由于函数的调用需要进行压栈和出栈的操作,cpu硬件以arm为例存在栈指针,arm不同的运行模式下分别有对应的栈操作SP寄存器。简单的说,linux进程用户态有用户栈,内核态有内核栈

2016-05-24 22:58:52 2187

arm linux内核源码剖析1

ARM Linux内核源码剖析,详细分析了linux的启动流程

2016-09-10

arm linux内核源码剖析0

ARM Linux内核源码剖析,详细分析了linux的启动流程

2016-09-10

洞悉linux下的netfilter&iptables

洞悉linux下的netfilter&iptables, 根据博客整理而成

2014-07-06

linux内核裁剪论文

压缩包中是关于linux裁剪的论文: ELF目标文件的裁剪方法研究 Linux操作系统内核裁剪的分析 基于ARMLinux和S3C2440的嵌入式Linux内核设计 基于ARM的Linux系统移植研究与实现 一种面向应用的嵌入式Linux内核混合裁剪方法 嵌入式Linux中的关键技术研究 嵌入式linux系统的裁剪优化和测试技术 嵌入式Linux内核裁剪的具体过程和方法的研究 面向应用的嵌入式Linux裁剪方法研究与实现 基于调用图的嵌入式Linux裁剪技术研究 基于ARM的嵌入式linux内核裁剪及移植

2013-08-21

深入浅出Linux工具与编程-网络编程

深入浅出Linux工具与编程(余国平)-网络编程,只有部分 第17章 网络知识基础 402 17.1 网络体系结构及协议 402 17.1.1 网络体系结构概念 402 17.1.2 TCP/IP模型 405 17.1.3 网络分类与广域网 407 17.1.4 网络地址 410 17.2 TCP/IP协议簇报文格式 412 第18章 Socket编程 416 18.1 套接字说明及函数说明 416 18.1.1 套接字说明 416 18.1.2 Socket地址说明及转换函数 419 18.1.3 Socket主要函数说明 424 18.2 TCP套接字编程 432 18.2.1 TCP套接字编程模型 432 18.2.2 迭代服务器编程 436 18.2.3 并发服务器编程 437

2013-08-20

USB技术及应用设计

USB(通用串行总线)是一种计算机外设连接规范,简单地说,是一种计算机外围串行通讯接品标准。具有即插即用、数据传输可靠、扩展方便、低成本等优点,已成为当前计算机必备的接口之一,同时也做广泛地应用于嵌入式系统设计中。 本书采用理论与实际应用相结合的方式,一方面详细地分析了USB系统总线的体系结构,包括组结构、数据编码、通讯原理和最新的USB 2.0及OTG(On-The-Go)技术,另一方面对其应用系统的软硬件设计进行了描述。作者通过对USB主机和USB设备系统开发和Linux USB子系统的分析,阐述了USB系统软硬件的结构和实现。 本书的特点的全面、实用、条理清晰、通俗易懂,给出的实例都具有典型的代表性和实用性,结构全本书描述的硬件设计及驱动程序的开发和调试,让读者能够初步具备独立的设计和开发能力。 本书既适合开发USB系统主机端(Host)及设备端(Device/Hub)的工程技术人员作为参考资料,也适合作为USB系统的初学者全面了解USB系统入门教材。对开发嵌入式系统,特别是开发嵌入式USB主机端的人员,本书是一本难得的参考用书。

2013-08-19

arm嵌入式C编程标准教程(随书代码)

随书源码包 /////////////////////////////////// 本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/D(D/A)转换控制等。   本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。 目录 第1章 ARM技术简介  1.1 ARM处理器简介  1.2 ARM体系结构的发展  1.3 ARM体系结构的存储器格式  1.4 习题与练习  第2章 ADS 1.2开发环境创建与简介  2.1 ADS 1.2开发环境创建  2.2 ADS集成开发环境的使用  2.3 用AXD进行代码仿真、调试  2.4 ARM C语言程序的基本规则和系统初始化程序  2.5 习题与练习  第3章 ARM9芯片S3C2410的片上资源  3.1 S3C2410处理器介绍  3.2 S3C2410处理器片上资源的定义和使用  3.3 编程参考软件包2410TEST  3.4 习题与练习  第4章 S3C2410的中断系统  4.1 S3C2410的处理器中断  4.2 中断控制  4.3 S3C2410中断源  4.4 中断控制专用寄存器  4.5 中断控制程序编写步骤  4.6 本章实验例程  4.7 习题与练习 第5章 S3C2410的I/O口和I/O口操作  5.1 S3C2410 I/O口描述  5.2 I/O端口控制寄存器  5.3 I/O口操作步骤  5.4 本章实验例程  5.5 习题与练习  第6章 S3C2410的串口UART及编程  6.1 S3C2410的串口UART概述  6.2 UART的控制寄存器  6.3 UART通信程序编写  6.4 本章实验例程  6.5 实验参考程序  6.6 红外数据通信简介  6.7 习题与练习  第7章 ADC和触摸屏控制  7.1 触摸屏结构和工作原理  7.2 S3C2410的触摸屏控制  7.3 触摸屏控制程序编写  7.4 本章实验例程  7.5 习题与练习  第8章 S3C2410的实时时钟(RTC)  第9章 S3C2410的LCD显示  第10章 直接存储器存取(DMA)控制  第11章 脉宽调制(PWM)及S3C2410的PWM控制  第12章 看门狗(Watchdog)电路  第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制  第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制  第15章 串行外设接口(SPI)介绍 第16章 S3C2410的A/D、D/A转换控制 

2013-08-18

ARM嵌入式C编程标准教程4

共四个分卷,此为分卷04; 本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/D(D/A)转换控制等。   本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。 目录 第1章 ARM技术简介  1.1 ARM处理器简介  1.2 ARM体系结构的发展  1.3 ARM体系结构的存储器格式  1.4 习题与练习  第2章 ADS 1.2开发环境创建与简介  2.1 ADS 1.2开发环境创建  2.2 ADS集成开发环境的使用  2.3 用AXD进行代码仿真、调试  2.4 ARM C语言程序的基本规则和系统初始化程序  2.5 习题与练习  第3章 ARM9芯片S3C2410的片上资源  3.1 S3C2410处理器介绍  3.2 S3C2410处理器片上资源的定义和使用  3.3 编程参考软件包2410TEST  3.4 习题与练习  第4章 S3C2410的中断系统  4.1 S3C2410的处理器中断  4.2 中断控制  4.3 S3C2410中断源  4.4 中断控制专用寄存器  4.5 中断控制程序编写步骤  4.6 本章实验例程  4.7 习题与练习 第5章 S3C2410的I/O口和I/O口操作  5.1 S3C2410 I/O口描述  5.2 I/O端口控制寄存器  5.3 I/O口操作步骤  5.4 本章实验例程  5.5 习题与练习  第6章 S3C2410的串口UART及编程  6.1 S3C2410的串口UART概述  6.2 UART的控制寄存器  6.3 UART通信程序编写  6.4 本章实验例程  6.5 实验参考程序  6.6 红外数据通信简介  6.7 习题与练习  第7章 ADC和触摸屏控制  7.1 触摸屏结构和工作原理  7.2 S3C2410的触摸屏控制  7.3 触摸屏控制程序编写  7.4 本章实验例程  7.5 习题与练习  第8章 S3C2410的实时时钟(RTC)  第9章 S3C2410的LCD显示  第10章 直接存储器存取(DMA)控制  第11章 脉宽调制(PWM)及S3C2410的PWM控制  第12章 看门狗(Watchdog)电路  第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制  第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制  第15章 串行外设接口(SPI)介绍 第16章 S3C2410的A/D、D/A转换控制 

2013-08-18

ARM嵌入式C编程标准教程

共四个分卷,此为分卷03; 本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/D(D/A)转换控制等。   本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。 目录 第1章 ARM技术简介  1.1 ARM处理器简介  1.2 ARM体系结构的发展  1.3 ARM体系结构的存储器格式  1.4 习题与练习  第2章 ADS 1.2开发环境创建与简介  2.1 ADS 1.2开发环境创建  2.2 ADS集成开发环境的使用  2.3 用AXD进行代码仿真、调试  2.4 ARM C语言程序的基本规则和系统初始化程序  2.5 习题与练习  第3章 ARM9芯片S3C2410的片上资源  3.1 S3C2410处理器介绍  3.2 S3C2410处理器片上资源的定义和使用  3.3 编程参考软件包2410TEST  3.4 习题与练习  第4章 S3C2410的中断系统  4.1 S3C2410的处理器中断  4.2 中断控制  4.3 S3C2410中断源  4.4 中断控制专用寄存器  4.5 中断控制程序编写步骤  4.6 本章实验例程  4.7 习题与练习 第5章 S3C2410的I/O口和I/O口操作  5.1 S3C2410 I/O口描述  5.2 I/O端口控制寄存器  5.3 I/O口操作步骤  5.4 本章实验例程  5.5 习题与练习  第6章 S3C2410的串口UART及编程  6.1 S3C2410的串口UART概述  6.2 UART的控制寄存器  6.3 UART通信程序编写  6.4 本章实验例程  6.5 实验参考程序  6.6 红外数据通信简介  6.7 习题与练习  第7章 ADC和触摸屏控制  7.1 触摸屏结构和工作原理  7.2 S3C2410的触摸屏控制  7.3 触摸屏控制程序编写  7.4 本章实验例程  7.5 习题与练习  第8章 S3C2410的实时时钟(RTC)  第9章 S3C2410的LCD显示  第10章 直接存储器存取(DMA)控制  第11章 脉宽调制(PWM)及S3C2410的PWM控制  第12章 看门狗(Watchdog)电路  第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制  第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制  第15章 串行外设接口(SPI)介绍 第16章 S3C2410的A/D、D/A转换控制 

2013-08-18

ARM嵌入式C编程标准教程2

共四个分卷,此为分卷02; 本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/D(D/A)转换控制等。   本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。 目录 第1章 ARM技术简介  1.1 ARM处理器简介  1.2 ARM体系结构的发展  1.3 ARM体系结构的存储器格式  1.4 习题与练习  第2章 ADS 1.2开发环境创建与简介  2.1 ADS 1.2开发环境创建  2.2 ADS集成开发环境的使用  2.3 用AXD进行代码仿真、调试  2.4 ARM C语言程序的基本规则和系统初始化程序  2.5 习题与练习  第3章 ARM9芯片S3C2410的片上资源  3.1 S3C2410处理器介绍  3.2 S3C2410处理器片上资源的定义和使用  3.3 编程参考软件包2410TEST  3.4 习题与练习  第4章 S3C2410的中断系统  4.1 S3C2410的处理器中断  4.2 中断控制  4.3 S3C2410中断源  4.4 中断控制专用寄存器  4.5 中断控制程序编写步骤  4.6 本章实验例程  4.7 习题与练习 第5章 S3C2410的I/O口和I/O口操作  5.1 S3C2410 I/O口描述  5.2 I/O端口控制寄存器  5.3 I/O口操作步骤  5.4 本章实验例程  5.5 习题与练习  第6章 S3C2410的串口UART及编程  6.1 S3C2410的串口UART概述  6.2 UART的控制寄存器  6.3 UART通信程序编写  6.4 本章实验例程  6.5 实验参考程序  6.6 红外数据通信简介  6.7 习题与练习  第7章 ADC和触摸屏控制  7.1 触摸屏结构和工作原理  7.2 S3C2410的触摸屏控制  7.3 触摸屏控制程序编写  7.4 本章实验例程  7.5 习题与练习  第8章 S3C2410的实时时钟(RTC)  第9章 S3C2410的LCD显示  第10章 直接存储器存取(DMA)控制  第11章 脉宽调制(PWM)及S3C2410的PWM控制  第12章 看门狗(Watchdog)电路  第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制  第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制  第15章 串行外设接口(SPI)介绍 第16章 S3C2410的A/D、D/A转换控制 

2013-08-18

ARM嵌入式C编程标准教程01

共四个分卷,此为分卷01; 本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、SPI接口、A/D(D/A)转换控制等。   本书由浅入深、循序渐进、实例丰富、步骤详细,适合嵌入式开发人员参考,也可作为高校嵌入式相关专业教材使用。 目录 第1章 ARM技术简介  1.1 ARM处理器简介  1.2 ARM体系结构的发展  1.3 ARM体系结构的存储器格式  1.4 习题与练习  第2章 ADS 1.2开发环境创建与简介  2.1 ADS 1.2开发环境创建  2.2 ADS集成开发环境的使用  2.3 用AXD进行代码仿真、调试  2.4 ARM C语言程序的基本规则和系统初始化程序  2.5 习题与练习  第3章 ARM9芯片S3C2410的片上资源  3.1 S3C2410处理器介绍  3.2 S3C2410处理器片上资源的定义和使用  3.3 编程参考软件包2410TEST  3.4 习题与练习  第4章 S3C2410的中断系统  4.1 S3C2410的处理器中断  4.2 中断控制  4.3 S3C2410中断源  4.4 中断控制专用寄存器  4.5 中断控制程序编写步骤  4.6 本章实验例程  4.7 习题与练习 第5章 S3C2410的I/O口和I/O口操作  5.1 S3C2410 I/O口描述  5.2 I/O端口控制寄存器  5.3 I/O口操作步骤  5.4 本章实验例程  5.5 习题与练习  第6章 S3C2410的串口UART及编程  6.1 S3C2410的串口UART概述  6.2 UART的控制寄存器  6.3 UART通信程序编写  6.4 本章实验例程  6.5 实验参考程序  6.6 红外数据通信简介  6.7 习题与练习  第7章 ADC和触摸屏控制  7.1 触摸屏结构和工作原理  7.2 S3C2410的触摸屏控制  7.3 触摸屏控制程序编写  7.4 本章实验例程  7.5 习题与练习  第8章 S3C2410的实时时钟(RTC)  第9章 S3C2410的LCD显示  第10章 直接存储器存取(DMA)控制  第11章 脉宽调制(PWM)及S3C2410的PWM控制  第12章 看门狗(Watchdog)电路  第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制  第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制  第15章 串行外设接口(SPI)介绍 第16章 S3C2410的A/D、D/A转换控制 

2013-08-18

《Android应用开发实战(第2版)》(李宁)新代码121126.zip

《Android应用开发实战(第2版)》的配套代码

2013-07-22

GSM数字移动通信工程

通信工程丛书,GSM数字移动通信工程,孙孺石,丁怀元编著;主要介绍了GSM网络系统

2012-08-04

通信软件设计基础

本书针对通信软件的特点,介绍了几种适用于通信软件需求分析阶段和设计阶段的形式化语言,包括通用建模语言UML、消息跟踪语言MSC和规格说明与描述语言SDL,重点介绍了在电信领域得到广泛应用的SDL语言。并以设计一个微型交换机软件为例,说明如何运用这些形式化语言进行通信软件的需求分析、概要设计和详细设计。

2012-08-04

threadx user guide

嵌入式操作系统threadx的用户向导,英文

2012-08-03

TD-SCDMA第三代移动通信系统、信令及实现

作  者:李小文 等 编著,超星格式 内容简介 本书全面介绍了第三代移动通信系统的体系结构,重点是我国具有自主知识产权的第三代移动通信系统TD-SCDMA技术。与其他介绍第三代移动通信的专著不同的是,本书把介绍的重点放在第三代移动通信技术所涉及的信令体系和实现方法方面。或者说,本书是从系统的角度来描述第三代移动通信系统,而对其涉及到的诸多算法并不作深入的介绍。全书按其自然结构分为上篇和下篇:上篇主要介绍了3GPP定义的第三代移动通信系统的网络结构及接口规范。下篇(从第6章开始)详细介绍了用户终端设备协议栈的开发流程以及开发过程中使用的工具。希望读者通过对协议栈开发流程的阅读,进一步加深对无线空中接口信令规范的理解。 本书与第三代移动通信的发展紧密结合,从协议栈开发的角度来阐述3GPP规范,因而更容易为读者所接受。本书可供从事移动通信系统研究和开发的工程技术人员和科研人员阅读,也可为高等院校通信专业的高年级本科生和研究生提供教学参考和毕业论文参考。 作者简介 目录 上 篇 第1章 概述 3 1.1 第三代移动通信的发展概况 3 1.1.1 第三代移动通信系统(3G)的发展历史 3 1.1.2 第三代移动通信系统概述 4 1.1.3 国际电联关于3G的频谱划分计划 5 1.1.4 3G系统的无线接口标准 6 1.2 IMT-2000介绍 6 1.2.1 TD-SCDMA(IMT-2000 CDMA TDD) 7 1.2.2 WCDMA(IMT-2000 CDMA DS) 9 1.2.3 CDMA 2000(IMT-2000 CDMA MC) 10 1.3 3GPP规范 11 1.3.1 IMT-2000无线接入网与核心网的标准化情况 11 1.3.2 IMT-2000标准化组织结构 11 1.3.3 3GPP2的标准化情况 13 1.3.4 3GPP的标准化进展 14 1.3.5 3GPP文档协议总体介绍 14 1.4 第三代移动通信系统采用的关键技术 18 1.4.1 多用户检测(Multi-user Detection) 18 1.4.2 Turbo编/译码(Turbo Encode/Decode) 24 1.4.3 软件无线电(Software Defined Radio) 26 1.4.4 智能天线(Smart Antenna) 28 第2章 网络结构及接口 32 2.1 网络结构 32 2.1.1 UMTS的通用协议结构 32 2.1.2 UTRAN 33 2.2 Iu接口 38 2.2.1 概述 38 2.2.2 Iu接口协议的功能 41 2.2.3 Iu无线网络层控制平面协议 44 2.2.4 Iu无线网络层用户平面协议 47 2.2.5 服务区广播协议 52 2.3 Iur接口 54 2.3.1 概述 54 2.3.2 Iur接口的协议结构 55 2.3.3 Iur无线网络层控制平面协议 56 2.3.4 Iur公共传输信道数据流用户平面协议 59 2.4 Iub接口 61 2.4.1 概述 61 2.4.2 Iub中Node B的逻辑模型 63 2.4.3 Iub接口的协议结构 65 2.4.4 Iub接口无线网络层控制平面协议 66 2.4.5 Iub 公共传输信道数据流用户平面协议 70 2.4.6 Iur/Iub DCH数据流用户平面协议 71 2.5 Uu接口 74 2.5.1 协议栈的层次结构 74 2.5.2 UE在空闲模式下的任务 74 2.5.3 UE在连接模式下的任务 81 2.6 呼叫建立过程中的网络信令流 81 2.6.1 寻呼过程 81 2.6.2 RRC连接的建立过程 83 2.6.3 DCCH的直接传输过程 87 第3章 物理层规范 89 3.1 物理层向上层提供的服务 89 3.1.1 控制信道 90 3.1.2 传输信道 91 3.1.3 物理层测量 94 3.2 物理信道 97 3.2.1 帧结构 98 3.2.2 时隙结构 99 3.2.3 物理信道的分类 103 3.3 信道的编码与复用 107 3.3.1 CRC校验 109 3.3.2 传输块的级连和分段 109 3.3.3 信道编码 110 3.3.4 无线帧长度均衡 115 3.3.5 第一次交织 115 3.3.6 无线帧分割 116 3.3.7 速率匹配 117 3.3.8 传输信道的复用 123 3.3.9 物理信道分割 124 3.3.10 第二次交织 124 3.3.11 子帧分割 125 3.3.12 物理信道映射 125 3.3.13 信道编码和复用举例 127 3.4 物理层控制信息的编码 131 3.4.1 传输格式组合指示(TFCI) 131 3.4.2 前向物理接入信道(FPACH) 134 3.4.3 寻呼指示信道(PICH) 134 3.5 扩频、扰码和调制 135 3.5.1 比特到信号星座图的映射 135 3.5.2 扩频 136 3.5.3 扰码 137 3.5.4 SYNC-DL、SYNC-UL和Midamble码 139 3.5.5 脉冲成形滤波器 139 3.6 物理层过程 140 3.6.1 小区选择 140 3.6.2 UE的功率控制过程 142 3.6.3 上行同步建立-随机接入过程 143 3.7 信道配置举例 146 3.7.1 传输信道信息 148 3.7.2 物理信道信息单元 150 第4章 链路层规范(RLC/MAC) 153 4.1 介质接入控制(MAC)子层 153 4.1.1 MAC子层提供的服务和MAC子层的功能 153 4.1.2 MAC子层的逻辑结构 154 4.1.3 逻辑信道和传输信道之间的映射 155 4.1.4 MAC实体 157 4.1.5 层间通信 163 4.1.6 对等层通信 165 4.1.7 基本过程 165 4.2 无线链路控制(RLC)子层 168 4.2.1 RLC子层的总体模型 169 4.2.2 RLC子层支持的功能 169 4.2.3 RLC子层提供给高层的服务 170 4.2.4 RLC子层与高层(RRC、PDCP、BMC)的层间通信原语 171 4.2.5 透明模式(TM)实体 172 4.2.6 非确认模式(UM)实体 175 4.2.7 确认模式(AM)实体 177 4.3 分组数据汇聚协议(PDCP)子层 188 4.3.1 协议结构 188 4.3.2 PDCP子层的功能 189 4.3.3 层间通信 190 4.3.4 对等层通信 191 4.4 广播/多播控制(BMC)子层 192 4.4.1 BMC子层的协议模型 192 4.4.2 BMC子层的服务和功能 193 4.4.3 层间通信 193 4.4.4 基本过程 195 第5章 空中接口层3规范 197 5.1 无线资源控制(RRC)子层 197 5.1.1 RRC子层的协议模型 197 5.1.2 RRC子层的状态和状态转移 200 5.1.3 RRC连接管理 203 5.1.4 无线承载控制 210 5.1.5 RRC连接移动性管理 212 5.1.6 测量过程 215 5.1.7 RRC连接建立过程的消息流图 218 5.2 非接入层 224 5.2.1 移动性管理(MM) 224 5.2.2 连接管理(CM) 235 5.3 空中接口的层3消息结构 243 5.3.1 基于字节的表描述 243 5.3.2 基于比特流的表描述 244 5.3.3 ASN.1描述 245 下 篇 第6章 UE任务描述 253 6.1 TSM标准 253 6.1.1 系统简介 253 6.1.2 TSM规范的结构 254 6.1.3 TSM规范与TD-SCDMA的差异 255 6.2 空闲模式 256 6.2.1 PLMN的选择过程 257 6.2.2 小区选择/重选过程 258 6.2.3 位置登记过程 261 6.3 RR连接建立 261 6.3.1 接入允许判断 262 6.3.2 上行同步的建立 262 6.3.3 随机接入 262 6.3.4 主信令链路的建立 263 6.3.5 RR连接建立过程中的其他任务 263 6.4 专有模式 264 6.4.1 SACCH过程 264 6.4.2 信道指派 264 6.4.3 切换 265 6.4.4 信道模式改变 265 6.4.5 加密模式设置 266 6.4.6 类标改变 266 6.4.7 类标询问 266 6.4.8 RR连接释放 266 6.4.9 服务小区/邻近小区的测量 267 第7章 原语及状态描述 268 7.1 系统结构 268 7.1.1 系统模块组成 268 7.1.2 系统接口 270 7.2 物理控制层(HL1) 271 7.2.1 原语定义 271 7.2.2 物理控制层的状态划分 272 7.3 数据链路层(DL) 277 7.3.1 原语定义 277 7.3.2 数据链路层的状态划分 278 7.4 无线资源管理(RRM)子层 282 7.4.1 原语定义 282 7.4.2 RRM子层的状态划分 283 7.5 移动性管理(MM)子层 292 7.5.1 原语定义 292 7.5.2 MM子层的状态划分 293 7.5.3 MM子层的状态跃迁及原语 294 7.6 连接管理(CM)子层 302 7.6.1 原语定义 302 7.6.2 CC子层的状态划分及跃迁 303 第8章 规范描述语言(SDL)描述 315 8.1 SDL的基本概念 315 8.1.1 SDL结构 316 8.1.2 数据处理 321 8.2 无线链路控制层(RLC)的SDL描述 322 8.2.1 概述 322 8.2.2 功能 322 8.2.3 与3GPP RLC的比较 323 8.2.4 接口原语定义 324 8.2.5 UE端RLC的状态 325 8.2.6 SDL的实现 325 第9章 仿真及测试 363 9.1 协议一致性测试和互操作性测试 363 9.1.1 协议测试概述 363 9.1.2 协议一致性测试 363 9.1.3 互操作性测试 365 9.2 TSM终端协议测试的模型 365 9.3 TD-SCDMA终端协议测试参照的标准和主要的测试项目 367 9.3.1 CC子层的测试 367 9.3.2 MM子层的测试 367 9.3.3 RR子层的测试 368 9.3.4 L2层的测试 369 9.3.5 HL1层的测试 369 9.3.6 整体测试 370 9.4 树表结合表示法--TTCN 370 9.4.1 测试目的 371 9.4.2 测试流程 371 9.4.3 TTCN的实现 372 9.5 SDL和TTCN协仿真的结果 373 9.6 在线测试 377 9.6.1 测试环境 377 9.6.2 有限状态机实现 381 9.6.3 测试过程 383 9.6.4 测试过程举例 384 附录A SDL使用指南 387 A.1 SDL软件安装 387 A.2 操作介绍 388 A.3 生成运行代码 393 附录B TTCN使用指南 400 B.1 概述 400 B.2 几个概念 400 B.3 测试模型 401 B.4 TTCN的Test Suite结构 401 B.5 TTCN Suite的组成 402 B.6 TTCN测试例的构造过程 405 B.7 一个假想的X协议和其IUT 405 B.8 基于X协议IUT的TTCN Test Suite的实现 408 B.9 SDL到TTCN-LINK自动转换步骤 423 B.10 TTCN和SDL的协仿真 424 附录C OMAP1510简介 426 C.1 概述 426 C.2 硬件结构 426 C.2.1 OMAP1510结构 426 C.2.2 OMAP1510外围接口 427 C.3 软件结构 430 缩略语 431 参考文献 437

2012-08-03

nucleus plus 实时操作系统分析报告

nucleus plus 实时操作系统分析报告

2012-07-06

linux和u-boot移植开发

两篇文档,1)mini2440 linux移植开发实战指南, 2)mini2440 u-boot使用及移植详细手册

2012-07-06

nucleus plus reference manual

关于nucleus plus的参考手册,有接口函数的讲解,和实例

2012-07-04

ARM79出品-Uboot移植手册

U-BOOT移植,uboot-1.2.0,移植到2440上。

2012-07-04

深入浅出Linux工具与编程-进程间通信

从豆丁网上转载的,《深入浅出Linux工具与编程》-进程间通信,余国平著 第14章 Linux进程间通信——管道与信号  14.1 进程间通信概述  14.2 管道   14.2.1 pipe管道   14.2.2 标准流管道   14.2.3 命名管道(FIFO)  14.3 信号   14.3.1 信号概述   14.3.2 信号的发送和捕捉函数   14.3.3 信号的处理 第15章 System V进程间通信  15.1 System V进程间通信的键值  15.2 消息队列   15.2.1 消息队列简要说明   15.2.2 消息队列函数   15.2.3 消息队列使用程序范例  15.3 信号量   15.3.1 信号量简要说明   15.3.2 信号量函数   15.3.3 信号量应用程序示例  15.4 共享内存   15.4.1 共享内存简要说明   15.4.2 共享内存函数   15.4.3 共享内存应用范例

2012-06-29

深入浅出linux工具与编程(进程间通信部分)

看了书感觉不错,所以找份电子版备份一下,从豆丁网上转载的,深入浅出linux工具与编程(进程间通信部分),余国平著。 第14章 Linux进程间通信——管道与信号  14.1 进程间通信概述  14.2 管道   14.2.1 pipe管道   14.2.2 标准流管道   14.2.3 命名管道(FIFO)  14.3 信号   14.3.1 信号概述   14.3.2 信号的发送和捕捉函数   14.3.3 信号的处理 第15章 System V进程间通信  15.1 System V进程间通信的键值  15.2 消息队列   15.2.1 消息队列简要说明   15.2.2 消息队列函数   15.2.3 消息队列使用程序范例  15.3 信号量   15.3.1 信号量简要说明   15.3.2 信号量函数   15.3.3 信号量应用程序示例  15.4 共享内存   15.4.1 共享内存简要说明   15.4.2 共享内存函数   15.4.3 共享内存应用范例

2012-06-29

深入理解linux虚拟内存管理

Understanding_The_Linux_Virtual_Memory_manager,深入理解linux虚拟内存管理,讲的是linux 2.4.22的内核,英文版chm格式,

2012-02-29

数据结构C++ 语言描述(William Ford,William Topp)

【作者】 William Ford,William Topp 【译者】 刘卫东 沈官林 【丛书名】 世界着名计算机教材精选 【出版社】 清华大学出版社

2012-02-09

compressed image file format (压缩图形文件格式)

压缩图形文件格式 jpeg png gif bmp 格式,介绍了各种图形文件的格式

2011-11-22

深度探索C++对象模型

深度探索C++对象模型,好书,不用多说了,侯捷翻译的。

2011-04-26

linux C函数库参考手册

linux C函数库参考手册,不错的资料。

2011-04-24

linux设备驱动编程 第三版

linux设备驱动编程第三版,英文,CHM格式

2011-03-06

空空如也

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

TA关注的人

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