This article has been deprecated. Please go to the URL below:
个人博客笔记导读目录(全部)
置顶推荐:
1、ARMV8-aarch64的通用寄存器和系统寄存器介绍
2、ARM trustzone学习和总结-一篇就够了
3、ARMV8的一些总结-一篇就够了
4、ARMV8-aarch64的虚拟内存(mmu/tlb/cache)介绍-概念扫盲
5、ARM cache的学习笔记-一篇就够了
6、ARM MMU的学习笔记-一篇就够了
7、ATF的代码学习篇-一篇就够了
8、linux和optee的中断处理流程举例(gicv3举例)
文末有微信群二维码
快速链接
★★ARM/Linux/嵌入式/驱动必需知道的官网网站★★
私有笔记.
导读目录
- 一、ARM(armv8、armv9)
- 专题:《learn-the-architecture系列》
- 专题:《ATF/FF-A/specification文档学习系列》
- 专题:《TrustedFirmware Specification系列》
- armv9
- reference
- ARM core
- ARM异常
- architecture
- Trustzone
- mmu/cache
- gic
- ATF
- assembly
- register
- hypervisor
- 安全博文
- 其它
- 思考 & 实验 & 答疑
- 二、optee
- 三、Hypervisor
- 四、Crypto
- 专题:《密码学基础系列》
- 五、Linux
- 六、Android
- 七、MTK
- 八、Linaro社区开发
- 九、环境问题
- HOW TO
- Issue Fixed
- 工具
- 其它
- 十、其它
- ---------------------------------
- 资料 总结&预览&下载区
============= (以下是正文) =============
消灭ongoing、消灭、消灭私有
专题:《learn-the-architecture系列》
01-Introducing the Arm architecture
02-Armv8-A Instruction Set Architecture
03_Introduction_to_AMBA_AXI
04-TrustZone for Armv8-A
05-Exception model
06-GICv3_v4_overview
07-Armv8-A virtualization
08-Isolation using virtualization in the Secure World_Whitepaper
09-LearnTheArchitecture-MemoryManagement
10-Armv8-A memory model guide–ongoing
11-Memory Management Examples
12-Generic Timer
13-Introduction to security
14-Providing protection for complex software
15-Arm-Confidential-Compute-Software-Stack
16-Understanding the Armv8.x extensions专题:《ATF/FF-A/specification文档学习系列》
ongoing… 可进入子目录查看 : [专栏目录]-ATF/FF-A/specification学习
专题:《TrustedFirmware Specification系列》
01_SMC_Calling_Convention(SMCCC) --ongoing
02-Power_State_Coordination_Interface(PSCI) --ongoing
03_Software_Delegated_Exception_Interface (SDEI) --ongoing
04-System_Control_and_Management_Interface(SCMI) --ongoing
05-Trusted_Board_Boot_Requirements(TBBR) --ongoingarmv9
[armv9]-ARMV9 CCA 机密计算简介
[armv9]-动态Trustzone技术的介绍
[armv9]-Introducing-Arm-Confidential-Compute-Architecture
[armv9]-PAC:Pointer authentication和BTI:Branch target instructions介绍
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍
[armv9]-ARM最新架构为memcpy/memset底层的实现提供新的指令
reference
[reference]-ARM Term术语汇总
[reference]-Features_in_A-profile
[reference]-armv8汇编学习-书籍推荐
[reference]-ARM缩写
[reference]-ARM/TEE/security等论文中的缩写和参考文献
[reference]-ARM core timeline
[reference]-MTK智能机(armv8)SOC分类和总结
ARM core
[Core]-ARM CORE的发展历史
[Core]-ARM-A系列Core的分类快速参考
[core]-ARM Core的分类和总结
[core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介
[core]-ARM A76学习笔记
ARM异常
[ARM异常]-ARMV8的异常详细介绍
[ARM异常]-ARMV8的中断的routing和Mask表
[ARM异常]-ARMV8-aarch64异常和中断处理概念详细介绍
[ARM异常]-ARM Core中与中断相关的寄存器
[ARM异常]-ARM Core如何响应中断的
[ARM异常]-同步异常产生和返回(svc/hyc/smc/eret)
[ARM异常]-linux中(aarch/aarch64)异常向量表介绍
[ARM异常]-图解armv7/armv8的异常向量表和基地址
[ARM异常]-ARMV8-aarch32的异常向量表介绍
[ARM异常]-armv8-aarch64下当中断来时自动触发的硬件行为
[ARM异常]-SPIs(共享中断)routing到指定CPU的方法
[ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的
[ARM异常]-ARMV8虚拟中断的介绍
architecture
[architecture]-ARMV8的一些总结-一篇就够了
[architecture]-AMBA AXI AHB APB学习总结
[architecture]-ARM AMBA/AXI/ACE/LITE总线介绍
[architecture]-ARMV8的RAS Extension(Reliability、Availability、Serviceability)介绍
[architecture]-Generic Timer
[architecture]-Armv8 Cryptographic Extension介绍
[architecture]-Cortex-A53的configuration signals
[architecture]-CPU(ARM)启动的第一条指令
[architecture]-ARMV7的模式切换总结
[architecture]-ARMV7架构下SecureMonitor双系统切换时保存和恢复哪些寄存
[architecture]-ARMV7架构下Linux Kernel的Userspace进程切换时保存和恢复哪些寄存器
[architecture]-ARMV8的Execution states介绍
[architecture]-ARMV8的Exception Level切换总结
[architecture]-ARMv8/armv7/linux的栈/sp的学习和总结
[architecture]-ARMV8的The current Program Counter (PC)介绍
[architecture]-DBG、DMB、DSB 和 ISB指令介绍
[architecture]-arm exclusive机制介绍
Trustzone
[trustzone]-ARM trustzone的安全扩展介绍-一篇就够了
[trustzone]-TZC400学习总结
[trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解
[trustzone]-ARM Core的扩展和ELx级别的切换过程
[trustzone]-ARM trustzone技术下常见的软件框图
[trustzone]-ARM Trustzone架构下的软件框图
[Trustzone]-ARM Cortex-A Serial支持Trustzone和Hypervisor的总结
mmu/cache
[mmu/cache]-MMU的地址翻译(Address translation)指令介绍
[mmu/cache]-ARMV8的cache的指令集介绍
[mmu/cache]-ARMV8-aarch64的虚拟内存(mmu/tlb/cache)介绍-概念扫盲
[mmu/cache]-ARM cache的学习笔记-一篇就够了
[mmu/cache]-ARM MMU的学习笔记-一篇就够了
[mmu/cache]-Cache Type Register(CTR)寄存器介绍
[mmu/cache]-cache在linux和optee中的应用
[mmu/cache]-cache的一些基本概念介绍
[mmu/cache]-ARMV8 MMU内存管理中的Memory attributes和Cache policies
gic
[gic]-ARM gicv3/gicv2的总结和介绍-PPT
[gic]-linux和optee的中断处理流程举例(gicv3举例)
[gic]-ARM gicv2和gicv3的中断模型总结
[gic]-gicv2的bypass功能
[gic]-gicv3的1020-1023号的中断的使用
[gic]-ARM gicv2/gicv3的详解
[gic]-ARM gicv3/gicv4的详细介绍
[gic]-gicv3/gicv4的feature总结
ATF
[ATF]-ATF makefile的导读
[ATF]-smc指令详解
[ATF]-ATF的异常向量表介绍-(irq,fiq,smc,hyc…)
[ATF]-ATF代码分析
[ATF]-TEE/REE系统切换时ATF的寄存器的保存和恢复
[ATF]-ATF启动–BL31跳转到optee和uboot
[ATF]-ATF的代码学习篇-一篇就够了
[ATF]-中断配置:SCR.FIQ/SCR.IRQ的配置详解
[ATF]-ATF的RT_SVC的详解(runtime service)
[ATF]-ARM级别/异常/状态切回时候的寄存器保存与恢复
[ATF]-ATF文档和代码的深度解读
assembly
[ARM-assembly]-ARMV9-A64指令汇总-指令速查
[ARM-assembly]-汇编示例:c语言翻译成汇编
[ARM-assembly]-ARM ASM内联汇编学习
[ARM-assembly]-A64指令集合总结
[ARM-assembly]-C语言和汇编对比学习
[ARM-assembly]-全局变量/静态全局变量/初始化/未初始化变量的存放位置分析
[ARM-assembly]-ARM64汇编语言学习笔记
[ARM-assembly]-A64的load/store指令总结
[ARM-assembly]-ARMV8-A64指令编码介绍
[ARM-assembly]-ARMv8-A64指令集总结和学习–InProgress
[ARM-assembly]-ARMV8的exclusive和inexclusive的介绍
[ARM-assembly]-ARM交叉编译器下编译的各个镜像的反汇编文件分析
[ARM-assembly]-ARM向量浮点指令集 快速参考卡
[ARM-assembly]-Thumb指令集快速参考卡
[ARM-assembly]-ARMv8 A64 Quick Reference
register
[register]-01-ARMV8-aarch64的通用寄存器介绍
[register]-02-ARMV8-aarch64-系统寄存器总结
[register]-03-ARMV8系统中的梳理和总结
[register]-04-ARMv8的寄存器简介和总结
[register]-05-ARMv8中常用系统寄存器详解
[register]-21-TCR(Translation Control Register)寄存器详解
hypervisor
[hypervisor]-ARMV8的hypervisor技术介绍–InProgress
[hypervisor]-AArch64 (hypervisor)Virtualization学习笔记
安全博文
物理攻击规避(Physical Attack Mitigation)
其它
[toolchains]-ARM ToolChains介绍
[PSA]-PSA Certified简介
思考 & 实验 & 答疑
ARMV8 code reset和warm reset的理解
有关中断唤醒源的思考
PSCI多核启动-Linux Kernel从核启动-TEE开启多核
[思考]-32位的应用程序为什么不能跑64位的应用程序
[实验]-从汇编代码来看volatile关键字的作用
[答疑]-ATF中异常向量表为何没有实现“Current Exception level with SP_ELx, x>0.“
[答疑]-中断流程举例:在REE(SCR.FIQ=1)侧时产生了FIQ,跳转到EL3后做了哪些事情?
[思考]-ARM LR寄存器的思考
[答疑]-中断流程举例:在TEE侧时产生了FIQ,回到REE后为啥又产生了IRQ
[问答]-EL1t和EL1h中的后缀t和h分别是什么意思
[问答]-ARM文档中的†和‡的含义
[记录]-Cortex-A76仅EL0支持aarch32
类别 | 博文 | 说明 |
---|---|---|
内存管理 | 1、optee的内存管理的详细介绍 2、optee内存管理和页表建立 3、optee内核中malloc函数的原理介绍 4、optee应用程序中malloc函数的原理介绍 5、optee中的arm64的virt_to_phys的实现 6、optee中core_init_mmu_regs函数解读 7、optee的共享内存的介绍 8、optee的Share Memory介绍 9、optee os中共享内存的类型 10、optee_os中静态共享内存的注册 11、optee中MMU内存管理模型-页表的建立模型 12、OPTEE的内存管理 : 将内存加入到页表去管理 13、OPTEE的内存管理 :页表的创建过程 |
reserved |
异常与中断/smc/RPC | 1、optee中的异常向量表的实现 2、optee的异常向量表-(irq,fiq,svc…) 3、optee中的thread_vector_table线程向量表 4、optee中的中断处理详解 5、optee切换到REE的几种方式 6、optee的RPC设计(模型)详解 7、optee的RPC流程的代码详解 8、optee对std smc的处理的详解 9、optee运行时来了一个REE(linux)中断–代码导读 10、optee的fast call的介绍 11、optee3.14中的异常向量表解读–中断处理解读 12、optee中添加一个中断以及底层代码的相关解读 13、optee中关于异常向量表、中断等的深入思考 |
reserved |
core | 1、optee的error codes 2、optee的启动过程 3、optee中utee syscall的实现(系统调用实现) 4、optee系统服务/service的实现方式 -------- 5、optee:kernel space调用user space进程时候的硬件行为 6、32位的应用程序和64位的应用程序有什么区别 7、optee代码中和ARM硬件相关的函数解读 8、optee中的panic函数实现 9、optee3.14中MMU页表查询的所需配置–深入解读 10、在enable mmu之前可以使用mmu了 11、optee中的密码学算法注册模型 |
reserved |
mechanism | 1、PKCS#11 in OP-TEE 2、ASLR in optee 3、optee HSM的实现 |
|
TA/CA | 1、optee中User TA的加载和运行 2、TA的签名和验签 3、optee的Offline Signing of TAs方案 4、opteeTA启动的过程(open_ta的过程) 5、Globalplatform TEE api介绍 6、TEE Internal Core API总结 7、GP API的归类和总结 8、TEEC_Context和TEEC_InitializeContext介绍 9、CA/TA参数传输中tmpref,memref和Value的区别 10、TEEC_RegisterSharedMemory和TEEC_AllocateSharedMemory的区别 11、TEEC_AllocateSharedMemory()和 TEEC_RegisterSharedMemory()的总结 12、CA/TA通信的share memory设计思想解读 |
reserved |
同步机制 | 1、optee同步机制的介绍 2、optee中spinlock的实现原理详解 3、optee中mutex的实现方式 |
reserved |
启动/进程切换/栈 | 1、optee的栈指针和栈内存的介绍 2、optee aarch64体系下栈的设计(sp_el0/sp_el1) old: 1、optee栈的介绍(一) 2、optee栈的介绍(二) |
reserved |
Virtualization | 1、optee堆Virtualization(hypervisor)的支持 | reserved |
环境搭建 | 1、optee3.8 qemu_v8的环境搭建篇 2、optee3.12.0 qemu_v8的环境搭建篇 3、optee3.14.0 qemu_v8的环境搭建篇 4、optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)–终极篇 |
reserved |
CA/TA开发(收费区) under GPTEE/optee/trustonic
Title | Description | Status |
---|---|---|
01-How to setup SDK and compile TAs | done | |
02-CA/TA编程:aes demo | done | |
03-CA/TA编程:aes_auth demo | done | |
04-CA/TA编程:hash demo | done | |
05-CA/TA编程:hmac demo | done | |
06-CA/TA编程:rsa demo | done | |
07-CA/TA编程:rsakey demo | done | |
08-CA/TA编程:ecdsa demo | ||
09-CA/TA编程:storage demo | done |
类别 | 博文 | 说明 |
---|---|---|
Hypervisor | 1、ARMv8 AArch64 (hypervisor)Virtualization学习笔记 | reserved |
类别 | 博文 | 说明 |
---|---|---|
PSA | 1、PSA Certified简介 |
专题:《密码学基础系列》
密码学基础(1)-前言
密码学基础(2)-基础知识介绍
密码学基础(3)-数字摘要hash的介绍
密码学基础(4)-aes和分组密码的介绍
密码学基础(5)-RSA的介绍
密码学基础(6)-混合密码系统
密码学基础(7)-国产密码算法(国密算法sm2/sm3/sm4)介绍
…
公钥密码学标准(Public Key Cryptography Standards, PKCS)
X.509证书的介绍
CA证书概念介绍
…
可信平台模块(TPM)概念介绍
…
加解密原理基础:
[crypto]-01-对称加解密AES原理概念详解
[crypto]-02-非对称加解密RSA原理概念详解
[crypto]-03-数字摘要HASH原理概念详解 --inprogross&私有
[crypto]-04-国产密码算法(国密算法sm2/sm3/sm4)介绍
[crypto]-05-转载:PKCS #1 RSA Encryption Version 1.5介绍
[crypto]-05.1-PKCS PKCS#1 PKCS#7 PKCS#11的介绍
[crypto]-06-CA证书介绍和使用方法
[crypto]-10-openssl版本介绍
crypto engine硬件基础:
[crypto]-30-The Armv8 Cryptographic Extension在linux中的应用
[crypto]-31-crypto engion的学习和总结
代码示例:
[crypto]-50-base64_encode和base64_decode的C语言实现
[crypto]-51-RSA私钥pem转换成der, 在将der解析出n e d p q dp dq qp
[crypto]-51.1-python的aes加解密/rsa生成密钥对/rsa加解密/hmac加密
[crypto]-51.2-从rsa公钥中提取N和E
[crypto]-51.3-C语言实现:RSA的因子(nedp…)拼接pem
[crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用
[crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)
总结:
[crypto]-90-crypto的一些术语和思考
类别 | 博文 | 说明 |
---|---|---|
bootup启动篇 | 1、linux kernel中的FDT的解析 2、向linux kernel中添加cmdline的四种方式 3、在linux kernel或android中解析cmdline参数 4、linux kernel中的cmdline的详细介绍 5、linux kernel中的__setup()的调用 6、linux kernel中的第一个程序:init程序的调用 7、linux kernel中的module_init/initcall代码导读 |
reserved |
core | 1、Linux Kernel中的系统调用 2、ARMV7架构下Linux Kernel的Userspace进程切换时保存和恢复哪些寄存器 |
|
arch强相关篇 | 1、linux kernel中local_irq_disable()、local_irq_enable()代码解读 2、linux kernel中cache代码解读 3、linux kernel中的virt_to_phys代码解读 4、linux kernel进程切换(寄存器保存与恢复) 5、linux kernel中的栈的介绍 6、linux kernel中的进程栈 |
reserved |
同步机制 | 1、linux kernel的spin_lock的详细介绍 2、linux kernel的spinlock代码导读和分析 3、linux kernel的spinlock在armv7和armv8中的不同 4、linux kernel的信号量semaphore的代码导读和介绍 5、wait_for_completion和complete总结 6、linux kernel同步方法的总结 7、Linux Kernel中spinlock的设计与实现 8、Exclusive monitor在spinlock中的应用 |
reserved |
中断/异常 | 1、linux中的SGI(核间中断)IPI_RESCHEDULE详解 2、linux kernel的异常量表介绍 3、linux kernel中的中断处理流程 4、在linux、optee、ATF中的中断异常向量表 5、linux kernel中设置向量表基地址 6、Linux Kernel 5.14 arm64异常向量表解读-中断处理解读 7、在Linux Kernel中有没有定义和实现FIQ向量 8、Linux Kernel中断下半部分实现的三种方式 |
reserved |
内存管理 | 1、linux kernel的virtual kernel memory layout介绍 2、linux kernel内存管理学习篇 3、Linux Kernel 5.10 aarch64体系对TTBR寄存器的设置 |
reserved |
crypto | 1、Armv8 Cryptographic Extension在linux中的应用> 2、Armv8 Cryptographic Extension介绍 3、Linux Kernel aarch64 Crypto原理和框架介绍 4、Linux kernel内核调用crypto算法的方法 5、Linux Kernel aarch64的ARM-CE aes-ecb的底层代码导读 6、Linux kernel crypto的介绍 |
reserved |
技巧使用篇 | 1、linux kernel使用技巧 2、linux kernel的问与答 3、linux kernel的ErrorLog随记录 4、linux kernel变长数组使用示例 5、linux kernel中的数据结构和算法 6、linux kernel中netlink的使用示例 |
reserved |
其它 | 1、ioctl,unlocked_ioctl,compat_ioctl之间的区别 | resrved |
1、Linux内核设计与实现学习笔记目录
类别 | 博文 | 参考/说明 |
---|---|---|
security | gatekeeper 1、Android locksettings/gatekeeper代码导读 2、Android Gatekeeper流程深度解剖 3、android密码解锁/指纹解锁返回的authToken深度解剖 4、LockSettingsService的setLockCredentialInternal函数详解 5、Android手机使用命令行增加/删除/修改密码(password/pin/pattern) 生物支付: 人脸/指纹 Android fingerprint指纹/face人脸代码导读 keymaster/keystore 1、Android keymaster的介绍和总结 2、Android keymaster4.0- device集成笔记 3、Android keystore/Keymaster的代码导读 |
Gatekeeper-官方参考: 1、Gatekeeper官方文档 2、Gatekeeper接口函数介绍-hal 3、Gatekeeper接口函数介绍-type 生物支付-官方参考: 1、生物支付官方文档 2、fingerprint接口函数介绍-hal 3、fingerprint接口函数介绍-type 4、face接口函数介绍-hal 5、face接口函数介绍-type keymaster-官方参考: 1、keymaster官方文档 2、keymaster接口函数介绍-hal 3、keymaster接口函数介绍-type |
Security2 | 注意 : 在 S 开始,keystore2/keymint 取代了 keystore, 所以keystore/keymaster就不需要看了. Keystore2/keymint 全网第一篇 Keystore2/keymint学习笔记总结 trusty 1、官网拉取Trusty-TEE的代码 |
|
vts | 1、Android11有哪些vts 2、如何编写一个测试HIDL接口的vts(gtest)的testcase 3、VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例) |
reserved |
build/makefile | 1、Android Makefile编译流 2、Android makefile编译流程(二) 3、剖析boot.img的制作流程 4、System.img是如何打包的 |
reserved |
启动 | 1、android/linux中的第一个init程序的启动 | |
问题 | 1、Device is not certified by Google |
类别 | 博文 | 参考/说明 |
---|---|---|
zerotouch | 1、Google zerotouch方案介绍 |
类别 | 博文 | 说明 |
---|---|---|
integrate TEE | 1、MTK平台Trustonic-TEE使用-问题记录 2、MTK for Google AttestationKey介绍 3、MTK平台命令行写入googlekey的步骤 4、MTK代码中enable trustonic-TEE 5、MTK豆荚TEE的TZ driver学习笔记 6、MTK tee.img的打包原理介绍 7、MTK方案下tee.img的打包方式的详细拆解 |
reserved |
platform feature | 1、MTK的oemlock介绍 2、android手机系统的启动流程-secureboot流程(以MTK平台为例) |
|
preloader | 1、MTK preloader的ASSERT函数的实现 2、MTK镜像(PL/ATF/TEE/LK/kernel)的memory layout介绍/启动地址介绍/lds文件分析 |
|
LK | 1、MTK平台LK中的APP_START(LK app service)介绍 |
类别 | 博文 | 说明 |
---|---|---|
git/github | 1、github:已经提交并push后再次追加提交 | |
Docs | 1、如何编写Linux kernel documentation | |
Android | 1、下载android官方源码 |
HOW TO
[HOW TO]-virtualbox下安装ubuntu14.04超详细
[HOW TO]-图解virtualbox下安装ubuntu20.04虚拟机
[HOW TO]-ubuntu下快速搭建http
[HOW TO]-在ubuntu20.10上搭建SVN Server
[HOW TO]-ubuntu下安装selenium
[HOW TO]-ubuntu20.10搭建opengrok服务指南
[HOW TO]-ubuntu20.10安装opengrok指南
[HOW TO]-centos环境搭建opengrok笔记
[HOW TO]-openjrok维护手册
[HOW TO]-ubuntu20.10环境上安装workpress
[HOW TO]-外网访问自己的HTTP服务器
[HOW TO]-git/gerrit配置方法
[HOW TO]-windows安装wget工具
[HOW TO]-堡垒机快捷登陆SSH服务器-expect自动输密码
[HOW TO]-python venv虚拟环境
[HOW TO]-ubuntu20.10上安装Pulse Secure客户端
[HOW TO]-Ubuntu 20.04修改终端标题栏文字
[HOW TO]-How to install maven
[HOW TO]-How to Install Python Pip on Ubuntu 20.04
[HOW TO]-如何使用Sphinx编写漂亮的文档
[How TO]-如何编写Linux kernel documentation
[HOW TO]-下载android官方源码
[HOW TO]-android手机安装google play
[HOW TO]-从github拉取optee代码拉不下来怎么办?
[HOW TO]-VirtualBox的虚拟机通过宿主机代理上网
[HOW TO]-官网拉取Trusty-TEE的代码
[HOW TO]-github/gitee的仓库统一管理
[HOW TO]-github/gitee私有项目用户名密码免输入
Issue Fixed
[Issue Fixed]-svnadmin: warning: cannot set LC_CTYPE locale
[Issue Fixed]-执行脚本时出现invalid option错误
[Issue Fixed]-Pulse r9.1 embedded browser install failure
[Issue Fixed]-不能为虚拟电脑xxx打开一个新任务
[Issue Fixed]-GCC编译[-Werror,-Wformat]
[Issue Fixed]-分卷压缩解压:gzip: stdin: not in gzip format
[Issue Fixed]-Ubuntu开发环境下遇到的环境问题梳理
工具
[工具]-PGP的使用方法
[工具]-文件明文导出工具
[工具]-电脑磁盘爆满了,但又不知道哪些文件占用的空间,怎么办?
其它
[Skill]-Markdown编辑器技巧
[download]-软件下载和安装-old
[download]-软件下载地址-百度网盘
类别 | 博文 | 说明 |
---|---|---|
git | 1、git命令总结 | |
C语言 | 1、leetcode-C语言代码练习 2、C语言:构建一个二级链表并完成增删改查 |
|
指令速查 | 1、ARM/TEE/security等论文中的缩写和参考文献 2、Linux shell/makefile/gic/python指令速查-inprocess |
reserved |
makefile | 1、GCC,Clang,make,cmake,makefile,CMakeLists.txt的概念 | |
Linux Shell | 1、Linux shell字符串截取与拼接 2、Linux Shell的dirname和readlink的使用 |
|
Python | 1、python编写一个压测重启的测试程序 2、python编写测试工具:tee的相关vts测试 3、python自动化测试locksetting/gatekeeper/keymaster/vts等 4、python3:读取目录下的文件名字生成html所需的格式 5、python批量处理jira上的issue 6、python脚本:从博客导读页中提取博客的id号 7、python脚本:增加csdn阅读量 环境搭建: 1、python venv虚拟环境 |
|
写代码的技巧 | 1、C语言中compile time assert的实现 |
经验/总结 |
---|
travis-ci中的checkpatch工具使用 |
linux shell变量while循环内改变无法传递到循环外 |
python报错:UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe0 in position 0: ordinal not in rang |
欢迎添加微信、微信群,多多交流
代码阅读工具:
http://122.112.250.126:8080/optee314/
processon注册地址
https://www.processon.com/i/5e31699fe4b006a43ae71cfb
0-博客笔记导读目录(全部)-backup-20211121
0-博客笔记导读目录(全部)-backup-20210812