- 博客(19)
- 收藏
- 关注
原创 Wifi测试
Wifi测试步骤1. 写配置文件system("echo "" > /data/misc/wifi/user_priority.conf");system("chown wifi.wifi /data/misc/wifi/user_priority.conf");if(access("/data/misc/wifi/wpa_supplicant.conf",F_OK)){sys
2012-11-23 09:44:57 1361
转载 strtok和strsep函数详解
函数原型:char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
2012-11-22 10:32:55 605
原创 strcpy/strncpy/sprintf/_snprintf/snprintf的区别
1. char *strcpy(char *str1, char *str2); 串拷贝#include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return
2012-11-19 10:55:08 1869
原创 查看User模式还是Eng模式
1. 查看User模式还是Eng模式shell@android:/ $ cat default.propcat default.prop## ADDITIONAL_DEFAULT_PROPERTIES#ro.secure=1ro.allow.mock.location=0ro.debuggable=0persist.sys.usb.config=mass_sto
2012-11-17 11:02:28 2234
原创 静态区、堆、栈区别
静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。在没有释放之前一
2012-11-12 11:26:43 556
原创 嵌入式Linux文件系统
1. 嵌入式Linux中,主要的存储设备为 1). RAM 2). FLASHNOR 存放程序 读的速度较快,价格较高,存储容量较小NAND 存放数据 写的速度较快,价格较低,存储容量较大,容易出现坏块。2. 文件系统分类 1).基于Flash的文件系统 a). Jffs2 主要用于NOR型Flash,基于MTD驱动层。可读写、支持数据压缩的日
2012-11-11 20:39:24 540
原创 嵌入式Linux内核启动流程
1. .config 配置启动的命令行 1). 使用nfs作为根文件系统 CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=192.168.0.10:/home/King/mini2440/rootfs ip=192.168.0.13 console=ttySAC0 mem=64M"root=/dev/nfs 指名使用哪种系统作为根文
2012-11-11 15:38:01 645
原创 制作根文件系统
步骤1. 创建文件系统目录 mkdir bin dev etc lib proc sbin sys urs tmp var mkdir usr/bin usr/lib usr/sbin lib/modules2. 创建设备文件 cd dev/ mknod -m 666 console c 5 1 mknod -m 666 null c 1 3
2012-11-11 15:18:12 351
原创 Uboot命令
1. 查看Uboot环境变量printenv [name]2. 添加、修改、删除环境变量setenv name [value]3. 保存环境变量saveenv : 有的没有提供4. 文件下载 - tftp1). 配置网络a). setenv ethaddr 12:34:56:78:9A:BC设置网卡地址b). setenv ipaddr 192.16
2012-11-10 21:12:12 516
原创 Uboot介绍
1. U-boot的来源德国DENX小组开发的2. 作用1). 可以用于多种嵌入式CPU(ARM, x86, MIPS, XScale等)的bootloader程序2). 支持Linux, VxWorks, QNX等多种嵌入式操作系统3. 源码下载ftp://ftp.denx.de/pub/u-boot/4. 目录结构board : 和开发板有关的文件。
2012-11-10 19:47:47 451
原创 增加ldo regulator震动驱动
增加ldo regulator震动驱动//LDO的声明和初始化TC4_Kernel_3.0/arch/arm/mach-exynos/mach-smdk4x12.c1. 为ldo提供名字static struct regulator_consumer_supply s5m8767_ldo19_supply[] = {- REGULATOR_SUPPLY("dvdd2
2012-11-10 18:16:19 1535
原创 Bootloader介绍
1. 软件角度看嵌入式系统,分为三个层次1). 引导加载程序a). 包含在固件(firmware)中的boot程序,如PC机上的BIOS【可选的,有的没有】b). Bootloader: 将内核从硬盘上读到内存中,然后跳到内核的入口点去运行,即启动操作系统Lilo Linux磁盘引导程序 支持x86,不支持ARM、PowerPCGrub GNU的Lili代替程序 支持x86
2012-11-10 09:53:34 504
原创 内核模块开发基础
1. hello module Makefile的编写# Makefile2.6obj-m += hellomod.o # 产生hellomod 模块的目标文件hellomod-objs := add.o xxx.o#依赖的文件CURRENT_PATH := $(shell pwd) #模块所在的当前路径LINUX_KERNEL := $(shell
2012-11-09 16:43:29 438
原创 内核代码结构
arch | architecture的缩写,架构相关的代码,内核所支持的每种CPU体系,在该目录下都有对应的子目录。arm | arm处理器mach-xxx | 代表着一款开发板mach-s3c2410mach-s3c2440mach-s5p64x0mach-exynosmach-smdk4x12 | 正在使用的开发版本...powerpc | p
2012-11-09 10:44:14 429
原创 Shell编程
1. 指定shell脚本的解析程序#!/bin/sh符号#!用来指定该脚本文件的解析程序可以指定sh使用的命令,一般/bin/sh -> bash,我们服务器上就是/bin/sh -> dash2. 注释符号#开头表示注释3. 自定义变量所有变量都由字符串组成,不能加入数字。如a1=“xxx”是错误的变量赋值时左右两边都不要加空格,如a = 1是错误的
2012-11-08 19:29:22 375
原创 Linux使用
1. 切换用户Ctrl + Alt + F7切换到图形界面Ctrl + Alt + F1/F2/F3/F4/F5/F6 切换到字符界面2.
2012-11-07 15:34:11 372
原创 kill和killall的区别
kill对象是进程IDkill -9 proc_idkillall对象是进程名字killall -9 proc_name注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止;
2012-11-07 14:19:22 8242
转载 Ubuntu下更改gcc版本的简便方法
1. 下载指定版本:sudo apt-get install gcc-4.42. 使用指定版本// 首先须移除原有的gcc快捷方式,然后把新安装的gcc指定到原有的位置 // 该方法在11.04下测试可用# rm /usr/bin/gcc # ln -s /usr/bin/gcc-4.4 /usr/bin/gcc其实当你到 /usr/bin 目录下ls时,你就会发现Linux的
2012-11-01 10:40:48 1093
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人