10 2013 档案

GPIO实验(一)
摘要:目标:点亮LED1.看原理图,找到对应的引脚和寄存器2.a.配置寄存器为输入/出引脚 GPFCON[9:8]=0b01 b.设置输出高/低电平 GPDAT[4]=0b01.预处理2.编译 .c==>.s3.汇编 .s==>.o4.链接 把多个.o合并成一个可执行文件==============第一个实验===========用汇编语言实现===========================led_on.S@******************************************************************************@ File:led 阅读全文

posted @ 2013-10-31 13:59 屁屁侠 阅读(986) 评论(0) 推荐(0) 编辑

ubuntu文件夹默认列表显示
摘要:编辑-->首选项-->视图-->列表视图 阅读全文

posted @ 2013-10-30 15:23 屁屁侠 阅读(914) 评论(0) 推荐(0) 编辑

ubuntu 12.04下gedit查看txt中文乱码解决办法
摘要:http://blog.sina.com.cn/s/blog_6273990801013dwv.html由于我不能要求别人保存txt文件时必须用utf-8,那我只能自己找解决办法:打开终端输入:gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"gse 阅读全文

posted @ 2013-10-30 15:03 屁屁侠 阅读(177) 评论(0) 推荐(0) 编辑

ubuntu下超强的截图工具scrot
摘要:Scrot ,是一个命令行下使用的截图工具,支持全屏、窗口、选取、多设备、缩略图、延时,甚至可以截图完毕之后指定某程序打开截好的图片。终端安装: sudo apt-get install scrotScrot man手册:-------------------------------------------------------------------------概要scrot [options] [file]描述scrot 是一个使用 imlib2 库截取屏幕和保存图像的的工具。选项 [file] 指定截图保存的文件名。 如果 [file] 没有指定,截图就会以当前的日期和时间为文件名保存 阅读全文

posted @ 2013-10-30 14:36 屁屁侠 阅读(292) 评论(0) 推荐(0) 编辑

原码 反码 补码 移码的关系(精简总结)
摘要:http://www.cnblogs.com/seer/p/3395888.html依然是为了避开那些繁琐复杂晦涩的概念与术语,为了确保能清晰的梳理它们之间的关系,现分为两部分说明1. 机器数 是 正数 符号位为0原码 = 反码 = 补码eg:机器码长度为8,求X(6)10原码 反码 补码 移码[X]原 = 00000000+110=00000110[X]补=[X]反=[X]原 =00000110[X]移=10000110(绿色为符号位)2.机器数 是 负数 符号位为1反码 =原码(符号位除外)各位取反而得到补码 =原码(除符号位外)各位取反,并在未位加1而得到eg:机器码长度为8,求X(-6 阅读全文

posted @ 2013-10-30 11:12 屁屁侠 阅读(905) 评论(0) 推荐(0) 编辑

内核编译
摘要:1.解压缩 tar xjf linux-2.6.22.6.tar.bz2 cd linux-2.6.22.6/2.打补丁 patch -p1 执行结果保存在.config文件里面 make menuconfig ===>读取.config文件,生成配置菜单 c.使用厂家提供的配置文件 厂家提供的"config_厂家"文件,修改为.config文件 cp config_ok .config make menuconfig uImage:头部+内核4.编译 make 阅读全文

posted @ 2013-10-30 10:34 屁屁侠 阅读(238) 评论(0) 推荐(0) 编辑

ubuntu tftp 配置
摘要:1:sudo apt-get install tftp tftpd openbsd-inetd特别指出很多文章里用的是netkit-inetd,但是实际下载时发现这个软件是下不到的,特改用openbsd-inetd,实验效果不错。2:在根目录下创建文件夹 tftpbootcd /sudo mkdir tftpboot 建立文件夹sudo chmod 777 tftpboot 更改文件夹权限3: sudo gedit /etc/inetd.conf 修改成如下样子tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpb 阅读全文

posted @ 2013-10-30 10:02 屁屁侠 阅读(264) 评论(0) 推荐(0) 编辑

驱动程序分层分离概念--总线驱动设备模型
摘要:一、示意图 App-------------------------------------------------- input.c-------------------------------------------------- / \ / \ / 分离 \button.c evdev.c硬件相关 纯软件(稳定)-----------------------------------------------bus_drv_dev模型 bus drv链表 1.把device放入bus的dev链表 device_add... 阅读全文

posted @ 2013-10-27 21:59 屁屁侠 阅读(1706) 评论(0) 推荐(2) 编辑

USB设备驱动程序学习笔记(二)
摘要:一、usbmouse_as_key.c/** drivers\hid\usbhid\usbmouse.c*/#include #include #include #include #include #include static struct input_dev *uk_dev;static char *usb_buf;static dma_addr_t usb_buf_phys;static int len;static struct urb *uk_urb;static struct usb_device_id usbmouse_as_key_id_table [] = { { USB_I 阅读全文

posted @ 2013-10-27 12:07 屁屁侠 阅读(820) 评论(0) 推荐(0) 编辑

常用Linux命令
摘要:1.grep "USB device using" * -nR2.smb://192.168.1.973.ubuntu开启root用户:sudo passwd root 阅读全文

posted @ 2013-10-26 18:20 屁屁侠 阅读(275) 评论(0) 推荐(0) 编辑

USB设备驱动程序学习笔记(一)
摘要:现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone" 提示你安装的是"设备驱动程序" USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序问2. USB设备种类非常多,为什么一接入电脑,就能识别 阅读全文

posted @ 2013-10-26 17:58 屁屁侠 阅读(3098) 评论(0) 推荐(0) 编辑

u-boot编译
摘要:u-boot目的:启动内核1.从flash读出内核,放到SDRAM中2.启动内核u-boot要实现的功能:-----硬件相关的初始化---- ---开发的功能--------- 关看门够 烧写FLASH 初始化时钟 网卡 初始化SDRAM USB 串口---------------------------------------------- 从FLASH读出内核 启动内核 u-boot编译1.解压缩tar xjf u-boot-1.1.6.tar.bz2 2.打补丁cd u-boot-1.1.6patch -p1 < ../u-boot-... 阅读全文

posted @ 2013-10-25 10:17 屁屁侠 阅读(255) 评论(0) 推荐(0) 编辑

ubuntu12.04的NFS配置
摘要:#sudo apt-get install nfs-kernel-serverubuntu12.04中的已经是最新版本了,无需安装打开/etc/exports文件,在末尾加入:/home/kevin *(rw,sync,no_root_squash)注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:/home/kevin:要共享的目录* :允许所有的网段访问rw :读写权限sync:资料同步写入内在和硬盘no_root_squash:nfs客户端共享目录使用者权限重启服务:#sudo /etc/init.d/portmap restart <--- 阅读全文

posted @ 2013-10-24 16:40 屁屁侠 阅读(245) 评论(0) 推荐(0) 编辑

构建最小根文件系统
摘要:http://blog.sina.com.cn/s/blog_7943319e01018g5w.html 构建最小根文件系统一个最小根文件系统必须的项:1. /dev/console这个在内核启动时打开:sys_open((const char __user *) "/dev/console", O_RDWR, 0)/dev/null当不设置标准输入输出标准出错时,就会定位到/dev/null2. init本身,即busybox3. /etc/inittab配置文件4. inittab配置文件中指定的应用程序或脚本5.相应的库(如glibc库)下面分三步对如何构建一个根文件 阅读全文

posted @ 2013-10-24 16:37 屁屁侠 阅读(888) 评论(0) 推荐(0) 编辑

最小根文件系统
摘要:最小根文件系统1./dev/console /dev/null2.init3./etc/inittab4.配置文件中指定的程序5.c库1.mkdir dev cd dev sudo mknod console c 5 1 sudo mknod null c 1 33.mkdir etc vim etc/inittab console::askfirst:-/bin/sh mkdir ~/workspace/linux/nfs_root/first_fs/lib cp *.so* ~/workspace/linux/nfs_root/first_fs/lib/ -d 4.制作文件系统 tar . 阅读全文

posted @ 2013-10-24 16:27 屁屁侠 阅读(571) 评论(0) 推荐(0) 编辑

交叉编译busybox
摘要:交叉编译器: 3.3.2# wget -c http://www.busybox.net/downloads/busybox-1.7.0.tar.bz2# tar jxvf busybox-1.7.0.tar.bz2修改源码、配置、编译-----------------------------------------------# cd busybox-1.7.0# vi Makefile +176ARCH ?= armCROSS_COMPILE ?= /usr/local/arm/3.3.2/bin/arm-linux-# make menuconfigBusybox Settings -- 阅读全文

posted @ 2013-10-23 09:46 屁屁侠 阅读(672) 评论(0) 推荐(0) 编辑

Ubuntu和Busybox下用make menuconfig配置出错解决
摘要:http://blog.csdn.net/satiling/article/details/6965985# make menuconfigIn file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:31:20: error: curses.h: 没有那个文件或目录In file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:128: 阅读全文

posted @ 2013-10-22 16:44 屁屁侠 阅读(829) 评论(0) 推荐(0) 编辑

SimpleDateFormat转换时间,12,24时间格式
摘要:Date d = new Date(); SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制 System.out.println(ss.format(d)); Date date = new Date(); SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制 String LgTime = sdformat.format(date);... 阅读全文

posted @ 2013-10-22 16:16 屁屁侠 阅读(554) 评论(0) 推荐(0) 编辑

Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
摘要:http://www.cnblogs.com/jico/archive/2010/11/03/1868361.htmlAlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service.下面的代码详细的介绍了两种定时方式的使用:(1)在指定时长后执行某项操作//操作:发送一个广播,广播接收后Toa 阅读全文

posted @ 2013-10-22 16:08 屁屁侠 阅读(496) 评论(0) 推荐(0) 编辑

Android AlarmManager的一些问题
摘要:我开始的代码是这样写的 alarmManager.set(AlarmManager.RTC_WAKEUP, (5*1000), sender); 我的本意是设定五秒后启动闹钟 但是每次都是我设置完闹钟之后立马就启动了。后来我发现问题出在第二个参数上 我对他的理解是错误的typeOne of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP}, RTC or RTC_WAKEUP.triggerAtTimeTime the alarm should first go off, using the appropriate clock (depending on . 阅读全文

posted @ 2013-10-22 16:02 屁屁侠 阅读(2951) 评论(0) 推荐(0) 编辑

gtk-gnash大量占用cpu解决办法
摘要:http://blog.csdn.net/papenghan/article/details/7727955gnash是一个firefox的flash插件版本。当使用firefox打开含有falsh的网页时,就产生了大量的gtk-gnash进程,大量占用cpu资源,严重影响工作学习。解决办法:ubuntu下在终端运行命令:sudo kill all gnash pidsudo apt-get remove –purge gnash ,gnash-common ,brower-plugin-gnash然后再安装一个adobe版本的flash插件。(如果提示 confict with flashp 阅读全文

posted @ 2013-10-21 16:09 屁屁侠 阅读(317) 评论(0) 推荐(0) 编辑

重装Ubuntu系统
摘要:1.安装JDK参考:http://weixiaolu.iteye.com/blog/1401786jdk-6u31-linux-i586.bin莫名奇妙的安装失败。所以下载了jdk-7u45-linux-i586.tar.gz,解压到家目录。配置环境变量sudo gedit /etc/profile... 阅读全文

posted @ 2013-10-21 15:58 屁屁侠 阅读(1451) 评论(0) 推荐(0) 编辑

网卡驱动程序之编写虚拟网卡(二)
摘要:一、virt_net.c/* * 参考 drivers\net\cs89x0.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static struct net_device *vnet_dev;static void emulator_rx_packet(st 阅读全文

posted @ 2013-10-20 10:20 屁屁侠 阅读(1350) 评论(0) 推荐(0) 编辑

网卡驱动程序之框架(一)
摘要:一、网卡驱动程序框架:app: socket-------------------------------------------------- --------------- --------------- 若干层网络协议--纯软件 --------------- ---------------hard_start_xmit|| /\ \/ || netif_rx sk_buff --------------- 硬件相关的驱动程序(要提供hard_start_xmit, 有数据时要用netif_rx上报) ------------------------------------------. 阅读全文

posted @ 2013-10-19 12:25 屁屁侠 阅读(938) 评论(0) 推荐(0) 编辑

NOR FLASH驱动程序
摘要:NOR NAND接口: RAM-Like,引脚多 引脚少,复用容量: 小 1M 2M 3M 大:128M 256M G读: 简单 复杂写: 发出特定命令 慢 发出特定命令 快价格: 贵 便宜特点: 无位反转、坏块 位反转、坏块 关键重要的程序 大数据、容忍可以出错的程序xip 可以 不可以(execute in place)-----------------------------------------------------------(555... 阅读全文

posted @ 2013-10-19 11:07 屁屁侠 阅读(2013) 评论(0) 推荐(0) 编辑

如何学习总线技术
摘要:http://blog.csdn.net/ce123_zhouwei/article/details/6853195如何学习总线技术以形象生动的比喻来描绘了总线技术的基本思想,指出了总线的基本分类和总线传输的基本原理,以及在学习过程中应当掌握的最基本的知识,对初学者有起到抛砖引入的作用。0引言 如果一座只能容一个人来往的独木桥,两端的人都想要过桥,为了不拥挤、阻塞,那我 们就得采取有效的办法。比如规定某段时间哪端的人过桥,另一端的人就等着该他过桥的时间段的到来,同时也还可以规定人多时要按先来后到或年龄长幼的次序过 桥。在这不经意间,我们就体会到了现代电子信息数据通过总线按时分系统传输的最原始. 阅读全文

posted @ 2013-10-18 17:37 屁屁侠 阅读(652) 评论(0) 推荐(0) 编辑

arm B和BL指令浅析
摘要:arm B和BL指令浅析B或BL指令引起处理器转移到“子程序名”处开始执行。两者的不同之处在于:(1)BL指令在转移到子程序执行之前,将其下一条指令的地址拷贝到R14(LR,链接寄存器)。 由于BL指令保存了下条指令的地址,因此使用指令“MOV PC ,LR”即可实现子程序的返回。(2)B指令则无法实现子程序的返回,只能实现单纯的跳转。用户在编程的时候,可根据具体应用选用合适的子程序调用语句。AREA Init,CODE,READONLY;该伪指令定义了一个代码段,段名为Init,属性只读ENTRY ;程序的入口点标识..bl delay ;调用延迟..mov pc,lr ;返回------- 阅读全文

posted @ 2013-10-17 10:34 屁屁侠 阅读(12680) 评论(0) 推荐(1) 编辑

NAND FLASH驱动程序
摘要:NAND FLASH是一个存储芯片那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A"问1. 原理图上NAND FLASH和S3C2440之间只有数据线, 怎么传输地址?答1.在DATA0~DATA7上既传输数据,又传输地址 当ALE为高电平时传输的是地址,问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令 怎么传入命令?答2.在DATA0~DATA7上既传输数据,又传输地址,也传输命令 当ALE为高电平时传输的是地址, 当CLE为高电平时传输的是命令 当ALE和CLE都为低电平时传输的是数据问3. 数据线既接到NAND FLAS 阅读全文

posted @ 2013-10-17 09:13 屁屁侠 阅读(1002) 评论(0) 推荐(0) 编辑

外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
摘要:http://blog.chinaunix.net/uid-22561766-id-1772774.html 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法有不少人问到:flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位。为什么要偏1位?从软件和CPU的角度而言,一个地址对应一个字节,就是8位数据。这是肯定的,不要怀疑这点。对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上... 阅读全文

posted @ 2013-10-15 11:40 屁屁侠 阅读(323) 评论(0) 推荐(0) 编辑

内存接口原理图笔记
摘要:硬件原理图内存接口:1.RAM-like接口:SDRAM NORFLASH 网卡2.不同位宽外设的接线,访问过程3.怎么确定访问地址、设置内存控制器 CS chip select CS#也表示低电平有效 片选:问1:地址线、数据线上面有众多的设备,怎样做到只访问其中一个而避免其余的影响?答1:每一个芯片都有单独的片选引脚,访问之前,先设置片选引脚为低电平,其他芯片的片选引脚为高电平问2:片选引脚是否需要手动设置?答2:不需要,内存控制器来设置。cpu访问某个地址的时候,cpu发出的地址信号给“内存控制器”, 内存控制器根据地址的范围,来决定哪个片选信号输出低电平。 地址线:每个片选引脚对应的地 阅读全文

posted @ 2013-10-15 11:19 屁屁侠 阅读(1094) 评论(0) 推荐(0) 编辑

块设备驱动程序
摘要:1.字符设备驱动程序App : open read write驱动:drv_open drv_read drv_write硬件:0>确定主设备号1>file_operations .open .read .write2>register_chrdev(主,name, 主设备号)3>入口:4>出口:1>查询方式2>休眠-唤醒 app:read -------- 驱动:drv_read if(nodata) sleeppoll机制4>异步通知:发信号5>输入子系统,融入别人写的代码2.块设备驱动程序App : open read write块驱 阅读全文

posted @ 2013-10-14 21:30 屁屁侠 阅读(801) 评论(0) 推荐(0) 编辑

运行地址和加载地址
摘要:http://blog.csdn.net/ce123_zhouwei/article/details/6990100运行地址和加载地址在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢?加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址是指向flash。代码一般是烧写在NAND里面,比如S3C2440 如果开机从NAND启动 其开始的4K代码会被COPY到2440内部的4KRAM 用于对关键硬件的初 阅读全文

posted @ 2013-10-14 18:12 屁屁侠 阅读(4925) 评论(0) 推荐(1) 编辑

ARM获得PC指针为何PC=PC+8
摘要:http://blog.csdn.net/sddzycnqjn/article/details/7691534R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8; 阅读全文

posted @ 2013-10-14 17:37 屁屁侠 阅读(1005) 评论(0) 推荐(0) 编辑

arm程序的反汇编程序
摘要:这是汇编源文件:MCU:S3C2440(arm920T)代码实现点亮个led小灯.text.global _start_start: ldr r0,=0x56000010 @GPBCON mov r1,#0x00000400 @ str r1,[r0] @GPB5_out=01 ldr r0,=0x56000014 @GPBDAT mov r1,#0x0 str r1,[r0] @GPBDAT[5... 阅读全文

posted @ 2013-10-14 10:00 屁屁侠 阅读(777) 评论(0) 推荐(0) 编辑

信号名称上划线
摘要:信号名称带上划线表示低电平有效。还有一种表达方法,在信号名称后面加一个#,一样的意思。1、引脚标示符上有一横线,是表示非的意思。2、通常带非的低电平有效,不带非的高电平有效。3、在标准51单片机,INT0,int1都是带非的 阅读全文

posted @ 2013-10-13 10:42 屁屁侠 阅读(879) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示