【原创】基于嵌入式系统的内存区域Zone
Linux通过伙伴算法管理和分配页,但由于硬件的原因,内存中的不同区域会有不同的特性。主要有以下两个问题:1)一些硬件只能用某些特定的内存地址来执行DMA;2)一些体系结构中有一些内存不能永久映射到内核空间上。}因此某些内存必须从特定区域上分配,不能由单一的伙
发表于 2015/8/19 9:55:45
阅读(1690)
【原创】基于嵌入式系统的高端内存问题
在一般情况下,Linux在初始化时,总是尽可能的将所有的物理内存映射到内核地址空间中去。如果内核地址空间起始于0xC0000000,为vmalloc保留的虚拟地址空间是128M,那么最多只能有(1G-128M)的物理内存直接映射到内核空间中,内核可以直接访问。如果还有更多的物理内存,
发表于 2015/8/10 15:37:56
阅读(2172)
【原创】基于嵌入式系统的kmalloc解密
kmalloc很像一个最能干的管家。kmalloc内存分配函数和应用层的malloc函数很相似,只是这个函数运行得很快-一除非它被阻塞。它不清零它获得的内存空间,分配给它的区域仍存放着原有的数据。kmalloc函数在<linux/slab.h>中定义,实际上,它是通过下一层的__kmalloc
发表于 2015/8/10 15:32:59
阅读(1757)
【原创】嵌入式系统的NFS文件系统的搭建
NFS为NetworkFileSystem的简称,最早是由Sun公司提出发展起来的,其目的就是让不同的机器、不同的操作系统之间通过网络可以彼此共享文件。NFS可以让不同的主机通过网络将远端的NFS服务器共享出来的文件安装到自己的系统中,从客户端看来,使用NFS的远端文件就像是使用本
发表于 2015/7/24 16:56:22
阅读(2192)
【原创】嵌入式系统为什么需要文件系统?
嵌入式系统为什么需要文件系统?首先看一下如果没有文件系统会有什么情况发生。嵌入式Linux也支持多种文件系统。虽然在嵌入式中,由于资源受限的原因,它的文件系统和PC机Linux的文件系统有较大的区别,但是,它们的总体架构是一样的,都是采用目录树的结构。在嵌入式中
发表于 2015/7/24 16:50:06
阅读(2666)
【原创】嵌入式系统中如何下载映像到开发板
经常会有一种情况就是有了一个系统的映像,我该如何把这个映像下载到开发板呢?今天我就写一下这个问题。1.串口下载使用串口下载需要特定的下载软件,如优龙公司的DNW软件在DNW中也要设置“波特率”、“端口号”在配置完之后,单击“SerialPort”下的“Connect”,再将
发表于 2015/7/11 16:53:24
阅读(2280)
【原创】嵌入式系统中超级终端和Minicom配置及使用
众所周知,搭建交叉编译环境是嵌入式开发的第一步,也是必备一步。在搭建环境的过程中经常会涉及到中超级终端和Minicom,今天就给大家分享一下这个问题。1.超级终端打开Windows下的“开始”→“附件”→“通讯”→“超级终端”设置串口连接参数:波特率:115200,数据
发表于 2015/7/11 16:47:54
阅读(2377)
【原创】嵌入式系统中设备号的意义
设备号:设备号主要是用查找设备对象用的。格式:设备号由主设备号和次设备号组成。一般的,主设备用来表征一类设备,次设备号用来表示该设备是第几个。内核函数:声明头文件:linux/kdev_t.h/**功能:组装设备号*参数:*intmajor主设备号*intm
发表于 2015/6/20 17:53:29
阅读(2179)
【原创】嵌入式字符设备驱动概述
成都六月天,阴沉沉的,最近在做驱动,今天给大家写一下相关的内容。声明头文件:linux/cdev.hstructcdev{...structmodule*owner;//一般是THIS_MODULE&n
发表于 2015/6/20 17:49:31
阅读(1819)
【原创】Linux系统调用及用户编程接口
系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程之间的通信等。在Linux中,用户编
发表于 2015/6/10 16:36:55
阅读(2426)
【原创】嵌入式Linux串口应用编程
串口是计算机一种常用的接口,常用的串口有RS-232-C接口。它是于1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准,它的全称是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技
发表于 2015/6/10 16:30:41
阅读(2498)
【原创】Linux 系统之平衡树(红黑树)
之所以称为红黑树的原因就在于它的每个节点都被着色为红色或黑色。这些节点颜色被用来检测树的平衡性。但需要注意的是,红黑树并不是严格意义上的平衡二叉树,恰恰相反,红黑树放松了平衡二叉树的某些要求,由于一定限度的不平衡,红黑树的性能得到了提升。从根节点到叶
发表于 2015/5/21 17:10:59
阅读(2724)
【原创】ARM Linux中链表使用实例
链表是一种常见的重要数据结构,它可以动态地进行存储分配,根据需要开辟内存单元,还可以方便地实现数据的增加和删除。链表中的每个元素都由两部分组成:数据域和指针域。其中,数据域用于存储数据元素的信息,指针域用于存储该元素的直接后继元素的位置。在ARMLinux中
发表于 2015/5/21 17:04:58
阅读(3488)
【原创】Android-2.1如何通过Ethernet 上网
Android下能够使用板载的DM9000A上网,不过前提是设置好网络环境,主要是需要根据自己的网络情况修改dns、ip、gateway等,修改方式如下:1.首先是dns的添加。修改Android根文件系统中/init.rc脚本的内容,增加下面红色字体部分:#DefineTCPbuffersizesforvariousnetwork
发表于 2015/5/10 16:34:07
阅读(2403)
【原创】基于6410的Android-2.1系统编译
6410以其处理速度和存储容量的优势在近年来得到飞速发展,今天我写一下如何对6410板子编译Android-2.1系统,我用的板子名称是ETC6410。具体分为如下几个步骤:1、我们在android-2.1源码下提供了一个编译脚本android_build.sh,这个脚本会自动编译android源码,并制作好
发表于 2015/5/10 16:31:58
阅读(2694)