- 博客(18)
- 资源 (9)
- 收藏
- 关注
转载 getenv、setenv函数 获取和设置系统环境变量
getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include 定义函数 char * getenv(const char *name); 函数说明 getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。 返回
2015-04-30 15:59:13 943
转载 ARM linux启动分析
ARM linux启动分析linux启动分析(1)---bootloader启动内核过程我分析的是2.4.19的内核版本,是xscale的平台,参考了网上很多有价值的帖子,也加入了自己的一些看法,陆续总结成文字,今天是第一篇:内核一般是由bootloader来引导的,通过bootloader启动内核一般要传递三个参数,第一个参数放在寄存器0中,一般都为0,r0 = 0;
2015-04-30 14:26:41 313
转载 从MACHINE_START开始
注:下面的内容是以linux-2.6.38和mini6410为例进行学习的。 玩过或者移植过arm-linux的都应该知道在/arch/arm目录下有许多与具体处理器相关的目录,当然对于6410的话所对应的目录就是mach-s3c64xx,在里面找到与具体板子相关的文件mach-mini6410.c,没错,就是它。无论是出于想移植到新的内核还是出于想深入学习某一款arm等,对这个
2015-04-30 14:22:14 340
转载 Linux __setup解析 .
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下:#define __setup(str, fn) \__setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) \static char __setup_st
2015-04-30 13:55:42 317
转载 module_init和module_exit .
一直以来写linux驱动,都是按照固定格式,定义一个初始化和推出函数,书上告诉我这两个函数会被调用,至于为什么会被调用,在哪调用,一直不清楚。偶然的一个机会,看到blob里面的代码,里面有一个初始化函数列表。按照一般的编程想法,各部分的初始化函数会在一个固定的函数里调用比如:void init(void){ init_a(); init_b();} 如果再加
2015-04-29 15:01:45 281
转载 miscdevice、platform_device、platform_driver的区别
Linux设备模型中:bus_type、device、device_driver《Linux设备驱动程序》的linux设备模型章中说到设备模型中,所有设备都通过总线相连。添加设备devA,必须指定其device结构体的bus_type域,初始化其他域,然后调用device_register(&devA),将设备devA注册到指定总线。添加该设备驱动driverA,也必须指定其dev
2015-04-28 17:03:03 598
转载 File_operations .
File_operations结构体 file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。 在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提供的。
2015-04-27 11:49:32 764
转载 关于__init、__initdata和__exit、__exitdata
对于__init、__initdata和__exit、__exitdata的定义位于,这些宏定义的作用是告诉编译器将这些函数或者数据放入相应的section中,而在模块加载的阶段,.ko文件中的代码和数据的加载区域是根据section来加载的。比如:如果函数的定义中带有__init,那么这个函数的所有代码会被放入.init.text的section中。 如果函数的定义中带
2015-04-24 17:58:55 387
转载 UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像 .
UBI文件系统简介在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(Unsorted Block Images)。这里简单介绍下UBI文件系统加入的原因,及使用方法。我也是刚接触到这个文件
2015-04-24 11:37:37 722
转载 profile 文件
1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。2、常在/etc/profile文件中修改环境变量,在这里修改的内容是对所有用户起作用的。使用修改.bashrc文件进行环境变量的编辑,只对当前用户有用。使用修改 /e
2015-04-23 15:05:34 673
转载 extern
extern这个关键字真的比较可恶,在声明的时候,这个extern居然可以被省略,所以会让你搞不清楚到底是声明还是定义,下面分变量和函数两类来说:(1)变量尤其是对于变量来说。extern int a;//声明一个全局变量aint a; //定义一个全局变量aextern int a =0 ;//定义一个全局变量a 并给初值。int a =0;//定义一个全局变量a
2015-04-22 16:29:46 289
转载 shell脚本中一些特殊符号 .
1、{} 大括号:用法一:通配符扩展 eg: ls my_{finger,toe}s这条命令相当于如下命令的组合:ls my_fingers my_toeseg: mkdir {userA,userB,userC}-{home,bin,data}我们将得到 userA-home, userA-bin, userA-data, userB-home, userB-bin,us
2015-04-22 16:21:44 377
转载 linux 脚本编写
在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入./smartzip就能运行脚本了。。每行命令开头处不用就空格也行。。 第1部分. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/s
2015-04-22 16:18:08 361
原创 Ubuntu下切换到root权限
su命令是在用户间切换,可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户,当由普通用户切换到root用户时,需要认证密码。在Ubuntu下,第一次从普通用户切换到root用户时,会提示su认证失败,借鉴前人经验,解决方案为: su 到 root 设置过程如下: test@test-desktop:~$ sudo passwd 输入新的 UNIX 密
2015-04-17 13:31:56 412
转载 控件关联成员变量
选择ClassWizard->Member Variables选择要关联的控件ID,点击右边的 Add Variable。 DDX函数,可以使控件跟变量相关联。介绍一个函数DoDataExchangevirtual void DoDataExchange( CDataExchange* pDX );这个函数主要是用来被框架调用,用来交换和校验对话框的数据。我们不会直接调
2015-04-14 15:28:27 797
转载 对话框的收缩和扩展
下面我们完成一个功能,来完成对话框的收缩和扩展:首先,我们在对话框上放一个按钮,文本为“收缩>”:CString str;GetDlgItemText(IDC_BUTTON1,str);if(str=="收缩{ SetDlgItemText(IDC_BUTTON1,"扩展>>");}else{ SetDlgItemText(IDC_BUTTON1,"收缩
2015-04-14 15:27:09 721
转载 基于消息的方式 访问控件
Windows程序都是基于消息的一个程序系统,我们要获取一个窗体的文本可以通过发送一个消息获取,只要知道窗体发送的消息是一个什么样的消息,就可以通过SendMessage获取这个消息。WM_GETTEXT:SendMessage(HWND hWnd;WM_GETTEXT:wParam = (WPARAM) cchTextMax;lParam = (LPARAM) lpszT
2015-04-14 15:20:28 410
转载 文本框 Text
文本框大部分时间里是用来起标记作用的,一般ID号都是一样的。我们如果想要它响应点击消息,我们修改一下它的ID。 获取窗体的文本int GetWindowText( LPTSTRlpszStringBuf, int nMaxCount ) const;void GetWindowText( CString& rString ) const;上边的第一个函数,第一个参数是一个字符串
2015-04-14 11:39:36 424
批处理命令大全.doc
2019-12-21
EMMC协议.ppt
2019-12-16
netperf-2.6.0.tar.gz
2016-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人