上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 43 下一页
摘要: 用汇编点亮一个led1看原理图GPK4=0,led亮GPK4=1,led灭2怎么让GPK4输出高低电平(看芯片手册,操作寄存器实现)配置功能:输入/输出/其他设置其输出高/低电平3查看芯片手册GPK4[19:16]0000=Input 0001=Output0010=HostI/FDATA[4] 0011=HSITXREADY0100=Reserved 0101=DATA_CF[4]0110=Reserved 0111=ReservedGPKDAT在第4位写写0就对应GPK4GPK[15:0][15:0]Whentheportisconfiguredasinputport,thecorresp 阅读全文
posted @ 2013-04-14 19:50 retacn_yue 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 竟争与互斥程序调试1 打印调试信息 printk定义全局打印示例代码如下: #ifdef PDEBUG #define PLOG(fmt,args...) printk(KERN_DEBUG "scull:",fmt,##args) #else /*do nothing*/ #define PLOG(fmt,args...) #endif 在makefile中定义PDEBUG的值 示例代码如下: DEBUG=y ifeq($(DEBUG),y) DEBFLAGS=-O2 -g -D PDEBUG else DEBFLAGS=-O2 endif cflags+=$(DEBFL 阅读全文
posted @ 2013-04-05 11:12 retacn_yue 阅读(121) 评论(0) 推荐(0) 编辑
摘要: memdev.h文件示例代码如下: #ifndef _MEMDEV_H#define _MEMDEV_H//采用静态分配设备号#ifndef MEMDEV_MAJOR#define MEMDEV_MAJOR 260#endif#ifndef MEMDEV_NR_DEVS#define MEMDEV_NR_DEVS 2#endif#ifndef MEMEV_SIZE#define MEMDEV_SIZE 4096#endifstruct mem_dev{ char *data; unsigned long size;};#endifmemdev.c文件示例代码如下:#include ... 阅读全文
posted @ 2013-04-04 14:03 retacn_yue 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 字符驱动程序1 设备号 字符设备通过字符设备文件来存取 ls -l 如果输出的第一列是c标识,说明该文件是字符设备文件 设备文件项中的两个数分别为 主设备号/次设备号 设备文件与设备驱动通过主设备号建立联系 次设备号用来分辩操作的哪个设备 dev_t 用来描述设备号 在linux/types.h中声明,示例代码如下:typedef __u32 __kernel_dev_t;typedef __kernel_fd_setfd_set;typedef __kernel_dev_tdev_t; 实质为unsigned int 32位整数,高难12位为主设备号,低12位为次设备号 #主设备号 MAJO 阅读全文
posted @ 2013-04-04 10:29 retacn_yue 阅读(118) 评论(0) 推荐(0) 编辑
摘要: linux 驱动程序字符设备驱动程序网络接口驱动程序块设备驱动字符设备 按字节来访问的设备字符设备驱动用来驱动字符设备 通常实现open close read write块设备unix系统一次传输一个或多个512字节linux允许块设备传送任意数目的字节字符设备驱动和块设备驱动哪个可以随机访问网络接口通常是一个硬件设备(etho),也可以是一个;软件设备如回环接口(lo)驱动程序的安装1 模块方式2 直接编译进内核 1 将程序复制到内核当中drivers/char [root@localhost char]# cp /opt/linux/examples/hello/hello.c ./ 2 阅读全文
posted @ 2013-04-01 21:55 retacn_yue 阅读(143) 评论(0) 推荐(0) 编辑
摘要: linux 进程管理1 linux进程控制进程的四个要素:有一段程序供其执行有专用的内核空间椎栈内核中有一个tash_struct数据结构有独立的用户空间task_struct中包含了描述进程和线程的信息pid_t pid 进程号 最大10亿volatile long state 进程状态 TASK_RUNNING 准备就绪 TASK_INTERRUPTIBLE 处于等待中 等待条件为真是唤醒,信号/中断也可TASK_UNINTERRUPTIBLE 条件为真是唤醒,信号/中断不可TASK_STOPPED 进程中止执行(SIGSTOP/SIGTSTP时进入该状态) SIGCONT重... 阅读全文
posted @ 2013-03-28 20:57 retacn_yue 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 在项目文件下,自动生成了文件:proguard-project.txt, project.properties两个文件,于是打开这两个文件,在proguard-project.txt中有: # If your project uses WebView with JS, uncomment the following# and specify the fully qualified class name to the JavaScript interface# class:#-keepclassmembers class fqcn.of.javascript.interface.for.webv 阅读全文
posted @ 2013-03-20 19:47 retacn_yue 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1 linux内存管理地址类型 物理地址 出现在cpu地址总线上的寻址物理内存的地址信号,是地址变换的最终结果 线性地址(虚拟地址)在32位cpu架构下,可以表示4g的地址空间,用16进制表示就是 0x00000000到0xffffffff 逻辑地址程序代码编译后,出现在汇编程序中的地址地址转换 cpu将一个逻辑地址转换为物理地址: 利用段式内存管理单元,将逻辑地址转换成线性地址 再利用页式内存管理单元,将线性地址转换成物理地址段式管理(16位cpu)有20位的地址线,1m的内存空间,由于寄存器只有16位,只能访问65536个存储单元,64k 因此cpu采用了内存分段的... 阅读全文
posted @ 2013-03-12 20:50 retacn_yue 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 嵌入式linux内核制作1 清除原有配置文件与中间文件x86 make distcleanarm make distclean2 配置内核 x86 make menuconfig arm make menuconfig ARCH=arm3 内核编译 x86 make bzImage arm make uImage ARCH=arm CROSS_COMPILE=arm-linux-根文件系统的制作1 创建目录和文件mkdir rootfscd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp varmkdir usr/bin usr/li 阅读全文
posted @ 2013-03-06 21:39 retacn_yue 阅读(146) 评论(0) 推荐(0) 编辑
摘要: bootloader 初始化硬件设备启动过程单阶段(single-stage)多阶段(multi-stage)bootloader大多采用两阶段stage1完成初始化硬件准备内存空间,将stage3复制到内存中,设置堆栈,跳转到stage2的c入口点stage2初始化本阶段要用到的硬件设备检测系统内存映射,检测哪些地址被实际对应到外部的sdram将kernel映像和根文件映像从flash读到ram空间为内核设置启动参数调用内核交叉工具链参考http://blog.csdn.net/retacn_yue/article/details/8510952编译器arm-linux-gcc反汇编工具ar 阅读全文
posted @ 2013-03-06 21:31 retacn_yue 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 43 下一页