LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

2023年4月23日

ARM A7 PMU+perf简单记录

摘要: 关键词:pmu,perf等等。 简单记录PMU及其内核驱动,内核中perf相关内容,以及两者是如何关联的。然后记录perf应用是如何和PMU硬件关联的,以及如何使用perf查看PMU结果。 A7 PMU概要 PMU作为一个扩展功能,是一种非侵入式的调试组件。 对PMU寄存器的访问可以通过CP15协处 阅读全文

posted @ 2023-04-23 23:59 ArnoldLu 阅读(1232) 评论(0) 推荐(0) 编辑

Buildroot使用记录

摘要: 关键词:rootfs、BR2_EXTERNAL等等。 记录buildroot使用各种方法,以及解决的问题。 1 定制文件系统方法 1.1 根文件系统覆盖(BR2_ROOTFS_OVERLAY) 将BR2_ROOTFS_OVERLAY指向的目录覆盖到output/target根文件系统。还可以通过都好 阅读全文

posted @ 2023-04-23 23:59 ArnoldLu 阅读(1331) 评论(0) 推荐(1) 编辑

2023年3月26日

嵌入式Linux GUI收集

摘要: 关键词:QT、Nano-X、MiniGUI、Wayland、LVGL等等。 QT QT框架结构 QT支持的平台 Desktop Platforms Linux/X11 DistributionArchitectureCompilerNotes openSUSE 15.1 x86_64 GCC 5 o 阅读全文

posted @ 2023-03-26 23:59 ArnoldLu 阅读(540) 评论(0) 推荐(0) 编辑

2023年3月25日

基于QEMU模拟器搭建Builtroot下的QT开发环境

摘要: 关键词:buildroot、qt、qemu等等。 1 Builtroot下载编译运行 下载Buildroot: git clone -b 2022.08 https://gitee.com/arnoldlu/buildroot.git 编译: make qemu_arm_vexpress_defco 阅读全文

posted @ 2023-03-25 23:59 ArnoldLu 阅读(847) 评论(0) 推荐(0) 编辑

2023年3月22日

Yocto 2:Yocto基本概念、编译流程、目录

摘要: 关键词:Recipe、Layer、Metadata、Poky、bitbake等等。 1 关键概念 深入了解Yocto之前,先了解一些基本概念。在Software – Yocto Project有说明。 这里摘录一段中文翻译: 配置文件: 包含全局定义变量,用户定义变量和硬件配置信息。配置文件告诉构建 阅读全文

posted @ 2023-03-22 23:59 ArnoldLu 阅读(5355) 评论(0) 推荐(0) 编辑

2023年3月19日

Python根据图片拍摄日期等整理重命名

摘要: 关键词:exif、exifread等等。 最近在整理多年拍摄的图片,希望按照拍摄时间进行排序整理制作相册。 但是有的图片有水印显示拍摄日期;有的文件创建日期因为搬运创建日期和修改日期都已不能反映拍摄日期。 后通过查看图片详细信息,发现有拍摄日期信息。所以通过Python+exifread去读取拍摄日 阅读全文

posted @ 2023-03-19 23:59 ArnoldLu 阅读(961) 评论(0) 推荐(0) 编辑

2023年3月18日

通过Python+CRemoteAPI控制Trace32进行调试

摘要: 关键词:Python、C Remote API、Trace32等等。 当需要对Trace32调试进行自动化,或者提高效率时,可以通过Remote Control API进行。 基本的调试流程如下: Python、C等语言可以通过调用C Remote API库文件,和Trace32 PowerView 阅读全文

posted @ 2023-03-18 23:59 ArnoldLu 阅读(757) 评论(0) 推荐(0) 编辑

2023年3月17日

Yocto 1:Ubuntu下开发环境搭建

摘要: 关键词:pocky,bitbake,qemu等等。 Ubuntu版本:Ubuntu 20.04.4 LTS。 1 环境配置以及仓库下载 更新Ubuntu下开发Yocto所需要的软件包: sudo apt-get install wget git-core unzip \ make gcc g++ b 阅读全文

posted @ 2023-03-17 23:59 ArnoldLu 阅读(696) 评论(0) 推荐(0) 编辑

2023年2月27日

C静态检查工具:cppcheck和PCLint

摘要: 关键词:cppcheck,PC-Lint等等。 1 cppcheck 1.1 cppcheck安装 sudo apt-get install cppcheck 1.2 cppcheck使用说明 cppcheck -h可以查看使用方法: -D<ID> Define preprocessor symbo 阅读全文

posted @ 2023-02-27 23:16 ArnoldLu 阅读(716) 评论(0) 推荐(0) 编辑

2023年2月26日

DV仿真环境下问题定位和性能分析工具:基于PC指针,结合map文件分析函数调用轨迹以及耗时

摘要: 关键词:DV仿真,Python,map,PC等。 当DV使用复杂软件对硬件进行仿真时,由于没有类似Trace32等IDE调试环境,出现问题往往较难定位问题。同时如果想优化性能,较难直到不同流程耗时。 DV仿真可以记录每一次PC变动值,但是软件稍复杂会导致数据量非常庞大。 这里结合map就可以知道每一 阅读全文

posted @ 2023-02-26 23:58 ArnoldLu 阅读(155) 评论(1) 推荐(0) 编辑

2022年12月11日

ARMv7-A Coprocessor概要以及读写

摘要: 关键词:MRC/MCR/MRRC/MCRR、CP14、CP15等等。 1. ARMv7-A Coprocessor介绍 ARMv7-A支持16个Coprocessor,分别是:(A2.9 Coprocessor support) CP15-System Control。 CP14-Debug、The 阅读全文

posted @ 2022-12-11 23:00 ArnoldLu 阅读(843) 评论(0) 推荐(0) 编辑

2022年12月10日

Linux Hibernate配置以及流程简单分析(@STM32MP157D)

摘要: 关键词:Hibernate、suspend、swap、swsusp等。 1. Hibernate介绍 Linux支持的System Sleep States包括:freeze、standby、mem、disk。 /sys/power/state suspend_state_t 进入方法 freeze 阅读全文

posted @ 2022-12-10 23:47 ArnoldLu 阅读(2184) 评论(0) 推荐(0) 编辑

2022年4月28日

ARM架构ABI文档集合

摘要: ARM在《GitHub - ARM-software/abi-aa: Application Binary Interface for the Arm® Architecture》维护了ARM架构的一系列ABI文档,主要包括32位和64位架构两大系列,以及一些新增扩展相关ABI(SVE、PAuth、 阅读全文

posted @ 2022-04-28 14:49 ArnoldLu 阅读(940) 评论(0) 推荐(0) 编辑

2022年4月27日

ARMv8-M Star/M33异常处理

摘要: 关键词:ARMv8-M、HardFault、MemManageFault、BusFault、UsageFault、Stack、XPSR、LR、addr2line等。 1. ARMv8-M异常类型及其详细解释 ARMv8-M Exception分为两类:预定义系统异常(0~15)和外部中断(16~16 阅读全文

posted @ 2022-04-27 20:17 ArnoldLu 阅读(3835) 评论(0) 推荐(0) 编辑

2022年4月26日

ARMv8-M Star/M33 POR后如何跳转到第一段指令执行?

摘要: 关键词:Star、VTOR、ld、Reset等等。 Star从POR到第一段汇编代码流程解释 给Star上电(即POR)或者复位后,是如何跳转到第一段汇编开始执行的,这里给出解释。中间涉及到ARMv8-M Star架构特性以及软件编译相关内容。 1 关于Star架构VTOR和Exception En 阅读全文

posted @ 2022-04-26 09:35 ArnoldLu 阅读(388) 评论(0) 推荐(0) 编辑

2022年4月22日

GitLab权限设置、分支保护、Issue/Merge Request模板

摘要: 关键词:Gitlab Permission、Merge Request等。 1. 设置用户权限 GitLab用户在组中有五种权限:Guest、Reporter、Developer、Maintainer、Owner。 Guest:可以创建issue、发表评论,不能读写版本库 Reporter:可以克隆 阅读全文

posted @ 2022-04-22 16:16 ArnoldLu 阅读(12422) 评论(0) 推荐(2) 编辑

2022年4月20日

安全加解密引擎基础

摘要: 关键词:TRNG、HASH、SKE、PKE、OpenSSL、mbedtls、Certificate等等。 1. 安全加解密引擎硬件 一个常见的安全加解密引擎可能包括,以下4部分: TRNG - 真随机数发生器,基于物理器件产生随机数。 HASH - 获取一段数据的摘要信息。 SKE - 对称加密引擎 阅读全文

posted @ 2022-04-20 11:15 ArnoldLu 阅读(712) 评论(0) 推荐(0) 编辑

2022年4月19日

安全加解密引擎基础(SKE SM4)

摘要: 关键词:SM4等。 1 对称加解密基础 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。 在密码学中,分组加密(英语:Block cipher),又称分块加密或块密码,是一种 阅读全文

posted @ 2022-04-19 23:34 ArnoldLu 阅读(744) 评论(0) 推荐(0) 编辑

安全加解密引擎基础(SKE AES)

摘要: 1 基本概念 AES相关基本概念 明文P:没有经过加密的数据。 密钥K:用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。 AES加密函数:设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数的参数输入,则加密函数E 阅读全文

posted @ 2022-04-19 23:21 ArnoldLu 阅读(582) 评论(0) 推荐(0) 编辑

安全加解密引擎基础(SKE DES/3DES)

摘要: 关键词:DES、3DES、ECB、CBC、CFB、OFB、CTR等等。 1 基本概念 DES介绍 DES是对称性加密里常见的一种,是一种使用秘钥加密的块算法。秘钥长度是64位(bit), 超过位数秘钥被忽略。所谓对称性加密,加密和解密秘钥相同。对称性加密一般会按照固定长度,把待加密字符串分成块。不足 阅读全文

posted @ 2022-04-19 21:06 ArnoldLu 阅读(594) 评论(0) 推荐(0) 编辑

2022年4月15日

安全加解密引擎基础(PKE SM2)

摘要: 关键词:SM2、OpenSSL等。 1 基本概念 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC(Elliptic Curve Cryptosystem)算 阅读全文

posted @ 2022-04-15 11:41 ArnoldLu 阅读(565) 评论(0) 推荐(0) 编辑

安全加解密引擎基础(PKE ECC/ECDH/ECDSA)

摘要: 关键词:ECC、ECDH、ECDSA、PyCryptodome、ecdsa、OpenSSL等。 1 基本概念 1.1 ECC Elliptic Curves Cryptography,椭圆曲线密码学(英语:Elliptic curve cryptography,缩写为ECC),一种建立公开密钥加密的 阅读全文

posted @ 2022-04-15 00:12 ArnoldLu 阅读(3172) 评论(0) 推荐(0) 编辑

2022年4月14日

安全加解密引擎基础(PKE RSA)

摘要: 关键词:RSA、PKCS、openssl、PyCryptodome等。 1 基本概念 1.1 编码格式 ASN.1抽象语法标记(Abstract Syntax Notation One),用来描述一段二级制数据的结构信息。包含编码方式:基本编码规则(BER)、可辨别编码规则(DER),这两种编码采取 阅读全文

posted @ 2022-04-14 16:09 ArnoldLu 阅读(2604) 评论(0) 推荐(0) 编辑

安全加解密引擎基础(PKE DSA)

摘要: 关键词:DSA、openssl、PyCryptodome等。 1 基本概念 DSA(Digital Signature Algorithm,数字签名算法)是用于数字签名的联邦信息处理标准。它的安全性取决于离散的对数问题。与RSA相比,DSA的签名生成速度更快,但验证速度较慢。如果使用错误的数字生成器 阅读全文

posted @ 2022-04-14 16:05 ArnoldLu 阅读(616) 评论(0) 推荐(0) 编辑

2022年4月12日

安全加解密引擎基础(TRNG/HASH/HMAC)

摘要: 常见的安全加解密引擎包括TRNG、HASH、SKE、PKE、MD5、SHA1、SHA2、SM3等。 TRNG用于生成真随机数;HASH用于生成一个固定长度的消息摘要;SKE进行对称加密;PKE进行非对称加密。 1 TRNG TRNG(True Random Numeral Generator)一般指 阅读全文

posted @ 2022-04-12 14:05 ArnoldLu 阅读(5996) 评论(0) 推荐(0) 编辑

2021年10月28日

Linux内存相关sysfs、工具

摘要: 1. 全局内存分析 1.1 /proc/meminfo 详细参考:《/proc/meminfo》。 while true; do cat /proc/meminfo | grep MemFree; sleep 10; done 1.2 /proc/pagetypeinfo 1.3 slab相关问题定 阅读全文

posted @ 2021-10-28 14:32 ArnoldLu 阅读(2505) 评论(0) 推荐(1) 编辑

2021年6月25日

FreeRTOS相关教程

摘要: 首先介绍选择FreeRTOS的原因和入门,然后介绍如何配置FreeRTOS、内存、任务、队列、信号量、中断、调度、SysTick、调试等等。 1. FreeRTOS目录组成 《FreeRTOS系列第1篇 为什么选择FreeRTOS?》 《FreeRTOS系列第2篇 FreeRTOS入门指南》 2. 阅读全文

posted @ 2021-06-25 10:33 ArnoldLu 阅读(2520) 评论(1) 推荐(1) 编辑

2021年3月12日

在CPU Hit/MIss时,Cache和Main Memory之间交互策略

摘要: 关键词:Hit、Miss、Read Through、Read Allocate、Write Through、Write Back、Write Allocate、No Write Allocate等。 对Cache和Main Memory之间数据维护设计到性能问题,也涉及到一致性问题。 了解下面各种策 阅读全文

posted @ 2021-03-12 11:12 ArnoldLu 阅读(2154) 评论(0) 推荐(0) 编辑

2021年2月10日

ARM Trusted Firmware分析——镜像签名/加密/生成、解析/解密/验签

摘要: 关键词:等等。 1. 镜像生成过程 生成fip.bin需要做如下工作工作: 编译certificates相关工具cert_create,生成证书。注意证书对应未加密的镜像。 如果需要加密,需要编译enctool工具encrypt_fw,用于对镜像文件进行加密,并加上加密头struct fw_enc_ 阅读全文

posted @ 2021-02-10 00:00 ArnoldLu 阅读(7626) 评论(0) 推荐(2) 编辑

2021年2月6日

ARM Trusted Firmware分析——固件升级(FWU)

摘要: 参考文档:《Firmware Update (FWU)》。 ATF中关于FWU的实现没有如下文档描述完整,尤其是BL2U、NS_BL2U镜像。 可取的是FWU SMC处理、对升级包证书验签和镜像验签流程。 6.1 Introduction FWU功能经过认证的固件从USB/SD/eMMC/NAND等 阅读全文

posted @ 2021-02-06 00:00 ArnoldLu 阅读(2273) 评论(0) 推荐(0) 编辑

2021年1月24日

ARM Trusted Firmware分析——TBBR、TBB、FIP-TBB

摘要: 关键词:TBBR、TBB、FIP、AES、RSA等等。 ARM TBBR定义了安全系统基本需求,ATF中实现了COT,包括FIP生成、密码库调用、镜像签名加密/解密验签等等流程。 下面主要参考ARM TBBR文档,以及《Trusted Firmware-A Documention》。 ARM文档《T 阅读全文

posted @ 2021-01-24 00:00 ArnoldLu 阅读(7648) 评论(0) 推荐(1) 编辑

2021年1月21日

ARM CoreSight Debug and Trace

摘要: 关键词:CoreSight、DAP、ECT、STM、ETM、TPIU、TMC、ETB、ETF、ETR等等。 关联文档:《Linux Self-Hosted CoreSight分析》 Chapter 1 Introduction 1.1.1 Structure of CoreSight SoC-400 阅读全文

posted @ 2021-01-21 00:00 ArnoldLu 阅读(6631) 评论(0) 推荐(0) 编辑

2021年1月19日

ARM Trusted Firmware分析——编译选项

摘要: 参考文档:《Build Options》 1. 通用部分 BL2/BL31/BL31:指定生成fip文件的BL2/BL31/BL32镜像路径,指定后则不需要编译BL2镜像。 BL2_AT_EL3:使能后BL2镜像会运行在EL3异常等级。 BL2_IN_XIP_MEM:使能后BL2会运行在XIP存储设 阅读全文

posted @ 2021-01-19 00:00 ArnoldLu 阅读(3993) 评论(0) 推荐(0) 编辑

2021年1月12日

QEMU搭建虚拟化开发环境(QEMU 5.2.0)

摘要: 关键词:qemu、ninja等等。 环境:Ubuntu 20.04 + QEMU 5.2.0。 1. 安装qemu 1.1 通过工具安装 Ubuntu: apt-get install qemu RHEL/CentOS: yum install qemu-kvm 1.2 从源码安装 安装依赖包: a 阅读全文

posted @ 2021-01-12 00:00 ArnoldLu 阅读(4277) 评论(0) 推荐(0) 编辑

2021年1月7日

ARMv8-A QEMU运行OP-TEE/ATF环境搭建

摘要: 关键词:OP-TEE、ATF、xtest、Linux等等。 下面记录通过ARMv8-A QEMU运行OP-TEE、ARM Trusted Firmware、Linux环境搭建过程。 1. 编译环境准备 sudo apt-get install android-tools-adb android-to 阅读全文

posted @ 2021-01-07 00:00 ArnoldLu 阅读(3940) 评论(0) 推荐(0) 编辑

2021年1月6日

ARM工具链选择参考

摘要: ARM相关工具链发布主要有ARM、Linaro、Codesourcery。 1. 命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如arm、aarch64 vendor - 工具链提供商,none。 os - 目标操作 阅读全文

posted @ 2021-01-06 00:00 ArnoldLu 阅读(7398) 评论(0) 推荐(3) 编辑

2021年1月1日

ARM PSCI在ATF和Linux kernel中的实现

摘要: Linux内核中cpu_ops的实现因架构而已,对于ARM64架构一般通过执行smc指令进入EL3异常,由ATF执行PSCI功能。然后将结果返回给Linux。 这中间涉及到【Linux kernel的cpu_ops、psci_ops】、【SMC/HVC】、【PSCI】、【ATF的PSCI】相关等等。 阅读全文

posted @ 2021-01-01 00:00 ArnoldLu 阅读(7574) 评论(0) 推荐(1) 编辑

2020年12月27日

《TrustZone for Armv8-A》阅读笔记

摘要: 参考文档:《TrustZone for Armv8-A》 1 Overview 异常模型Exception Model将ARM分为:安全和非安全部分。 非安全部分包括:NS.EL0、NS.EL1、NS.EL2;安全部分包括:EL3、S.EL2(ARMv8.4新增)、S.EL1、S.EL0。 MMU主 阅读全文

posted @ 2020-12-27 00:00 ArnoldLu 阅读(8108) 评论(1) 推荐(1) 编辑

2020年12月26日

ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口

摘要: 关键词:等等。 下图划分成不同EL,分别描述BL1、BL2、BL31、BL32、BL33启动流程,以及PSCI、SP处理流程。 1. 冷启动(Cold boot)流程及阶段划分 ATF冷启动实现分为5个步骤: BL1 - AP Trusted ROM,一般为BootRom。 BL2 - Truste 阅读全文

posted @ 2020-12-26 00:00 ArnoldLu 阅读(34196) 评论(0) 推荐(10) 编辑

2020年12月20日

《Linux/Unix系统编程手册》 第29章 线程:介绍

摘要: 关键词:pthread_create()、pthread_exit()、pthread_self()、pthread_join()、pthread_detach()、pthread_attr_init()、pthread_attr_destroy()等等。 本章首先介绍了线程在进程中内存属性,然后介 阅读全文

posted @ 2020-12-20 22:01 ArnoldLu 阅读(524) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

导航