
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录1、软件框架2、测试方案设计2.1、测试覆盖2.2、功能测试和压力测试2.3、自动化测试2.4、持续集成1、软件框架站在软件的角度,一个系统通常可以分为以下四个层次:应用软件层(app layer)。用户重点自己开发的应用代码,例如我们的运动控制器要跑运动控制app,我们的示教器要跑qt用户交互app;中间软件层(middle layer)。在用户app和os系统之间的软件,一般是一些通用
文章目录1. 简介2. Platform Layer2.1 Platform Device2.2 Platform Driver3. UDC/Gadget Layer3.1 Gadget Bus3.2 Gadget Device3.2.1 Endpoint Alloc3.2.2 EndPoint Access3.2.3 UDC Control3.3 Gadget Driver (Configfs)
文章目录1. 简介2. ADBD 源码3. Gadget Device 配置3.1 functionfs3.2 legacy 方式配置 functionfs3.3 configfs 方式配置 functionfs3.4 adb 使用配置参考资料1. 简介ADB 是 Android 环境下非常好用的调试工具。它是 client-server架构,由三部分组成:1、client (adb),运行于开发
文章目录1. 背景简介2. 主体(subject)2.1 用户2.2 进程2.2.1 凭证(credentials)2.2.2 uid/suid/euid/fsuid2.2.3 初始uid (fork())2.2.4 uid权限升级 (SUID execve())2.2.5 uid权限降级 (setreuid()/setuid()/setresuid()/setfsuid())3. 客体(obje
1. 背景简介Linux 内存管理包含很多内容,主要知识点可以参考 Linux Mem。本文只描述其中的一个知识点 Paging and MMU。本文以全志 D1 为例,包含了平头哥出品的一颗 Riscv64 的 CPU IP-Core,代号 C906。具体手册可以参考 C906 用户手册。2.X86_64同样是 64bit cpu,x86_64 支持 48bit 和 57bit 两种线性地址模式
1. RT-ThreadRT-Thread 是国内出产的一款非常优秀的 RTOS。它和 FreeRTOS 、uCos 等经典 RTOS 最大的不同是:它不仅仅是一个实时内核,还具备丰富的中间层组件。它提供了一个完整的软件栈解决方案,而不需要用户搜集各种 核心组件 手工从头搭建。包括以下部分:内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程
1. 基本原理LSM是内核安全模块的一套框架,本质是插桩法。它的主要有两个特点:1、在内核安全相关的关键路径上插入了Hook点:内核安全相关的关键对象有:task_struct(任务和进程)、linux_binprm(程序)、super_block(文件系统)、inode(管道、文件或者 socket套接字)、file(打开的文件)、sk_buff(网络缓冲区)、net_device(网络设备)、
Linux Phy 驱动的架构解析,phy 芯片的状态怎么传递给 mac netdev 驱动的流程分析。
1. 历史背景1.1 frame pointers在调试的时候经常需要进行堆栈回溯。最简单的方式是使用一个独立的寄存器(ebp)来保存每层函数调用的堆栈栈顶(frame pointer):pushl%ebpmovl%esp,%ebp...popl%ebpretx86_64的frame point模式arm64的frame point模式这种方式在堆栈回溯时非常方便快捷。但是这种方法也有自己的不足:
一个计算机系统和一个人类社会其实是差不多的,系统在运行中碰到的各种bug相当于人类社会中的各种案件:user space发生的bug危害性一般,可能就相当于一般的民事案件;kernel层面发生bug引起系统死机复位,属于性质特别恶劣后果特别严重的刑事案件。既然bug相当于案件,那么我们定位bug的过程和破案是差不多的。一般过程如下:1. 首先我们要保留案发现场。只要bug发生的时候cpu还能执行,