logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ARMv8 - 安全机制(TrustZone) - 异常等级

允许操作系统(EL1)请求虚拟化(EL2)服务当在ARMv8-A架构下,normal world, EL1尝试去访问EL2的时候,则会陷入到虚拟化层的,其中是通过HVC指令HVC指令用于生成同步异常,该异常由EL2中运行的管理程序处理。参数和返回值通过寄存器传递,虚拟机监控程序还可以捕获住操作系统(EL1中的guest os)发出的SMC call,并且支持SMC call被模仿、传递给下一级或拒

文章图片
#arm
Linux - 安全机制 - 内存地址空间布局随机化(ASLR)

说明学过编译原理可知,C语言程序中所有变量的逻辑地址编译后都是确定了的,但是在linux平台上实际使用中可以发现变量的地址不是固定的,如下:* 示例代码#include <stdio.h>int main(){int a;printf("%p\n", &a);return 0;}* 运行结果xxx@Lenovo-V110-15IKB:~/$ ./test0x7ffdd2ec01

文章图片
#linux
数据结构 - 链表 - 头节点的意义

说明初学数据结构时,对于链表定义一个空数据的头结点表示不理解,不明白其作用,甚至有时为了节省内存空间而去掉该节点,但是头结点是有意义的。头结点示意图:缺点多定义了一个结点,多占用了一个结点的内存。改善方式:可以采用linux kernel中的list实现方式(结点中只包含结点指针不包含结点数据),减少头节点的内存占用。优点单链表或双链表删除或插入节点时,如果没有头结点,处理有两种情况:操作的对象是

文章图片
#数据结构
软重启(reboot)

说明嵌入式开发中,重启操作是最常用的操作之一,由于其操作简单,不容易受到关注,但是不同的重启方式实现和现象其实是不一样的。断电重启操作:关机后再开机,例如:拔掉电源再接上电源或者电池没电后再充电开机。该方式是完整的重启操作,硬件会重新上电,内存等都会被重置,软件会重新执行,重新初始化等。软重启操作:在Linux平台上手动执行reboot命令重启设备,其它平台类似。不同于断电重启,软重启是软件机制,

Linux性能分析工具 - perf 和火焰图

linux 性能分析工具 perf 和火焰图

文章图片
#linux
vscode - 环境准备 - 修改缓存路径

vscode - 环境准备 - 修改缓存路径。

文章图片
#vscode#ide
缩进规则

说明Python采用代码缩进和冒号来区分代码块之间的层次,因此对代码缩进和代码写法要求非常严格,代码格式错误是Python新手常见的错误,缩进错误也很常见。规则同一个代码块的缩进量必须一样,不然就会报错,不同代码块缩进量可以不一样,但具体缩进量是多少并不做要求。#!/usr/bin/pythondef test():print("hello")...

#python
goahead - 环境准备和基本使用

说明采用第三方开源库实现嵌入式web服务器,goahead是个不错的选择,它支持内存CGI并且可以很方便的嵌入到自己的程序中。简介GoAhead是一个开源,免费,功能强大,可以在多个平台运行的嵌入式WebServer,主要特性有:支持ASP嵌入式的javascript标准的CGI执行内存中的CGI处理GoFroms扩展的API快速响应,每秒可处理超过50个请求完全和标准兼容如果不包含SSL,仅要求

到底了