- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 树莓派3B运行OP-TEE
需要设备 电脑一台(我的是ubuntu14.04)、 树莓派3B(op-tee支持的版本)包括电源、USB转串口模块(例CP2102模块)一、在电脑上编译OP-TEE安装需要的包:$sudo apt-get install git android-tools-adb android-tools-fastboot autoconf automake bc bison build-essential
2017-03-08 22:50:32 5554 5
转载 linux内核地址空间和高端内存
摘要:Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。用户空间的内存映射采用段页式,而内核空间有自己的规则;本文旨在探讨内核空间的地址映射。 Linux内核地址空间划分通常32位Linux内核虚
2017-03-02 16:59:58 768
原创 linux内核分析——简单代码反汇编为汇编代码分析
main.c内容如下:int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return f(8) + 1;}然后反汇编:gcc –S –o main.s main.c -m32生成main.s汇编文件,打开去掉前面有点“.”的行(这些行在汇编中没什么用起辅助作用
2017-03-01 23:53:32 1320
转载 linux内核 信号
本文简单介绍下Linux信号处理机制,为介绍二进制翻译下信号处理机制做一个铺垫。本文主要参考书目《Linux内核源代码情景分析》《独辟蹊径品内核:Linux内核源代码导读》首先,先说一下什么是信号。信号本质上是在软件层次上对中断机制的一种模拟,其主要有以下几种来源:程序错误:除零,非法内存访问… 外部信号:终端Ctrl-C产生SGINT信号,定时器到期产生SIGALRM…
2017-03-01 15:53:59 368
转载 言简意赅:中断中为何不能使用信号量,中断上下文为何不能睡眠
不论是书上还是网上,对这块的解释,总是很凌乱, 让人不好理清。 大部分开发者可能也只知其然,不知所以然。在网上找到一篇对此解释言简意赅,一看就懂的文章,故分享过来。1、中断中为何不能使用信号量?答: 信号量会导致睡眠。2、中断上下为何不能睡眠?以下为转载: http://blog.chinaunix.NET/uid-7332782-id-3213376.h
2017-02-20 15:59:13 8309
原创 gem5 full system全模式下运行linux系统
1. Linux镜像下载:http://www.m5sim.org/Download选择X86下的Full System Flies和Alpha下的Full System Files下载到本地。在gem5文件下新建文件夹为:full_system_images,把上面第一个文件复制到该文件夹下(第二个拿过来也没关系):解压两个文件:tar jxf ***
2016-12-13 23:28:49 2435 1
原创 Ubuntu14.04编译安装gem5
ubuntu需要是64位的:具体可去官网查看gem5最新下载:http://repo.gem5.org/1、点击第二个bz2下载:源码编译安装前需要一些依赖:http://www.m5sim.org/Dependencies很幸运的是,都可以通过apt-get install 进行安装:2、安装依赖包$sudo apt-get install g++$su
2016-11-10 16:34:44 2255
转载 WebSocket的原理,以及和Http的关系
一、WebSocket是HTML5中的协议,支持持久连接;而Http协议不支持持久连接。首先HTMl5指的是一系列新的API,或者说新规范,新技术。WebSocket是HTML5中新协议、新API.Http协议本身只有1.0和1.1,也就是所谓的Keep-alive,把多个Http请求合并为一个。 二、WebSocket是什么样的协议,具体有什么优点。首先,
2016-10-08 10:29:27 323
原创 wordpress 修改固定连接提示页面404错误
1、sudo vi /etc/apache2/apache2.conf2、把WordPress下的 .htaccess文件权限和所有者改为(如果不是的话)chmod 666 .htaccess3、允许自动写入sudo a2enmod rewrite4、重启apache服务器sudo /etc/init.d/apache2 restart现在重新设置固定连接即可生效:(可以先修改为默认的朴素-》保存更
2016-08-11 00:29:35 469
转载 UbuntuServer14.04下搭建LAMP环境
copy from:http://www.cnblogs.com/myzhibie/p/4330327.html对于很多PHP初学开发者来讲,搭建一个可用于生产的LAMP环境是一件费时费力的事情,本文以 ubuntu-server14.04为例,给出一个搭建环境的教程,供大家参考; 1.更新软件源sudo apt-get update2.安装Apache
2016-08-08 16:56:05 539
原创 ultraEdit格式化代码
以C语言为例:高级->配置工具:命令行为:"D:\Program Files\UltraEdit\GNU\astyle.exe" --style=ansi "%f"其中前面为你的ultraEdit的安装目录中的GNU\astyle.exe目录,注意上面有2个引号点击输出:改为如下就有这个选项了,然后打开一个C文件,就可以格式化了。
2016-08-05 14:52:07 28890 1
原创 windows7下eclipse编写python——eclipse配置
一、准备工作所需3个软件:1、首选你电脑已经安装了python,我这里安装的是python3.5,要记得安装目录。2、下载PyDev for Eclipse(目前最新版本5.1.2更新时间2016-6-23): https://sourceforge.net/projects/pydev/此版本PyDev要求:requires Java 8 and Eclipse
2016-08-03 11:11:05 976
转载 Python解释执行原理
这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。 但是对于Python而言,python源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行python文件程序的时候,pyth
2016-08-02 10:56:52 8453
原创 ubuntu server 14.04 编译安装xen4.4.2配置vtpm(三)——创建DomU(a PV VM)
为了创建的半虚拟化VM能上网,在domain0中需设置网桥:#vi /etc/network/interface修改如下:# The loopback network interfaceauto loiface lo inet loopback#The primary network interface#auto eth0#iface eth0 inet dhcpauto
2016-07-28 16:15:34 1268 1
转载 Makefile 中:= = ?= += 的区别
在Makefile中我们经常看到= := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendif ifeq ($(OPT),define) VRE ?= “Hello World! First!”endif
2016-07-28 14:55:54 229
转载 unix socket编程
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型
2016-07-15 17:43:19 6627
转载 C 语言中 extern 的用法,举例介绍
C 语言中 extern 的用法在 在 C 语言中,修饰符 extern 用在变量或者函数的声明前,用来说明“此变量/ 函数是在别处定义的,要在此处引用”。1. extern 修饰变量的声明。举例来说,如果文件 a.c 需要引用 b.c 中变量 int v ,就可以在 a.c 中声明 extern int v ,然后就可以引用变量 v。 。 能够被其他模块以 ext
2016-07-15 14:56:17 2761
转载 linux下的库函数.so和.a
Linux下的.so是基于Linux下的动态链接,其功能和作用类似与windows下.dll文件。下面是关于.so的介绍:一、引言通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数
2016-07-13 09:28:45 1222
转载 双指针的作用
用法1:用作函数的返回值,比较常见的是返回分配的堆内存地址。下面用一个例子进行说明下:[cpp] view plain copy print?/*****************************************************************************/ /** * \b
2016-07-11 15:52:30 684
原创 ucosii 多事件同步机制-读写者例子
课程所需,看了看ucosii代码,写了个ppt如下:http://download.csdn.net/detail/clarkchenhot/9540875例子介绍:下面贴个读写者的例子代码:#include "..\ucos\includes.h"#define TASK_STK_SIZE 512
2016-06-04 10:19:31 1838
转载 update-rc.d 开机自动执行脚本
所有的机器都有可能重启,很多应用程序、服务需要在机器启动的时候自动执行,这里记录两种开机执行脚本的方法及相关的一个命令。第一种:修改/etc/rc.local在/etc/rc.local的exit 0语句之间添加启动脚本。脚本必须具有可执行权限。例如添加:./home/username/abc.sh第二种:用update-rc.d命令
2016-05-19 22:41:41 1413
原创 Ubuntu下vi输入i不进入insert插入模式
修改/etc/vim/vimrc.tiny 文件,将set compatible 设置成set nocompatible . 保存退出即可。这是因为有时候系统会默认vim兼容vi,所以使用vi的命令
2016-05-05 20:39:26 13056 5
转载 DPL、CPL、RPL之间联系与区别
这篇文章写的太好了!!这是保护模式完整的权限检查,其实当今的操作系统也不会弄的这么复杂…… 特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下: 简单解释:--------------------------------------------------------------------------------
2016-04-27 10:17:45 382
转载 Linux驱动虚拟地址和物理地址的映射
一般情况下,Linux系统中,进程的4GB内存空间被划分成为两个部分------用户空间和内核空间,大小分别为0~3G,3~4G。 用户进程通常情况下,只能访问用户空间的虚拟地址,不能访问到内核空间。 每个进程的用户空间都是完全独立、互不相干的,用户进程各自有不同的页表。而内核空间是由内核负责映射,它并不会跟着进程改变,是固定的。内核空间地址有自己对应的页表,内核的
2016-04-20 09:26:39 816
原创 ubuntu server 14.04 编译安装xen4.4.2配置vtpm(二)——Dom0内核编译
1.内核下载:# uname -a 发现我的内核为3.13.0-32-generic,从https://www.kernel.org/pub/linux/kernel/v3.0/下载3.13.1.tar.gz内核文件。# xl list 可能出错,xl: error while loading shared libraries: libxlutil.so.4.4: cannot
2016-03-03 15:38:12 2302
原创 ubuntu server 14.04 编译安装xen4.4.2配置vtpm(一)——xen4.4.2源码编译安装
1、安装前包下载1.1#apt-get install build-essential1.2下面的包建议一个一个安装,我就一个个安装的。#apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif t
2016-03-02 13:15:04 1565
原创 Ubuntu server 14.04.1安装TPM-emulator(成功步骤)
参考:http://blog.csdn.net/nn179/article/details/8547018 1.安装CMakesudo apt-get install cmake2.安装GNU MP library下载网址:http://gmplib.org我用的是:http://ftp.gnu.org/gnu/gmp/我下载的版本是gmp-
2016-03-01 11:16:01 5504 6
原创 ubuntu14.4设置vi编辑器显示行号和代码颜色
第一步、安装vim 命令为:sudo apt-get install vim第二步、更改vim的配置文件etc/vim命令为:(1)cd/etc/vim (2)sudo gedit vimrc 第三步、在vimrc最后令起一行插入下面内容syntax onset tabstop=4set shiftwidth=4set autoinde
2015-10-27 16:03:05 5897
转载 Intel CPU简介
现在Intel已然成了CPU的代名词,但当年的Intel并没有现在这么风光。从1978年发布的8086到2013年的四代i7,整整35年,她见证了从PC到互联网、移动互联网的几次巨变;这些年的变化实在太多。本文不打算对这段历史及引领这段历史的风云人物做多少描述和评价(这些内容足够写好几本书的了),你若对这些内容更感兴趣,请移步。本文只对Intel CPU家族中几位名声显赫的人物做简要介绍,并对比他
2015-10-26 22:36:36 1531 1
原创 Ubuntu下用vi命令出现错误
例如按i无法进入插入模式。这是因为ubuntu默认vim是兼容vi的修改/etc/vim/vimrc.tiny 文件,将set compatible 设置成set nocompatible保存退出即可。
2015-10-12 15:19:50 1547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人