- 博客(59)
- 收藏
- 关注
原创 Ubuntu Fire Wall (ufw) 防火墙 设置
1.安装 sudo apt-get install ufw 2.启用 sudo ufw enable sudo ufw default deny 运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。 关闭所有外部对本机的访问,但本机访问外部正常。 3.开启/禁用 sudo ufw allow|deny [service] 打开或关闭某个端口,例如:
2014-04-24 09:36:43 991
原创 Ubuntu搭建 Web 服务器
1) 安装MySql server/clientsudo apt-get install mysql-server mysql-client
2014-04-21 14:58:24 1093
原创 Ubuntu 配置 ftp 服务器
1、安装vsftpd 终端输入sudo apt-get install vsftpd 安装之后会在/home/下建立一个ftp目录,访问下可以看到一个空白内容的ftp空间。 默认设置下需要匿名用户不可以登录
2014-04-21 13:20:10 4474
原创 Ubuntu 用户管理
设置ROOT密码方法:sudo passwd root ,然后输入密码即可! // 此方法仅针对root密码尚未设置的情况下修改root密码的方法:sudo passwd root 进入root状态.命令: su root 然后输入你设置好的密码就OK了修改普通用户密码方法:passwd username
2014-04-21 11:15:38 783
原创 Ubuntu 安装 Jexus 5.4
1) 安装 J安装Jexus5.4:从5.3.1版本开始,Jexus的安装过程简化了,内置了两个新的脚本,它们分别是“install”和“upgrade”,对应原来的“安装”和“升级”。
2014-04-20 09:24:19 1669
原创 Ubuntu 安装 Redis
1. redis 2.6.16版 http://download.redis.io/releases/redis-2.6.16.tar.gz安装计划及具体步骤笔记
2014-04-19 22:32:45 6745
原创 Ubuntu下安装 Mono
参考 自CentOS 如何 安装 http://www.cocoachina.com/bbs/read.php?tid=166098
2014-04-19 19:29:00 3577
原创 Android f_rndis 分析笔记
背景说明RNDIS是一个以太网端口 ( Ethernet port )。最开始是微软控制的,用以取代 CDC Ethernet 的协议。公开发布的 RNDIS规范很模糊,并且不必要的复杂。 ActiveSync 等规范术语使情况更糟糕。简而言之,它是一个微软控制的,而不是开源生态系统控制的协议。 Linux 支持它仅仅是因为微软不支持 CDC以太网标准。RNDIS数据传
2014-03-31 17:50:24 9020
原创 android usb 分析笔记
virtual device: android_usb首先来看 drivers/usb/gadget/android.c。 init() 创建了虚拟设备 /sys/devices/virtual/android_usb/.static int __init init(void){ struct android_dev *dev; int err; android_
2014-03-31 15:20:14 9103
原创 Linux USB子系统之阅读笔记
Linux USB Subsystem Linux 包括了一个 USB Core 的子系统。其包含了一组特定的API函数来支持USB设备和主机控制器。USB Core 中包含了通用于所有 USB 设备和主机控制器驱动程序的函数。这些函数可以划分成上层和底层API。从下图可以看出,一类API是为USB设备驱动程序服务,另一类为主机控制器驱动程序服务。
2014-03-26 16:41:06 3041
原创 USB 枚举和设备描述符之学习笔记
无论何时,当USB设备连接到USB总线时, USB子系统都会进行枚举 (Enumeration) 操作。USB设备被分配到一个唯一的设备编号值 ( 1 ~ 127 ) , 然后设备描述符被读出。 USB设备描述符是一个包含有设备信息和属性的数据结构。USB规范定义描述符的层次结构如下:标准描述符:设备描述符描述了一个USB设备的通
2014-03-26 14:00:31 1560
原创 USB 设备和传输特性之学习笔记
USB 设备的供电模式自供电 (Self Powered)总线供电 (Bus Powered)同时具有上述两种供电能力USB控制器能够给USB设备提供最多 500mA 的供电能力。如果仅仅usb总线设计上只存在总线供电能力的设备,最大电流损耗可能超出供电能力;因此,自供电设备的存在是必要的----他们需要有自己专用的外部电源。 支持两种供电模式的 usb 设备,能在接入外部电源时进
2014-03-25 18:08:06 2394
原创 解压缩Android 根文件系统 ramdisk
解压缩命令 1)mv ramdisk.img ramdisk.img.gz // gunzip 默认文件名必须为 .gz 后缀, 因此需要重命名为 .gz2) gunzip ramdisk.img.gz // 将解压缩生成 ramdisk
2014-03-17 17:38:32 1075
原创 ARM 寄存器名字
The following register names are predeclared:• r0-r15 and R0-R15• a1-a4 (argument, result, or scratch registers, synonyms for r0 to r3)• v1-v8 (variable registers, r4 to r11)• sb and SB (sta
2014-03-11 10:04:42 1566
原创 Linux用户空间访问物理地址
因为项目需要,需要在Linux userspace 读写访问实际物理地址。 一)用户空间可以直接通过打开 /dev/mem 设备文件,然后mmap() 影射进行访问 static int read_type(){ void * map_base; FILE *f; int type,fd;#define READ_REG32(reg) ( *((volatile i
2014-03-03 13:37:55 11811
原创 64bit ARMv8 在 Linaro 3.10.x 上的移植
基本认知 1) int 在16位的CPU上是16位 在32位的CPU上是32位 在64位的CPU上是64位 2) __BITS_PER_LONG vs BITS_PER_LONG32bit / 64bit 架构中,都是#define __BITS_PER_LONG 32 32bit / 64bit 用户空间不能依赖于 CONFIG_64BIT 宏;而需
2014-02-12 13:02:47 2916
原创 Linux CPU负载利用率统计
通常,有如下方式可以得到 cpu 利用率情况:top 命令e.g. top -m 20 -d 1 -tUser 0%, System 6%, IOW 0%, IRQ 0%User 1 + Nice 0 + Sys 34 + Idle 494 + IOW 0 + IRQ 0 + SIRQ 1 = 530 PID TID PR CPU% S VSS RSS
2014-01-24 15:55:36 4868 1
翻译 ARM / Thumb 指令混合编程之代码交织 ( interworking )
本文翻译整理自 http://stuff.mit.edu/afs/sipb/project/egcs/src/egcs/gcc/config/arm/README-interworking针对ARM7T处理器,Cygnus GNU Pro ToolKit 支持在已编译的 arm 指令和 thumb 指令之间进行来回切换。虽然原文只针对相对古老的 ARM7T 处理器进行介绍,但是
2014-01-23 09:48:54 7481
原创 ARM指令如何在thumb和arm模式切换
根据arm spec, 跳转地址最低位( lsb ) 为0表示 arm 指令;最低位为1表示thumb指令。一、绝对地址跳转进入 thumb模式如下指令可以切换到thumb模式。LDR R6, =0x24000ADD R6, #1 @ (set lsb to 1)BX R6如果已经知道 0x24000 地址存放的是 thumb 指令, 可以直
2014-01-22 17:58:13 15875 1
原创 android自动测试
为了自动测试拨打电话功能,自动化脚本需要使用相关的接口。 方法之一:AT command 1) adb shell2) enter AT command mode ( platform specific )3) atd112; // 拨打1124) ath
2014-01-21 13:56:48 1787
原创 arm-eabi-gcc 4.7升级后的问题
某一段arm assembly code,之前用 arm-eabi-gcc 4.6版本编译。执行没问题。但是换成GCC 4.7后有两个问题。问题一: 生成的BOOTLOADER无法执行;问题二: 能执行后,某段指令产生ABORT错误。问题一:研究GCC 4.7 compiler 升级文档(http://gcc.gnu.org/gcc-4.7/changes.html)
2014-01-15 17:56:05 4218
原创 Linux kernel crash and analysis example (3)
BUG:Randomly, ARMv7 mobile crashed when USB OTG operations are executed.Context:[ 30.648925] C0 [m.android.phone] Unable to handle kernel paging request at virtual address 6b6b6b9f[
2013-10-10 10:11:47 2394
原创 BUG: scheduling while atomic 分析
遇到一个典型的schedule问题。[26578.636839] C1 [ swapper/1] BUG: scheduling while atomic: swapper/1/0/0x00000002[26578.636869] C0 [ kworker/u:1] CPU1 is up[26578.636900] C1 [ swapper/1] Modu
2013-09-27 13:53:36 35328
转载 怎样使一个Android应用不被杀死?
From: http://blog.sina.com.cn/s/blog_3e3fcadd0100yjo2.html方法:对于一个service,可以首先把它设为在前台运行:public void MyService.onCreate() {super.onCreate();Notification notification = new Notification(andro
2013-09-27 09:50:09 2010 1
原创 Linux kernel crash analysis example (2)
Issue:Android monkey test assertion.Assertion log:[50281.798919] C0 [ swapper/0] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ARM[50281.808074] C0 [ swapper/
2013-09-24 16:25:37 7800 3
翻译 Linux内核中CPU主频和电压调整 (四)
CPUFreq Governor/管理器什么是CPUFreq Governor?大多数cpufreq驱动(事实上,除了longrun, 所有的都是),甚至大多数的处理器频率调整算法都仅只支持处理器被设置成一个特定的频率。为了提供动态频率调整,cpufreq 核心必须能够告知驱动程序一个目标频率。如此,驱动程序才能够提供一个 "->target" 函数调用,而不是一个已经
2013-09-18 10:05:06 3647
原创 Linux kernel crash analysis example
Issue reported:When USB is connected as Mass Storage mode, copy file from external sdcard to clipboard.The disconnect USB and try to paste clipboard file into internal sdcard but it will fail.
2013-09-11 17:29:30 1404
转载 推挽(Push-Pull) vs 开漏(Open-Drain)
作者:crifan (http://bbs.chinaunix.net)邮箱:green-waste@163.com【Open-Drain与Push-Pull】GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。(General Purpose Input Output,简称为GPIO或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微
2013-09-02 10:53:17 15170 1
翻译 断点和PC地址
Breakpoints and Program CounterHardware data breakpoint如果硬件数据断点被命中, PC指针地址取决于被调试处理器。对于 ARM 处理器, 当数据断点命中时,一条或两条指令的“刹车行为” 产生。这意味着产生断点的指令,可能还包括其后的第二条指令,都被执行。调试器显示的 PC 值,可能并不是产生断点的指令地址。
2013-08-31 11:30:39 2117
翻译 ARM Processor Exception
ARM Processor Exception虽然依赖于硬件实现,当一个给定的预定义事件发生时, 大多数ARM处理器都提供了专用硬件来进入调试模式。大多数较新的ARM处理器提供了捕捉异常的硬件单元。 如果使能该硬件单元,其效果类似于在选定的向量表入口放置一个断点, 这被成为是 vector catch。 然而,1) 一些ARM处理器, 例如 ARM7, 没有
2013-08-31 11:10:00 1473
翻译 ARM Hardware Breakpoint vs Software Breakpoint
对于ARM debugger工具,常用的有两种breakpoint. Hardware vs Software 类型。ARM 文档给出的相关定义如下。Hardware breakpoints:1) 依赖于目标processor实现, 大多数ARM processor都包含了特定的硬件资源,例如ARM EmbeddedICE 硬件逻辑, 来匹配特定的硬件事件。调
2013-08-30 23:42:07 5138
转载 几个有用的 repo command
repo abandon --help Usage: repo abandon [...] This subcommand permanently abandons a development branch bydeleting it (and all its history) from your localrepository. It is equivalent t
2013-08-29 16:19:54 3328
原创 ARM CPSR/SPSR 的示意图
ENTRY EXPORT __main__mainSVC_StackMode_SVC EQU 0x13I_Bit EQU 0x80F_Bit EQU 0x40; Set up the SVC stack pointer and return to SVC mode MOV R0, #Mode_SVC:OR:I_Bit:O
2013-08-29 12:50:32 2070
翻译 Android procrank
Android procrank (/system/xbin/procrank) 工具,能够列出进程所占用的内存使用情况。顺序为从高到低。每个进程占用内存大小以 VSS, RSS , PSS, USS 的形式列出。为了简化描述,内存占用以页为单位表述,而不是字节。 通常每页为 4096 字节。 VSS ( 等同于 ps 命令列出的 VSZ) 是单个进程全部可访问的地址空间。
2013-07-18 13:07:35 16036
转载 Linux ioctl command
Excepted from kernel/include/asm-generic/ioctl.h /* ioctl command encoding: 32 bits total, command in lower 16 bits, * size of the parameter structure in the lower 14 bits of the * upper 16 bi
2013-07-09 13:38:09 1153
原创 Android monkey监视系统状态
When monkey tests are running in android phones, phones have memory leakage and are difficult to trace system status,although logcat, kernel log can provide some information.Android limitation
2013-03-22 13:57:41 1403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人