可能很多人初次接触编译嵌入式工程都是在IDE上,IDE对于初学者会比较方便,因为他隐藏了包括工程构建、代码调试以及镜像烧写的很多细节。如果希望进一步学习SOC体系结构,在完全的linux环境中进行工程构建和调试是非常必要的,这里逐步介绍如何在完全的linux环境下进行工程构建、代码编译、gdb调试以及烧写镜像的方法,同时使用一个开源项目armdbg1作为step-by-step的例子以供大家参考学习. armdbg ↩
最近在新买的thinkpad x13 amd version上安装Ubuntu20.10时发现合盖无法休眠,也无法唤醒,结果发现是bios中设置suspend模式的问题导致的
最近在新买的thinkpad x13 amd版本上安装了ubuntu20.10, kernel verison 5.8, 所有功能基本正常,但发现合盖后休眠状态耗电稍高,大概一个晚上会耗电15%左右,这样休眠状态大概只能放置两天多,而我另外一台thinkpad t490s intel版本大概只有4~5%左右,经过一些研究后基本解决这个问题,目前休眠一天大概耗电3%左右,基本待机放置一两周都没有问题。
Aircrack-ng是一组用于wifi探测,抓包以及破解的工具集合。WPA是目前主要的wifi身份认证的方式,利用aircrack工具我们可以有效地探测到当前网络中的ap和station信息,并诱导抓取WPA的4次握手认证报文,从而利用字典方式进行破解。 ==声明== : 本文仅用于研究用途!
@[TOC] x86寻址方式 基址-偏移寻址 x86 cpu的寻址方式在历史早期主要是分片寻址(segmentation),其基本设计是任何地址由base 和 offset组成,通过将地址空间按不同规则切分成多块,每块起始地址作为base,在每个区块的偏移作为offset即可定位到具体物理地址,分片寻址在x86历史主要有两种
什么是临界区保护? 临界区(critical region)是指一段特定的代码行为集合,其中可能包括对数据的修改,执行一段特定逻辑等等。
@[toc] 为什么要做任务调度-why 操作系统中最为显著的特性就是任务调度,任务调度主要来自于以下几种需求: 程序并发(multiprogram) 任务间同步、消息传递 实时性能要求
1. wlan 设备层次架构 对wlan host和firmware的架构从整体上做了一个整理。
4 vim with plugin vim 一大扩展方式是使用插件,所谓插件其实还是一系列vim脚本,但以一种便于管理的形式组织了起来,其中用于管理插件的本身就是一种插件,插件管理插件比较常用的是vundle
总览 近期因为换了工作缘故,尝试完全切换到了vim上进行代码编写工作。在之前其实本人曾多次尝试切换到vim上,但最终总是因为各种各样的问题,或者缺乏某些IDE上熟悉方便的功能替代而放弃,虽然包括vim配置、插件管理等都已经接触过,但一直是抱着认为vim的综合效率实际是不如IDE的想法的。但最近解决了一些之前的几个问题之后,感觉豁然开朗,才真正明白在代码编写的这个场景下,在正确的运用和配置后,vim的确是有极高效率的,效率上限应该是超过ide的,原因在于vim针对代码编写这个场景做了很多特殊的优化。而之前看到的太多vim的介绍文章,要么就是重点不清,要么就是语焉不详以其昏昏使人昭昭,将本身很简单的事情搞得很复杂,因此这里开始自己写一个系列文章,主题就是“vim all in one”,即所有你需要知道的vim知识都在这一个系列文章中即可获得。