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

首页 / 操作系统 / Linux

Linux 系统编程:几个宏定义

Linux 系统编程:几个宏定义

__init宏使内建模块中的init函数在执行完成后释放掉,仅用于初始化。编译器将所有代码存储到特殊的内存段中,初始化结束就释放这段内存。__initdata,和__init的作用基本上一样,不过它是针对数据。__exit和__exitdata 仅用于退出和关闭线程,一般在注销设备驱动程序时使用。likely和unlikely 的实现:#define likely(x) __builtin_expect(!!(x),1)#define unlikely(x...
Linux字符设备驱动入门

Linux字符设备驱动入门

先亮一下装备:平台:VMware 7.0 + Linux Ubuntu 3.0.0-12-generic编译器:gcc参考资料:LDD 3功能:实现简单的字符操作(从用户空间向内核空间写入一串字符;从内核空间读一个字符到内核空间) 众所周知,字符设备是linux下最基本,也是最常用到的设备,它是学习Linux驱动入门最好的选择,计算机的东西很多都是相通的,掌握了其中一块,其他就可以触类旁通了。在写驱动前,必须先搞清楚字符设备的框架大概是怎样的,弄清楚了流程...
Uboot下的DRAM的初始化

Uboot下的DRAM的初始化

在G870中,C版的SDRAM为128MB(DDR2),E版的SDRAM为64MB(MDDR),它们在系统存储空间的基地址都为0x8000_0000,具体见iMAX25RM的数据手册: 在uboot中,我们必须设置好这些参数,主要是基地址和SDRAM的大小等。这里主要采用到了uboot的一个全局的结构体变量: bd_t : board info数据结构定义,位于文件 include/asm-arm/u-boot.h。主要是用来保存板子参数。typedef ...
在Eclipse中配置NDK自动编译环境builders

在Eclipse中配置NDK自动编译环境builders

对于NDK的编译,切换到目标目录下,运行ndk-build脚本即可。对于使用Eclipse开发,我们希望EC能自动的编译我们的NDK,那么只需要为工程添加一个Builders即可。对于Windows的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为EC需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build....
Android 4.0 JNI Hello World 开发图解

Android 4.0 JNI Hello World 开发图解

之前之前用R4,现在一下就跳到用R7了,Android4.0出来过后,应该有不少热机友敢望资疗吧,OK,在网上偶尔浏览的时候,看到有很多初学者希望了解在ANDROID中NDK应用的开发,不知道它是怎么开发与运行的,今天我就简单来图解一个HelloWorld的简单实列吧,以好供初学者做给力的参考,OK,不废话了,直入正题吧:首先,我们得配置环境,当然这是在你本来就有SDK开发环境的情况下,请去官方下个NDK吧:http://www.android.com.,...
Android 4.0源码下载 编译 系统体验图解

Android 4.0源码下载 编译 系统体验图解

近来着眼于Android4.0的关注与研究,第一时间把ANDROID4.0源码下下来了,只是时间问题,所以没能第一时间把过程记录下来,今天算是富裕点时间就给写下来,希望能给灼热于ANDROID继续平台研究而又未及时获得相关资源的热机友们做个简单的参考,好了,废话不多说,我就直接贴图吧,现在很简单,只要你是LINUX系统,一直并使其开发,那就不必要考虑之前JDK环境的问题,直接从基本环境确定下入手吧,首先打开http://www.android.com进入,...
Android ListView GridView Gallery 适配器 性能优化

Android ListView GridView Gallery 适配器 性能优化

之前码控件太多,由于项目时间问题,也就很少考虑到优化的一些细节问题,今天就简单些了个关于ListView控件对在使用适配器时的优化效果:好了直接贴图:先看下对比效果:不判断converView为空时,也就是每次拖动时都会去加载一次所花费的时间效果图:判断了convertView为空时蔡重新加载的效果图,也就是使用了其缓存的数据:下面图为使用了组件静态化的方式,也就是使用空间换时间的方式,在其findById()放进临时内存缓存里,得出的时间效果图从以上图可...
一键解决Ubuntu下安装Eclipse Android/SDK/NDK/CDT 开发和调试环境

一键解决Ubuntu下安装Eclipse Android/SDK/NDK/CDT 开发和调试环境

Eclipse 的Android和CDT开发环境极为难建。我在Windows下做过这个工作,可以参考我的文章,但是步骤繁琐的要命。好在有NVIDIA给我们做了一键式安装包,你可以根据自己的Linux版本(32或64位)下载相应的安装包:收藏并进入下面的网址:http://developer.nvidia.com/tegra-android-development-pack我选择32位linux版本的安装程序:tegra-devpack-1.0-linux-...
Eclipse下安装Android开发环境:NDK和CDT

Eclipse下安装Android开发环境:NDK和CDT

本文记录了最新的eclipse版本helios如何搭建Android的JDK和NDK的开发环境。并提供了整合NDK和cygwin的方法。为了使用户不用切换到cygwin命令行去编译NDK的代码,给出了配置eclipse下的NDK环境。最后给出如何配置eclipse上的C/C++开发环境——CDT。本文还提供了一个最简单的示例说明NDK的使用方法。关键词:eclipse,Android,Android SDK,cygwin,NDK,CDT1 准备工作1.1W...
Android的窗口机制分析-事件处理

Android的窗口机制分析-事件处理

由于Android是linux内核的,所以它的事件处理也在linux的基础上完成的,因此本文我们从linux 内核往应用这个方向慢慢理清它的处理过程。 linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventXX来命名的,如event0,event1等等,但是如果是虚拟机的话,我们可以看到一个mice,这个mice代表鼠标设备,这是由于PC...
安装Python的visual模块时报错

安装Python的visual模块时报错

买了本学习python的书,看了几天,想写个简单的程序,下面就是一个简单的类似记事本一样的小程序,器功能主要有:1提示你是想流泪这个文件还是想写东西到这个文件2.输入R或者r,表示想看这个程序写的文件3,输入W或者w,表示想写东西到这个文件4,如果输入Q或者q,表示想退出程序期间得到很到热心的Q友的帮助,下面贴出代码和注释,大家感兴趣可以看下,有好多地方可以修改的地方,如果有不对的地方,希望大家提出宝贵意见#!/usr/bin/envpythonimpor...
S3C6410 完全由SD卡启动Linux流程

S3C6410 完全由SD卡启动Linux流程

1. s3c6410 SD启动原理 s3c6410 支持Nand Flash本地启动Linux,包括内核,根文件系统,bootloader均写入在Nand Flash.这样可以独立运行. 很多情况下,Nand Flash的某种原因无法写入内核和Rootfs.而使用tftp下载内核,用NFS启动根文件系统比较慢.s3c6410 支持 SD卡启动,经过改造u-boot可以从SD卡引导内核,这样而Linux 又可以从SD卡的装载ext3根文件系统.这样可以制作一...
ARM Linux使用SD卡根文件系统

ARM Linux使用SD卡根文件系统

因此指导学员在arm-Linux使用JPT-7模块来跑GPS应用.Nand Flash 空间太小,而且所用的板经常烧不了根文件系统.所以决定用SD卡来跑根文件系统.1.PC机上格式化SD卡 在桌面的PC机上用SD读卡器操作SD卡: 一般情况下PC机上第一个U盘整体设备结点是/dev/sda,第二个是 /dev/sdb,在RHEL5下它会被自动mount到/media/disk和 /media/disk_1 目录. U盘/dev/sdb上第一个分区是 /de...
Linux 下使用S3C6410的post处理器的进行硬件缩放

Linux 下使用S3C6410的post处理器的进行硬件缩放

在嵌入式下,在移植软件时经常会碰到这样的问题,就是显示分辩率的变化.一般软件往往针对桌面机的环境编译没有太多问题,但是在嵌入式环境下,受限的LCD显示有着很大的问题.这种情况下,一种方法是修改代码,让其在嵌入式的LCD上显示.另外一种是使用软件进行显示缩放. 这两个方法只在部分条件有效,而且修改的工作量极大,更多情况是无法修改,比如SDL下的Dosbox是针对 640*480,修改源码的分辩率成 480*272 后,基本屏幕显示完全错位.软件无法正常运行....
<< 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 >>