自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(253)
  • 资源 (8)
  • 收藏
  • 关注

原创 netlink学习小结

概述内核态与用户态通信有多种方式,例如系统调用,ioctl,procfs/sysfs,uevent等,netlink也是内核态和用户态通信的一种重要方式,而且它提供全双工的工作模式,用户态和内核态都可主动向对方发送信息。netlink接口简介数据结构用户态数据结构:struct sockaddr_nl{ sa_family_t nl_family; /* AF_NETLINK */ unsigned short nl_pad; /* zero

2022-03-23 00:12:26 972

转载 google protocol buffer

https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html Google Protocol Buffer 的使用和原理 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .pro...

2018-07-09 14:32:16 692

原创 Caffe (卷积神经网络框架) Convolutional Architecture for Fast Feature Embedding

Introduction Caffe (卷积神经网络框架) Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。 caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。caffe的官网是htt...

2018-06-08 13:37:01 3329

翻译 ARMv8的两种执行状态: AArch64/AArch32

Copied from ARM® Compiler User Guide When compiling code, you must first decide which target the executable is to run on. An ARMv8-A target can run in different states: • AArch64 state targets execu...

2018-05-29 09:55:09 13243 1

转载 armv8 page table

From “DEN0024A_v8_architecture_PG.pdf”

2018-05-20 23:51:15 901

转载 一个在pc上显示手机屏幕的小工具droid

http://thapaamrit.blogspot.in/2015/04/how-to-mirror-android-phone-screen-on.html转一个在pc上显示手机屏幕的小工具droid。可用在某些特殊情况下,一般情况下没什么用。tems Required:Latest Version of Java: https://www.java.com

2017-11-08 14:32:19 2899

转载 c++技术要点

转c++技术要点的bloghttp://blog.csdn.net/tht2009/article/details/6920511在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。mutable的承诺是如果某个

2017-07-29 09:19:41 499

转载 Linux内核页回收swappiness参数确切含义

https://www.douban.com/note/349467816/本文主要尝试解释两个问题:1. swappiness的确切含义是什么,它对内核进行页回收机制的影响。2. swappiness设置成0,为什么系统仍然可能会有swap发生。一. 关于内存分配与页回收(page reclaim)page reclaim发生的场景主要有两类,一个是kswapd后

2017-07-19 23:51:38 1984

转载 irqbalance

http://www.bubuko.com/infodetail-1129360.htmlirqbalance 理论上:启用 irqbalance 服务,既可以提升性能,又可以降低能耗。irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。处于 Perfor

2017-07-19 23:31:22 10530

转载 c++ struct

以前没怎么关注过这个点,记录一下http://blog.csdn.net/ucasliyang/article/details/52691619在做一个小的程序题的时候,看到了struct中定义了函数,之前没有看到过,所以查了一点相关的知识,在这里记录一下:c++中允许在结构体当中定义函数,它的用法和类的用法很像,不过与类有一个区别在于,struct中定义的函数和变量都

2017-07-19 23:18:39 1731

转载 against parallel execution in shell (flock)

http://blog.chinaunix.net/uid-25324849-id-3077304.html#! /bin/bash - set -x#exec 6{         flock -n 6#       [ "$?" -eq "1" ] && {echo "fail"; exit;}         if [ "$?" -eq "1" ]; th

2017-07-12 14:50:46 307

转载 记录一下下载内核的命令

记录一下下载内核的命令,以免每次都去找。git clone linux官方内核http://blog.csdn.net/junmuzi/article/details/8518696Git clone git://git.kernel.org/pub/scm/Linux/kernel/git/stable/linux-stable.git克隆rt linux s

2017-06-16 13:43:35 1218

转载 解决eclipse调试c++程序出现“No source file named” error

http://blog.initm.com/eclipse-error-debug/前些天遇到的问题这是,早就应该写了,但是需要做的事情太多,一直拖到要走了,拖不动了,写!和上一篇文章是相关的,因为我换了一个编辑器eclipse,第一次用,所以遇到一些问题,提示出现No source file named  怎么解决呢?试了几次没有效果之后开始百度。中文的没有找到相关的文章,于

2017-05-18 10:54:53 4021

转载 原子操作--ARM架构

http://www.cnblogs.com/liuhailong0112/p/5745509.html说明:内核版本号为3.10.101一、ARM架构中的原子操作实现  在原子操作(一)中我们已经提到,各个架构组织为“复仇者”联盟,统一了基本的原子变量操作,这里我们就拿atomic_dec(v)来看看通天ARM的实现。首先是atomic_dec(v)原子减一操

2017-05-17 15:29:41 2468

转载 ARM平台下独占访问指令LDREX和STREX的原理与使用详解

LDREX Rx, [Ry]读取寄存器Ry指向的4字节内存值,将其保存到Rx寄存器中,同时标记对Ry指向内存区域的独占访问。STREX Rx, Ry, [Rz]如果执行这条指令的时候发现已经被标记为独占访问了,则将寄存器Ry中的值更新到寄存器Rz指向的内存,并将寄存器Rx设置成0。指令执行成功后,会将独占访问标记位清除。而如果执行这条指令的时候发现没有设置独占标记,

2017-05-17 15:27:22 2831

转载 Linux Kernel之spin_lock之ARM64实现

注意arch_spin_lock中的注释,可解释为何一般sevl指令放在wfe指令之前。* No: spin on the owner. Send a local event to avoid missing an* unlock before the exclusive load.如果event寄存器的值不为零,则wfe指令不会进入low power standby mode。

2017-05-17 15:21:50 2504 1

转载 arm架构下spinlock原理 (代码解读)

http://blog.csdn.net/longwang155069/article/details/52055876自旋锁的引入原子变量适用在多核之间多单一共享变量进行互斥访问,如果要保护多个变量,并且这些变量之间有逻辑关系时,原子变量就不适用了。例如:常见的双向链表。假设有三个链表节点A、B、C。需要将节点B插入节点A、C之间。如果CPU A刚好将A节点的后向指针指向

2017-05-17 15:13:14 14151 1

转载 ARM体系结构的发展之:ARMv6增加的系统支持

http://www.eefocus.com/embedded/32322316.2  ARMv6增加的系统支持为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要,ARM公司在ARMv6中引入新的技术和结构组成,包括增强的DSP支持和对多处理器环境的支持。 16.2.1  存储管理由于在ARMv6体系结构中引入新的存储管理机制,

2017-04-18 15:21:50 988

转载 arm linux的ASID (Address Space ID)

http://blog.163.com/awaken_ing/blog/static/1206131972015112011286335平台:ARM Versatile Express for Cortex-A9 (ARMv7) # CONFIG_ARM_LPAE is not set, 也就是使用Short-descriptor格式, ASID存储在CONTEXTIDR的低8 b

2017-04-18 15:19:21 3649 4

转载 crontab

crontab -e#if needed, we can change editor with following cmd:select-editorcrontab -lhttp://www.centoscn.com/CentOS/help/2014/1030/4025.htmlcrontab的格式讲解每项工作 (每行) 的格式都

2017-04-06 14:59:18 1403

原创 linux screen command

base commands:screen -S namectrl-a dexit # when current session is not needed any morescreen -lsscreen -r session_numhttp://www.cnblogs.com/xupeizhi/archive/2013/05/20/3088779.html

2017-03-28 10:24:38 533

原创 ubuntu上disable intel_pstate,使用固定频率

从Ubuntu15的某个版本开始,在使用intel某些cpu的pc上默认使用intel_pstatecpufreq driver。后果就是只有performance和powersave两个governor可用。可通过下面命令确认:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governorpowersave perf

2017-03-15 17:21:29 15274 1

原创 陆金所8.4%投资项目真实收益计算

投资陆金所 稳赢-安e+ 每月等额本息的投资项目,名义收益率是8.4%,现在计算一下真实收益率。投资5万块,每期到账1576.05,共36期。则到期后收到的钱款总额是: 36 * 1576.05 = 56737.8真实年收益率是: 4.3%(56737.8 / 50000 )^(1/3) = 1.04304当然上述计算仅仅考虑了该理财项目本身,在收到最后一期款项之前收到的款项可

2017-03-02 13:47:09 6084

转载 编译llvm和lnt

Following is used to download/build llvm#!/bin/sh -xexport LLVM_DIR=$PWD# check out llvmcd $LLVM_DIRsvn co http://llvm.org/svn/llvm-project/llvm/trunk llvm# check out clangcd $LLVM_D

2017-02-24 00:45:21 820

转载 windows apache2.4 web server

http://blog.csdn.net/lsyz0021/article/details/51998848download  (httpd-2.4.25-x64-r1.zip)upzip Apache24modify Apache24\conf\httpd.confSRVROOTListenportnumServerName 192.168.1.104:8

2017-02-22 23:25:56 382

转载 install gcc-4.8 and g++-4.8 on ubuntu16.04

the default gcc on ubuntu16.04 is gcc-5.4 (and g++-5.4). Below is the way to install gcc4.8 (and g++-4.8):install gcc-4.8 and g++-4.8 on ubuntu16.04sudo aptitude install gcc-4.8sudo update-alter

2017-02-20 07:49:13 3140

转载 clang: a C language family frontend for LLVM

http://clang.llvm.org/get_started.htmlhttp://clang.llvm.org/On Unix-like SystemsNote: as an experimental setup, you can use a single checkout with all the projects, and an easy CMa

2017-02-16 16:25:47 672

转载 ramdisk.img system.img userdata.img 分析

在out/target/product/generic下生成的三个镜像文 件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。 ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,android加载 这3个映像文件后,会把 system和 use

2016-12-28 23:30:12 888

转载 getconf

利用getconf获取linux系统的系统信息,例如或者processor number:getconf _NPROCESSORS_ONLN下面是getconf -a的输出,可看到可用getconf获取很多信息。getconf -aLINK_MAX                           65000_POSIX_LINK_MAX              

2016-12-22 15:17:48 1782

转载 adb 查看Android版本号和SDK版本号

获取系统版本:adb shell getprop ro.build.version.release获取系统api版本:adb shell getprop ro.build.version.sdk

2016-12-17 14:30:42 54116

转载 Ubuntu上玩转graphviz绘图工具

http://blog.csdn.net/tao_627/article/details/26128001简介关于Graphviz: Graphviz(英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。Graphviz是一个自由软件,其授权为Eclipse P

2016-12-17 00:24:45 9623

转载 段错误bug的调试

http://blog.csdn.net/ab198604/article/details/6164110我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难 免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错

2016-10-25 22:02:06 1374

转载 C++的STL库,vector sort排序时间复杂度 及常见容器比较

http://www.cnblogs.com/sthv/p/5511921.htmlhttp://www.169it.com/article/3215620760.htmlhttp://www.cnblogs.com/sharpfeng/archive/2012/09/18/2691096.html在C++的STL库中,要实现排序可以 通过将所有元素保存到vec

2016-10-25 18:28:32 11517 3

转载 kill -3 pid打印trac

http://blog.csdn.net/u013225534/article/details/52389111$chmod 777 /data/anr$rm /data/anr/traces.txt$ps$kill -3 PIDadbpull data/anr/traces.txt ./mytraces.txt 或者cat traces.txthttp://blo

2016-09-25 22:32:35 1756

转载 Android 打印堆栈的几种方法

http://www.2cto.com/kf/201504/388758.html1、Log.d(TAG, Log.getStackTraceString(new Throwable()));2、Exception e = new Exception("this is a log");e.printStackTrace();3、?

2016-09-22 17:29:48 1219

转载 logcat 命令行用法

http://blog.csdn.net/tumuzhuanjia/article/details/39555445-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

2016-09-20 15:33:39 17964

转载 kprobes

1.  struct kprobestruct kprobe {       structhlist_node hlist;        /*list of kprobes for multi-handler support */       structlist_head list;        /*countthe number of times this pr

2016-08-04 16:03:30 915

转载 syscore

struct syscore_ops里有四个成员,一个list,三个函数指针(suspend, resume and shutdown)。模块定义一个struct syscore_ops型变量(可只给部分函数指针赋值),然后使用register_syscore_ops进行注册,反之也可用unregister_syscore_ops解除注册。syscore_suspend/syscore

2016-07-24 11:54:00 2344

转载 switch_set_state/netlink/kmod

许多代码调用接口 switch_set_state 向用户态传递消息,在 switch_set_state 中:switch_set_state 调用接口 kobject_uevent_env在 kobject_uevent_env 中,如果定义了 CONFIG_NET ,则会通过netlink向用户态发送消息;在kernel3.4上,不判断,直接调用call_usermodehelp

2016-07-24 09:42:18 2518

转载 linux的early printk的探讨

http://mcuos.com/thread-8169-1-1.html(一)知识背景:[color=Red]Uncompressing Linux... done, booting the kernel.------------setup_arch------------------------setup_machine_fdt return 0----

2016-07-14 17:42:50 2866

ARM® Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM® Architecture Reference Manual ARMv7-A and ARMv7-R edition

2018-06-15

Bare-metal Boot Code for ARMv8-A Processors

Hardware verification engineers often run bare-metal tests to verify core-related function in a System on Chip (SoC). However, it can be challenging to write boot code for a bare-metal system, without a basic understanding of software development on the ARM architecture. This application note provides code examples for the following important operations that are involved in booting a bare-metal system: • Initializing exceptions. • Initializing registers. • Configuring the MMU and caches. • Enabling NEON and Floating Point. • Changing Exception levels. The code examples are written with the GNU assembly grammar and are tested on the Cortex-A53, Cortex-A72, and Cortex-A73 processors. They also apply to other ARMv8-A processors.

2018-05-29

ARM Generic Interrupt Controller Architecture Specification (3.0 & 4.0)

ARM Generic Interrupt Controller Architecture Specification (GIC architecture version 3.0 and version 4.0)

2018-05-04

KBUILD系统原理分析.pdf

从别的地方下载的一份文档,详细讲述了内核Kbuild机制,值得一看

2012-09-27

linux进程管理之可执行文件的加载和运行.pdf

linux进程管理之可执行文件的加载和运行

2011-10-31

Programming the MIPS32 24KE Core Family

Programming the MIPS32 24KE Core Family

2011-10-10

Brief Introduction to MIPS32 Shadow Registers

Brief Introduction to MIPS32 Core Shadow Registers for Microcontroller Applications

2011-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除