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

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

2023年8月17日

Trusted Firmware-A中ARMv7页表创建以及MMU使能

摘要: 关键词:mmap_region,TTBCR,MAIR,TCR,SCTLR等。 1 TF-A关于页表转换说明 《10. Translation (XLAT) Tables Library》中介绍了BL32中转换页表相关功能库,主要包括: 静态分配转换页表,根据内存区域生成转换页表。 根据Excepti 阅读全文

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

2023年8月9日

oFono/dbus-python环境搭建以及简单认识

摘要: 关键词:D-Bus、oFono、dbus-python、ofonod、connmand等等。 1. oFono环境搭建(Buildroot+QEMU)和启动 1.1 Buildroot配置ofonod+dbus-python 配置oFono: Target packages -> Networkin 阅读全文

posted @ 2023-08-09 23:59 ArnoldLu 阅读(472) 评论(0) 推荐(0) 编辑

2023年7月10日

ARM指令和机器码对应关系:动态生成可执行指令

摘要: 汇编经过编译器生成机器可以执行的机器码。由于有一段指令需要动态生成,所以简单看了一下汇编和机器码之间的关系。做了记录方便后面查找。 大部分情况下,写C/ASM,经由工具链生成可执行机器码。所以主要功能先由C/ASM编写,然后根据需求改变部分机器码。 首先研究一下《Instruction Set As 阅读全文

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

2023年7月7日

Buildroot创建ramdisk、ext4、ubifs镜像,以及mkfs.ext4/mkfs.ubifs/cpio的使用

摘要: 通过mkfs.ext4和mkfs.ubifs可以生成ext4和ubi格式的文件系统文件。Buildroot中创建文件系统文件即借助这两个命令。 1. mkfs.ext4 mkfs.ext4以及mkfs.ext2/mkfs.ext3都指向mke2fs,用于创建ext4格式的文件系统。 Usage: m 阅读全文

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

2023年7月1日

zImage自解压起始地址:ZRELADDR

摘要: 由于内存较小,zImage的起始地址受限。按照内存规划,修改zImage的加载地址,但是解压后Linux运行产生异常,可能是DataAbort,或者PrefetchAbort,或者Undefined Instruction。 1. 定位zImage自解压后,Kernel启动异常问题 T32启动运行后 阅读全文

posted @ 2023-07-01 23:59 ArnoldLu 阅读(382) 评论(0) 推荐(0) 编辑

2023年6月17日

ARM(A7) wfi唤醒后...是执行中断处理程序还是后一条指令

摘要: 记录WFI相关细节,以及如何让中断唤醒后先执行wfi后指令,再执行中断异常;或者优先执行中断异常,再执行wfi后指令。 1. ARM(A7)关于WFI的描述 处理器可以通过执行WFI指令进入WFI低功耗状态。 当硬件检测到WFI唤醒事件,WFI指令结束。 WFI唤醒事件无法被CPSR屏蔽位屏蔽。 执 阅读全文

posted @ 2023-06-17 23:59 ArnoldLu 阅读(992) 评论(1) 推荐(1) 编辑

2023年6月16日

Linux hwrng以及ARM TRNG记录

摘要: 关键词:hwrng,/dev/random,/dev/urandom,rngd,rngtest等。 Linux hwrng驱动比较简单,hwrng core注册设备提供sysfs几点给应用层使用。hwrnd driver提供具体硬件接口,然后注册到hwrng core中,以及往内核熵池提供随机数。 阅读全文

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

2023年6月4日

串口(PL011)在Linux启动运行过程中扮演的角色

摘要: 关键词:PL011、earlyprintk、earlycon、AMBA、UART、tty、console等等。 串口虽然是一种简单的工具,但是在Linux启动、运行、调试中扮演了重要角色。其稳定、易用、高效(某些场景)。 串口依赖的模块少,在FPGA初期调试中扮演重要角色。往往是CPU基本功能可用后 阅读全文

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

2023年5月27日

Linux显示(五):QT显示插件(LinuxFB)及其依赖的驱动(DRM/Framebuffer)记录

摘要: 关键词:Framebuffer、linuxfb、DRM等等。 基于《基于QEMU模拟器搭建Builtroot下的QT开发环境》搭建开发环境。 QT在Linux中支持多种显示插件,包括EGLFS、LinuxFB、DirectFB、Wayland等。可以通过--platfrom选项指定选择何种插件。比如 阅读全文

posted @ 2023-05-27 23:59 ArnoldLu 阅读(7815) 评论(0) 推荐(0) 编辑

2023年5月25日

OpenWRT(1):Ubuntu下OpenWRT(A53)环境配置、下载、配置、运行(on QEMU)记录

摘要: 简单记录Ubuntu下OpenWRT开发环境配置,版本下载和编译,以及通过QEMU(aarch64)运行OpenWRT(ARM A53)并和Host进行ssh通信。 1. 环境安装和版本下载 编译环境设置(参考:[OpenWrt Wiki] Build system setup): 对应Ubuntu 阅读全文

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

2023年5月24日

Trace32下对ARM内存访问Access Classes总结

摘要: 原内容来源于T32帮助文档debugger_arm.pdf的ARM Specific Implementations->Access Classes,这里记录方便查询。 首先介绍Access Classes都有哪些选项,然后介绍常见的Access Classes组合,最后介绍如何创建合法的Acces 阅读全文

posted @ 2023-05-24 23:59 ArnoldLu 阅读(447) 评论(0) 推荐(0) 编辑

2023年5月20日

zImage的压缩、解压以及性能对比

摘要: 关键词:Image,zImage,piggy,gzip,lzo,xz,lzma等等。 1. zImage的压缩 zImage是Image经过压缩后,加上解压缩头后生成的文件:Image -> piggy_data -> piggy.o ->vmlinux(compressed) -> zImage。 阅读全文

posted @ 2023-05-20 23:59 ArnoldLu 阅读(820) 评论(2) 推荐(0) 编辑

2023年5月13日

GIC Implementation and Architecture Specification

摘要: 记录常用GIC实现和对应的架构规格: GIC Implementation GIC Architecture Specification GIC-400 CoreLink GIC-400 Generic Interrupt Controller Technical Reference Manual 阅读全文

posted @ 2023-05-13 23:59 ArnoldLu 阅读(159) 评论(0) 推荐(0) 编辑

2023年4月28日

Buildroot(2022.08-rc1)+busybox(1.35.0)启动流程

摘要: 关键词:busybox,inittab,syslogd,klogd,mdev,modprobe,watchdog,telnetd等等。 《busybox启动流程简单解析:从init到shell login》详细介绍了init对inittab的解析和执行。 下面为buildroot(2022.08-r 阅读全文

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

2023年4月26日

Linux RT补丁/分析/性能测试(@Ubuntu)

摘要: 关键词:rt-tests,rt等等。 要去了解实时Linux,首先了解其背景,实时Linux的目标是什么?都采取了哪些措施? 然后需要准备测试环境,需要同一版本的两个内核作对比测试。 确定内核版本之后,针对两个版本的差异进行分析,详细了解这些差异是如何保证实时性的。 最后借助rt-tests和ltp 阅读全文

posted @ 2023-04-26 10:21 ArnoldLu 阅读(6494) 评论(0) 推荐(0) 编辑

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 阅读(1339) 评论(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 阅读(1466) 评论(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 阅读(599) 评论(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 阅读(959) 评论(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 阅读(6040) 评论(0) 推荐(0) 编辑

2023年3月19日

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

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

posted @ 2023-03-19 23:59 ArnoldLu 阅读(1018) 评论(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 阅读(855) 评论(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 阅读(815) 评论(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 阅读(812) 评论(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 阅读(176) 评论(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 阅读(931) 评论(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 阅读(2413) 评论(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 阅读(979) 评论(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 阅读(4172) 评论(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 阅读(424) 评论(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 阅读(13636) 评论(0) 推荐(2) 编辑

2022年4月20日

安全加解密引擎基础

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

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

2022年4月19日

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

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

posted @ 2022-04-19 23:34 ArnoldLu 阅读(775) 评论(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 阅读(619) 评论(0) 推荐(0) 编辑

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

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

posted @ 2022-04-19 21:06 ArnoldLu 阅读(632) 评论(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 阅读(618) 评论(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 阅读(3386) 评论(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 阅读(2902) 评论(0) 推荐(0) 编辑

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

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

posted @ 2022-04-14 16:05 ArnoldLu 阅读(672) 评论(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 阅读(6255) 评论(0) 推荐(0) 编辑

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

导航