- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 关于 const char* p , char const* p 以及 char * const p
分析方法:从右至左读,看const离哪个近就修饰哪个const char* p ==> p是一个指向char类型常量的指针(指针常量),p自身可变,但p指向地址的内容不可变,即*p是不可变的;所以p++是正确的,但p[0]='a'是错误的,因为p[0]试图改变p指针指向的内容。char const* p 由于c/c++中没有const*这种运算符,所以它只能属于前
2013-04-23 14:22:02
1005
原创 golang源码安装
cd $HOMEhg clone -u release https://code.google.com/p/go (速度太慢,最好是直接下载源码包)cd go/src./all.bash (编译当前平台的go)CGO_ENABLED=0 GOARCH=arm GOOS=linux ./make.bash (编译针对arm平台的go)cd ../bin
2013-04-22 16:22:20
1823
原创 python html解析
下面以获取IP地址的物理位置作简要记录,以备后用:#!/usr/bin/env python# -*- coding:utf-8 -*-import urllib2, HTMLParser, reclass IPParser(HTMLParser.HTMLParser): def __init__(self): HTMLParser.HTMLParser.__init__(
2013-04-09 15:59:13
1303
原创 bcm43xx驱动问题
针对Mac笔记本上博通无线网卡linux系统支持问题,可选的主要驱动有:wl(bcmwl-kernel-source)官方驱动:不需要固件(用modinfo wl查看固件依赖),用sudo apt-get install bcmwl-kernel-source安装;b43(系统内置)开源驱动:需要固件,否则无线识别网卡,但由于版权问题,系统没有内置其固件,必须自行安装,安装固件
2013-04-07 10:56:04
2084
原创 RTL8188su编译问题
rtl871x_xmit.h:355:24: 错误: 字段‘xmit_tasklet’的类型不完全 解决方法:在include/wifi.h中加入#include "linux/interrupt.h"头文件usb_intf.c:1029:9: 错误: ‘THIS_MODULE’未声明(在此函数内第一次使用)解决方法:在os_in
2013-04-07 10:53:01
1272
原创 在Ubuntu下使用串口调试(二)
1、源码说明:https://github.com/hechaoyuyu/dnw-linux1.1起因 由于本人最近要做一个嵌入式的项目,涉及到开发板的调试,按照开发板商提供的文档都 是要求在winxp下用dnw和xshell来调试,xshell还好说,关键是dnw usb驱动在win7下 无法安装,而且我工作环境都是linux,在linux下编译
2013-03-22 17:52:03
1584
原创 在Ubuntu下使用串口调试(一)
做嵌入式开发,调试开发板需要用到串口,一般开发板商提供的开发环境都是xp+虚拟机中linux,主要是要用到dnw.exe这种工具,但是在win7下没有对应的usb驱动,所以想把全部开发环境都部署在ubuntu下,以下为部署过程:需要一根usb转com口的数据线,主要是目前笔记本上没有串口了;用转接线连好pc和开发板后上电,打开终端用命令dmesg查看串口设备文件:安
2013-03-19 14:46:01
5921
原创 系统分析师备考
上午基础知识考试:UML部分和软件工程那一章是重点中的重点;《考试辅导》里面专门针对上午考试的内容完全掌握了通过就没问题; 下午案例分析:《技术指南》和《分类精解》是重点参考书; 论文: 《分析与范文》是重点参考书;自己动手写个四五篇论文(关于数据库、需求分析等等);字迹要整齐(多练,平时写字时注意
2013-03-15 11:23:35
780
原创 Polkit授权管理
Polkit的配置:查看polkit服务: 一个是agent,一个是polkit服务;agent包含监听接口和一个用户界面(对话窗口),允许用户输入密码。Authentication Agent API Reference是polkit提供的agent开发接口;授权规则(Authorization Rules),利用javascript实现,在
2013-03-15 10:17:36
10128
原创 eMMC介绍
MMC是一种接口协议,eMMC是具备MMC协议的芯片;eMMC=NAND Flash+控制器+标准封装接口eMMC拥有多功能,包括存储以及取代NOR Flash的开机功能;开发板上的SanDisk eMMC芯片eMMC里面集成了一个独立的boot特定区域存储引导程序;特定区不占用user area,作用是存放系统的引导程序;擦除能将芯片所有
2013-03-12 17:53:48
1954
2
原创 uboot mmc read/write命令用法
uboot mmc read/write命令用法:mmc read用来读取mmc内容到内存;mmc write将对应的内存中的数据,写入到SD/MMC设备中; 具体用法:mmc read addr blk# cntmmc write addr blk# cntdevice num是mmc的设备号,可以通过mmc list查
2013-03-12 16:38:55
3271
原创 关于make menuconfig中有些内核选项不显示的问题
问题:比如我要移植yaffs到内核中,fs/yaffs2/Kconfig是正常的,fs中的Kconfig也包含了source "fs/yaffs2/Kconfig",但在make xconfig/menuconfig时就是不显示有Yaffs这个选项,这是为何?解答:.config文件是内核当前使用的默认配置,对于内核的编译系统来说, menuconfig看到的菜单是各个子目录下Kconfi
2013-02-05 09:30:38
7318
原创 Samba共享挂载问题
1、本来是可以用sudo mount -t smbfs //192.168.1.109/Share share 来挂载的,后来在12.10中又多了个cifs来取代smbfs,所以:2、sudo mount -t cifs //192.168.1.109/Share share 这里面的的mount-t smbfs/cifs都可以用mount.smbfs/cifs来代替;3、smb
2013-02-04 16:08:20
1212
原创 无线网卡被禁用问题
以前只听用户反馈过,昨晚居然自己也遇到了(一般是从win7下切换到linux才会出现),如图所示,处理方法如下:1、用ifconfig wlan0 up来开启试试2、再用rfkill list查看锁定状态 3、是软锁定,须按Fn+f2解锁,再看OK,现在软硬开关都解锁了,无线正常连上同理,硬开关没有打开也是一样的
2013-02-04 16:03:59
2819
原创 Android SDK编译
获取Android源码流程:从 https://code.google.com/p/git-repo/downloads/list 下载repo脚本repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1 (CM的Android4.2源码)repo sync -j16 (同步源码)
2013-02-04 15:50:01
805
原创 关于Yaffs2移植问题
由于编译goldfish3.4内核源码,发现在编译到Yaffs2文件系统时出错,根据出错信息,发现是由于新内核中的一些数据结构和成员名发生变化引起的,可以通过两种途径来修改编译:第一种方式是参考http://blog.youkuaiyun.com/mr_raptor/article/details/8250819 做修改,并生成patch供以后使用:yaffs2-3.4.patch第二种方式
2013-02-04 00:14:35
810
原创 编译Android goldfish内核源码
下载源码:$ git clone http://android.googlesource.com/kernel/goldfish 查看所有分支: 通过加-t来获得远程源码:$ git checkout -t android-goldfish-3.43.4中没有goldfish_armv7_defconfig文件,所以再获取2.6.29的源码:$ git ch
2013-02-03 22:48:55
1359
原创 Android编译问题记录
Android系统编译问题 获取Android源码流程:从 https://code.google.com/p/git-repo/downloads/list 下载repo脚本repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1 (CM的Android4.2源码)repo sy
2013-01-31 12:11:19
1405
原创 github使用记录
1、git的初始设置 git config --global user.name "youname" git config --global user.email youemail 2、建立仓库 git init 3、初始化项目 git add . git commit -m "updates" 4、注册githu
2013-01-31 11:03:58
659
原创 对2012年的总结
读书方面:读了几本非技术性的好书,其中《浪潮之巅》映像最深刻,目前正在读《数学之美》,也是一本难能可贵的好书;其它的几乎都是些纯技术类的书籍,涉及到Linux内核、Python语言、C++编程等方面,映像最深刻的是《冒号课堂》。项目方面:做了几个不大也不小的项目,主要是以公司项目为导向,用到的编译语言有Python/C/C++,其中Python占主,C++为辅,使用Python是因为它的开发效率和
2013-01-02 11:27:33
620
原创 用python装饰器来优化算法
摘要:最近coding时用到了Python装饰器,它的作用太强大了,而且使用也简单,解决了我代码中大量重复计算的瓶颈,下面以计算Fibonacci数列为例来说明问题:C语言版:#include //fib.cint fib(int n){ if(n < 3) { return 1; } else { return fib(n-1) + fib(n-2); }
2012-11-29 17:49:18
2089
原创 Linux下的守护进程(Python和C版)
摘要:守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。(维基百科) 编程原则:在后台运行(fork) ---- 脱离控制终端(setsid) ---- 禁止进程重新打开控制终端(fork)
2012-11-22 00:20:24
1169
原创 Python使用bitey调用C模块
我们为了提高 Python 的性能,有时会用 C 来扩展 Python,一般要引入 ctypes 模块连接 C 编译出来的动态库(.so文件)。例如下面的 Fibonacci数列 C 代码:int fib(int n){ if(n < 3) { return 1; } else { return fib(n-1) + fib(n-2);
2012-10-23 00:15:45
1417
原创 图形界面库Windows Forms、 MFC、WTL、WxWidgets、Qt、GTK 综合比较
图形界面库Windows Forms、 MFC、WTL、 WxWidgets、Qt、GTK 综合比较见下表:总结: GTK+主要用在X Window上,整个设计的架构和许多概念和MFC以及一般 Windows 上的程序开发大异其趣,入门门槛较高,而且最主要的特色是,它用不具有物件功能的纯C 语言,模拟物件导向。所以写起来比较复杂艰涩,而且充满大量巨集,使
2012-10-12 10:58:45
2240
原创 Linux设备驱动程序工作原理
Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件
2012-02-02 11:01:49
1903
1
转载 嵌入式Linux设备驱动工作原理的研究
摘要:计算机软件和集成电路技术的发展,为嵌入式产业带来了巨大的机遇和挑战,Linux以其稳定、高效、易定制、硬件广泛支持等特点,迅速崛起为当今计算机领域的一匹黑马。文章通过对与嵌入式Linux设备驱动程序相关内核源码进行分析,从设备驱动的体系结构和内核环境两方面入手,对嵌入式Linux设备驱动程序的工作原理进行剖析和阐述。关键词: Linux;嵌入式系统;设备驱动;内核环境0. 引
2012-02-02 10:49:42
2380
转载 udev规则说明
udev介绍: 1、udev规则文件: /etc/udev/rules.d/ (用户自定义的规则文件一般放在这)、 /lib/udev/rules.d/2、udev主配置文件:/etc/udev/udev.conf3、规则文件前缀数值50为默认值;数值越小越先被解析。4、udev工具集包括udevadm、udevcontrol、udevinfo、udevmonitor、udevse
2012-02-01 15:09:39
1673
转载 pygtk技术汇总
#===============================================================================#[窗口/对话框]# 绑定事件处理函数 self.win.connect("delete-event",gtk.main_quit)# "about"对话框 def about(self, widget):
2012-02-01 15:01:50
997
原创 使用C++来写Python扩展模块
1.起因 众所周知,python在处理一些计算量大的任务时效率很低,不仅仅是执行速率,还有内存占用上,比如下面一段代码就可以让你的电脑卡得不行:alist = [i for i in xrange(1024*1024*1024)]所以有的时候还是得借助C/C++来增强Python的效率。2.方法 我所知道的大概有三种常用方法:1>使用ctypes模块来调用C写的
2011-11-03 21:19:01
2668
原创 python中的md5和sha1加密算法使用
MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来
2011-08-16 11:08:10
9287
原创 用python解析xml文件
python中解析xml文件一般可用三种库:xml.dom.minidom(python从2.0版后自带)、cElementTree(依赖于ElementTree库)、lxml(构建在两个 C 库之上:libxml2 和 libxslt)。 当我用一个2K的xml文件来测试它们的效率时,解析时间上没有什么差别,但内存使用上分别为3.5M、2.9M、4.7M;当用968K的xml文
2011-06-09 17:34:00
2584
原创 使用psyco来加速python程序
最近在写一个python的程序,由于要处理大量的循环语句,导致整个程序运行起来显得很吃力,所以想试试psyco这个模块。安装psyco很简单,直接去http://psyco.sourceforge.net/下载1.6的源码包,在linux下解压,再sudo python setup.py install就OK了,在此不多说。使用方法:1>在自己的python代码中加入import psyco;psyco.full()psyco.full()是对所有的函数都编译,但是内存开销也随之增加不少,在
2011-05-16 17:20:00
4591
1
原创 用python监视文件变化
最近在做一个项目,要监视一个目录下文件的变化,不多说,先看代码:第一种方式:#!/usr/bin/env python#coding=utf-8 import osimport gtkimport gobjectfrom pyinotify import WatchManager, Notifier, ProcessEvent, ThreadedNotifier, IN
2011-05-02 13:46:00
11031
10
转载 Python的ASCII, GB2312, Unicode , UTF-8
ASCII 是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是 0-127。Unicode分为UTF-8和UTF-16,UTF-8是可变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理。 Python 从 2.2 开始支持 Unic
2011-04-13 23:46:00
1771
Linux下设备管理器开发文档
2014-09-17
Linux下的设备管理器
2014-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人