Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux MMC/SD/SDIO体系结构

Linux MMC/SD/SDIO体系结构

有关MMC/SD/SDIO相关的知识这里就不多讲了,请参考相关资料。这里主要涉及Linux下MMC相关内容。内核版本(2.6.36)首先说一下Linux相关MMC的代码分布,主要有两个目录,一个头文件目录和一个源代码目录。分别位置如下:include/linux/mmcdrivers/mmc要阅读MMC相关代码就必须要看这两个目录。在drivers/mmc目录下分别有三个子目录,其将对应接下来要讲的MMC的体系结构。这三个子目录分别为:cardcoreho...
Arm Linux 优化

Arm Linux 优化

ARM Linux的优化主要涉及部分:1.内核部分2.应用程序部分两者的主要区别在于:内核没有使用标准C库和涉及浮点运算。所以在针对内核和应用程序优化上有所区别。优化一般涉及两个方面:空间和时间。一般情况我们只能选择最优,两种不可兼得。不过随着ARM新的核A15的推出(据说速度可以达到2.5G,看来ARM的野心也不小,虽然WINDOWS系统还不支持ARM,未来也不不一定)以及现在存储的技术和性价比不断提升,将来的开发主要应该会走PC的路,注重功能和可复用,...
嵌入式Linux加载引导内核和根文件系统的方法

嵌入式Linux加载引导内核和根文件系统的方法

总体来说,嵌入式Linux内核和根文件的引导与PC机差不多。嵌入式linux内核和根文件系统可以存放在各种可能的存储设备中,一般情况下我们将内核和根文件系统直接烧入到Flash中(包括NOR和NAND flash),这种方法的缺点是在内核和根文件系统出现修改时我们就不得不得重新对flash进行擦除和烧写工作,这个非常耗时,在产品开发调试阶段非常不适合,只有在最终成品时才比较适用。哪在开发阶段采用哪种方式比较好呢?先还是看看现在都有些常用的存储设备吧。我们常...
ARM GCC工具链有关的使用总结

ARM GCC工具链有关的使用总结

使用GCC工具链有那么久了,对其也有所了解了。主要用它来编译ARM平台的一些代码。下面是使用时的一些总结:1.GCC工具链对文件命是区分大小的。这个可能与它有关的系统有关,像UINX/LINUX这类系统,文件命是区分大小的。HELLO.C Hello.C hello.c是三个不同的文件。我们可能不会在同一个项目中使用这样三个文件,但如果我们在命名文件命是把如后缀命写错了就可能出问题了。 .C 和.c是不一样的,.C会被认为是C++语言文件,.c是C语言文件...
Linux内核模块/驱动编程基础

Linux内核模块/驱动编程基础

Linux内核开发时需要注意以下几个问题:1.不能访问C库,内核不能使用标准库。这个可以在编译链接内核以后从内核目录下的.vmlinux.cmd可以看出:arm-xxx-ld -nostdlib ... ... 。不过内核在lib下实现了部分常用的函数,如memset,strcpy这类函数,还有可能针对具体体系结构进行优化的代码,一般在arch/xxx/lib下。2.内核编程使用的GNU C,而不是我们的标准C语言语法。看看内核的代码就知道。3.因为是内核...
Linux系统下DSO同名全局变量浅析

Linux系统下DSO同名全局变量浅析

最近重温了一下《程序员修养》,又搞懂了一些叽里旮旯的问题,现将DSO同名全局变量问题进行简单小结,具体的讲解请看《程序员修养》一书。 程序员的自我修养—链接、装载与库.pdf版下载在Linux公社的1号FTP服务器里,下载地址:FTP地址:ftp://www.linuxidc.com用户名:www.linuxidc.com密码:www.muu.cc在 2011年LinuxIDC.com3月程序员的自我修养—链接、装载与库下载方法见 http://www....
Android 内核 Makefile入门

Android 内核 Makefile入门

Makefile文件极其复杂,语法规则如同江水之多,但是我们本着实用解决问题的原则,只取一瓢,够用就可以。内核模块或者设备驱动开发者经常接触的Makefile语法包含以下几个部分。一:目标定义: 目标定义用来定义哪些内容要作为模块编译,哪些内容要编译进内核。 例如1: obj-y +=foo.o 表示要由foo.c或者foo.s文件编译得到foo.o并连接到内核当中去。 obj-m +=foo.o 表示要由foo.c或者foo.s文件编译得...
Android 往 Framework中添加新的资源

Android 往 Framework中添加新的资源

有时候我们想在标准的Framework中添加自己的新的资源怎么办呢?办法就是我们来尝试下。通过Eclipse的联系,我们可以联想到是否就是简单的把字符串放在res的各个文件夹里面。先来试试看,编译,系统立即报错。为什么呢?它提示你利用make update-api这个命令来更新public.xml文件或者把这个声明称hide类型。这个肯定不是我们想要的。所以方法有二:方法1:正常添加完资源后,执行make update-api函数。系统更新res/valu...
Android 多个APK共享数据(Shared User ID)

Android 多个APK共享数据(Shared User ID)

Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户 (Android 系统是基于Linux)的. 所以不同APK(用户)间互相访问数据默认是禁止的. 但是它也提供了2种APK间共享数据的形式: 1. Share Preference. / Content Provider APK可以指定接口和数据给任何其他APK读取. 需要自己实现接口和Share的数据. 本文对于这个不做详细解释...
<< 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 >>