自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用 windbg + virtualbox 搭建双机内核调试环境

软件包准备1. 下载安装 Windows SDK我下载的是 19041.685.201201-2105.vb_release_svc_prod1_WindowsSDK.iso2. 下载安装 VirtualBox直接从官网下载即可3. 下载 Windows 10 镜像从NEXT, ITELLYOU下载 windows 10 镜像,我下载的是 zh-cn_windows_10_business_editions_version_21h1_updated_sep_202...

2021-09-25 18:57:53 1012

原创 windows 中使用 strings 命令

Strings - Windows Sysinternals | Microsoft DocsSearch for ANSI and UNICODE strings in binary images.https://docs.microsoft.com/zh-cn/sysinternals/downloads/strings

2021-09-25 18:23:29 3178

原创 How to build strace

1. download strace source code from github:https://github.com/strace/strace/releases. 直接下载 release 的版本,这个里面包含了 configure 文件,可以直接使用。2. export CC=<cross_compiler>/xxxx-gccexport LDFLAGS=“-static -pthread”./configure --host=arm-linuxmake...

2021-07-10 00:07:55 331

原创 某个section不想被gc-sections remove

gc: garbage collection--ffunction-sections: 将 function 都编译成单独的 section--fdata-sections:将data/bss都编译成单独的section链接参数--gc-sections:remove unused 的function/data--print-gc-sections: print removed function/data如果某个section 没有使用到,但是又不想被 GC remove,可以在 LD scrip

2021-05-06 22:36:35 514

原创 Armv8-A架构安全特性总结

Arm-A 体系架构安全特性总结:安全特性 英文拼写 说明 应对的攻击 引入的版本 XN execute never 不可执行。一般用于配置数据段不可执行,防止数据段注入可执行的shell code。 使用XN可执行DEP(Data execute Prevention,一般我们通常说的堆栈不可执行) 任意地址读写、代码段覆盖 < v8 PXN Privileged Execute Never 特权模式不可执...

2021-04-02 00:07:29 1211 1

原创 [MacOS][Google Chrome 浏览器] 鼠标右键需要双击才能弹出菜单

鼠标右键单击没有反应,需要双击才能够弹出菜单。原来是CrxMouse 插件搞的鬼。

2021-04-01 23:45:15 757

原创 Arm A-profile feature names

自 2020 年 6 月开始,Arm A-profile 架构的 feature name 全部更改为标准的格式,都以 FEAT_ 前缀打头。从 feature name 上已经无法分辨是那个 archtecture 版本引入的功能了。Old name New name Short description Comments ARMv8.0-AdvSIMD FEAT_AdvSIMD Advanced SIMD Extension ARMv8.0-AES .

2021-04-01 22:11:18 1142 2

原创 静态库里的weak函数不生效?

使用GNU GCC __attribute__((weak)) 属性修饰的函数,在链接时可以被同名的函数覆盖掉。但发现现在的GNU LD的 search 规则是有变化的,如果先找到了 static library 里的 weak symbol,就优先link此symbol,而不去search static library里是否有 strong symbol.这样看上去 weak function 都不生效了。那如何让其在 static library 里能够生效呢?可以使用--whole-archiv

2021-03-31 08:41:07 1934

原创 recipe for target ‘ninja_wrapper‘ failed

编译前可尝试执行:export LC_ALL=C然后再执行 makeexport LC_ALL=C 是去除所有本地化配置

2021-03-30 22:24:59 621

原创 ARMv8/GICv3中断路由

文章目录ARMv8 IRQ/FIQ/SError路由流程图中断分组中断路由实例GICD_CTLR.DS=1, 假设中断A配置成Group 0,即中断A为FIQGICD_CTLR.DS=1, 假设中断A配置成Group 1,即中断A为IRQGICD_CTRL.DS=0, 假设中断A配置成`Non-secure Group 1`GICD_CTRL.DS=0, 假设中断A配置成`Secure Group 1`GICD_CTRL.DS=0, 假设中断A配置成`Group 0`ARMv8 IRQ/FIQ/SEr.

2021-03-23 00:04:51 4301 10

原创 【CA55 TRM笔记】MMU

文章目录1 MMU1.1 MMU main functions1.2 AArch32 vs. AArch641.3 TLB organization1.3.1 L1 TLB1.3.2 L2 TLB1.3.3 IPA Cache RAM1.3.4 Walk Cache RAM1.4 TLB match process1.5 Translation table walks2 L1 memory system3 L2 memory system1 MMU1.1 MMU main functions控制.

2021-03-10 21:52:20 966

原创 怎样制作视频字幕

1 .先使用软件自动识别提取视频字幕,比如VideoSrt,网易见外等。VideoSrt是开源的工具,但是它要使用云服务的API接口去语音识别字幕,如阿里云,百度云,腾讯云。这些云服务可能有收费。使用VideoSrt之前需要注册云服务账号,比较麻烦,下面的视频是介绍如何注册和配置阿里云服务的,阿里云针对个人每天有2小时的免费使用时间。VideoSrt帮助文档, 项目地址, 视频教程网易见外使用简单,注册网易见外账号,上传视频,就可以在线提取翻译中英文字幕。2. 拿到字幕后可以使用AegiSub软件来

2021-03-09 21:30:34 560

原创 Xtensa处理器客制化介绍

Xtensa处理器客制化介绍 Source: https://www.youtube.com/watch?v=rwq-Go44Y5UHere’s a fun and fast way to understand how Cadence® Tensilica® Xtensa® processors work, and how you can easily use them to offl...

2021-03-09 01:43:12 602

原创 【CA55 TRM笔记】Power Management

文章目录IntroductionVoltage domainsPower domainsArchitecture clock gatingPower modesPowerdown sequenceDebug over powerdownIntroductionVoltage domainsCA55有两个Voltage domain: Vcpu 和 Vsys。Power domainsArchitecture clock gatingWFI和WFE指令让系统关闭top level的c.

2021-03-04 23:12:46 884 2

原创 【CA55 TRM笔记】CA55 Introduction

CA55实现了:ARMv8.1-A扩展ARMv8.2-A扩展RAS扩展ARMv8.3-A扩展的Load acquire(LDAPR)指令ARMv8.4-A扩展的dot product指令具体的feature列表如下:Core featuresFull implementation of the Armv8.2‑A A64, A32, and T32 instruction setsoth the AArch32 and AArch64 execution states at all

2021-03-04 00:21:53 1170 1

原创 Linux修改控制台提示符

文章目录0. 引子1. PS1是什么意思2. PS1中特殊字符的含义3. 颜色和样式4. Reference0. 引子在Ubuntu 18中控制台console的提示符显示的是绝对路径,比如:xxx@LAPTOP-KSBIG8QU:/mnt/d/FreeRTOSv10.2.1/FreeRTOS/Source/portable/ARMv8M/secure$这个路径就比较深,占据了控制台一行的大部分,不方便输入命令。如果想改成只显示最后一级目录,该如何实现呢?想要的效果如下:xxx@LAPT.

2021-02-20 22:11:42 599

原创 怎样改变Linux控制台中目录的显示颜色

有的时候Linux控制台显示的目录颜色与背景颜色反差不大,看不清楚,可以使用LS_COLORS来改变目录的颜色。LS_COLORS=$LS_COLORS:'di=0;35:'LS_COLORS,顾名思义,设置的是 ls显示的颜色。di表示是 directory.不同项的颜色设置用:分隔,同一项的颜色设置用;分隔。比如上例中的di=0;35:0表示样式是默认的,35表示颜色是紫色。可选样式:数字样式0default color1bold4underlin

2021-02-07 22:56:27 750 1

原创 Armv8.x-A扩展特性

文章目录Armv8.1-AArmv8.2-AArmv8.3-AArmv8.4-A如何判断当前CPU使用的Armv8.x的.x是多少呢Cortex-A Processors supporting Armv8.0-ACortex-A Processors supporting Armv8.2-A备忘。Armv8.1-AAtomic memory access instructions (AArch64)Limited Order regions (AArch64)Increased Virtua.

2021-02-06 00:04:20 1030

原创 查看Linux发行版和Kernel版本号

查看Linux发行版版本号:lsb_release -r/etc/issue 里存放的是登录提示信息,里面可能也有版本信息。查看Kernel版本号:uname -a

2021-02-05 18:30:32 394

原创 解决vim和tmux主题不一致的问题

发现没开tmux时使用vim 以及 开了tmux后使用vim 主题颜色不一致,解决办法如下:1.在 ~/.tmux.conf 中设置:set -g default-terminal "screen-256color"2.在 ~/.bash_profile 中设置:export TERM="linux"3.在~/.vimrc中设置:set term=screen...

2021-02-04 20:16:10 806

原创 NVM, PROM, OTP, eFuse傻傻分不清楚

文章目录什么是NVM?PROM,EPROM,EEPROMOTP NVMeFuse vs. Anti-FuseNVM, PROM, OTP, eFuse这些概念是不是傻傻分不清楚呢?本文将介绍这些概念。什么是NVM?NVM: Non-Volatile Memory,非易失性存储器PROM,EPROM,EEPROMOTP NVMeFuse vs. Anti-Fuse...

2021-02-04 01:41:59 25425 2

原创 Semihosting简介

Semihosting (半主机)是一种ARM设备与主机(Host PC)之间通信的机制。可以在主机和设备见交换数据,比如将设备数据保存到主机文件中,将主机文件中的数据下载到设备中。其工作原理大致如下图所示。设备需要通过特定的软件指令(比如SVC指令)触发异常才能与连接设备的调试器debugger(比如ICE)进行通信。Semihosting 指令HLT指令是ARMv8新增的指令,如果想要在ARMv7及更早的处理器上也使用HLT指令去触发semihosting功能,需要debugger能处理HLT

2021-02-02 22:52:02 1703

原创 ARM体系架构介绍

体系结构包含哪些内容下表是体系结构包含的一些内容。Reference[1] Learn the architecture: Introducing the Arm architecture

2021-01-29 23:12:00 2697 3

原创 Cortex-A53 Pipeline Ordering and Memory Ordering

Cortex-A53 是顺序执行的还是乱序执行的?CA53 实际上是顺序执行(in-order)的流水线:The Cortex-A53 processor is Arm’s first Armv8-A processor aimed at providing power-efficient 64-bit processing. It features an in-order, 8-stage, dual-issue pipeline, and improved integer, Neon, Float

2021-01-28 00:10:48 1294

原创 Windows batch 获取文件时间

@echo offset file=D:\1.TXTfor %%i in (%file%) do ( set filetime=%%~ti )@echo %filetime%pause

2021-01-27 00:02:54 289

原创 Windows batch echo 命令换行

@echo.

2021-01-26 01:00:28 3855

原创 数组名和数组名取地址的区别

遇到了一个坑,记录一下。#include <stdio.h>char str[10];int main(){ printf("str = %p\n", str); printf("&str = %p\n", &str); printf("str+1 = %p\n", str+1); printf("&str+1 = %p\n", &str+1); return 0;}运行结果:str =

2021-01-24 00:04:11 1535

翻译 内存访问顺序 - part3: ARM体系架构中的内存访问顺序

文章目录本文翻译自 Memory access ordering part 3: Memory access ordering in the Arm Architecture.该系列有 3 篇文章,其余两篇是:Memory Access Ordering - an introduction,译文:内存访问顺序 - part1: 介绍Memory access ordering part 2: Barriers and the Linux kernel, 译文:内存访问顺序 - part2:.

2021-01-23 00:58:34 2980 1

原创 Docker Ubuntu镜像更换apt-get源

Docker中安装Ubuntu镜像之后,默认的软件源是Ubuntu官网,速度非常慢。但默认没有安装vi/vim,想要修改/etc/apt/sources.list就比较麻烦了。可以使用sed命令进行替换。sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listsed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listap

2021-01-22 19:50:16 2940 1

翻译 内存访问顺序 - part2: 屏障及Linux kernel中屏障的使用

文章目录本文翻译自 Memory access ordering part 2: Barriers and the Linux kernel.该系列有 3 篇文章,其余两篇是:Memory Access Ordering - an introduction,译文:内存访问顺序 - part1: 介绍Memory access ordering part 3: Memory access ordering in the Arm Architecture作者 Leif Lindholm 在.

2021-01-22 00:31:57 631

翻译 内存访问顺序 - part1: 介绍

本文探讨内存重排(memory reorder),乱序执行(out-of-order execution),内存屏障(memory barrier)等一些概念。

2021-01-20 22:09:48 1459

原创 xplorer spill address

xplorer debug 时需要 spill address, 如果担心系统默认使用的 spill address 踩到了别人的memory, 可以在 code 中定义 xtensa_debug_spill_location , 这样 xplorer 就会找这个变量指定的memory 空间。__attribute__ ((aligned(16)) volatile char __xtensa_debug_spill_location__[1024]; ...

2020-12-10 00:30:39 256

原创 SourceInsight配置

保存文件自动去除行尾多余的空格和tab符Options -> Preferences -> Files -> Remove extra white space when saving勾选上窗口标题显示文件完整路径Options -> Preferences -> Display -> Trim long path names with ellipses取消掉取消窗口标题显示文件名首字母大写,与真实文件大小写保持一致Options -> Pref.

2020-12-10 00:21:48 212

原创 如何解决SecureCRT无法选择Courier New等其他字体

到C:\Windows\Fonts目录下,找到Courier New字体右键,在弹出菜单中点击 显示 即可。win7下的securecrt选择字体的时候仅有少数几个字体,看windows目录Fixedsys等字体是存在的,看来是被隐藏了,打开方法,控制面板-字体,左边的字体设置,把根据语言设置隐藏字体的选项去掉。回到SecureCRT中:Options->Session Options(或者选择Preferences)->Terminal->Appearance->Normal

2020-12-10 00:16:44 1019 1

转载 win10访问不了samba共享文件夹解决方法

https://jingyan.baidu.com/article/7c6fb428d62a6e80642c90cc.html win10里用鼠标右键移到开始菜单点击鼠标“右键”,选择“运行(R)” 在运行窗口输入“gpedit.msc”回车运行或按“确定”按钮 在弹出的“本地策略组编辑器里选择”下图红色标记。双击“启用不安全来宾登录” 在弹出的窗口里选择下图红色箭头指向的“已启用”,点“确认”按钮。 这样win10就可以访问smb服务器的共.

2020-12-01 23:44:25 4187

原创 Android images

boot.img dtb + kernel image + ramdisk system.img system目录 userdata.img data目录 cache.img lost+found目录

2020-12-01 23:36:53 287

原创 I-Cache, D-Cache和MMU组合方式

ICache | DCache | MMU | Allowed?Off | Off | Off | YesOn | Off | Off | YesOff | On | Off | NoOff | Off | On | YesOn | On | Off | NoOff | On | On | YesOn | Off | On | YesOn | On | On | Yes

2020-11-23 11:42:01 388

原创 Amazon FireTV源码

https://www.amazon.com/gp/help/customer/display.html?nodeId=201452680这里可以下载Amazon FireTV 相关的source code

2020-11-22 21:35:13 190

原创 Android PATH and ld path

Android PATH environment and LD path

2017-08-06 15:53:17 1450

原创 [Android] compile static binary

Android compile static library/binary

2017-08-06 15:36:48 362

IHI0069G_gic_architecture_specification.pdf

GIC V3.1, V4.1 Spec

2021-03-20

RegBit-寄存器计算器

寄存器计算器

2021-01-05

高手进阶,终极内存技术指南

带书签版本

2020-12-22

空空如也

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

TA关注的人

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