0x21_LinuxKernel_内核活动(一)之系统调用 0x21_LinuxKernel_内核活动(一)之系统调用# 09_ELF文件_基于ARMv7的Linux系统调用原理 指示了从处理器的角度出发,使用系统调用需要什么处理,本文将从Linux内核的角度来观察系统调用在操作系统逻辑需要的处理。在ARM处理器的系统调用,ARMv7提供了SWI指令让ARMv7处理器进入到了特权状态,以便能访问特权内存及使用特权指令。类似的,ARMv8提供了SVC指令。从进程管理和调度角度而言,# 0x24_LinuxKernel_进程(一)进程的管理(生命周期、进程表示)进程
Blog Navigation Blog NavigationCSAPP几乎囊括了整个计算机体系的架构,即便是CSAPP站在一个很高的角度来阐述计算世界,但细节远远不够。她有告诉你,有存储架构的分层设计,有cache的存在,可没有告诉你在现代处理器里会有缓存一致性snooping control unit的存在,会有MESI协议的存在,而这些需要我们去挖掘。面对技术的发展和历史积淀,我们务必要建立一个可以管理知识的体系和工...
[ARM64-01] ARMv8 some basic concepts Introduction新一代64位处理保持ARMv7兼容性New feature在programmer guide 2.1里面 引入那些feature:Large physical address32位系统的没有enable的话,只支持4G。64bit virtual addressing使之虚拟地址空间可以超过
ARMv8的ELF文件1---目标文件格式 ELF文件---目标文件格式1. 概述有几个涉及的专有名词概念段(segment)/节(section)单位存储到elf文件中代码段(code section): .code 或者 .text数据段(data section): .data这里面有几个一般性的规则:.bbs段是存储全局变量和局部静态变量未初始化的。.data段存储 已初始化全局变量和已初始化局部静态变量的位...
关于ARM大小端模式和CPU有关还是编译器有关 结论,ARM大小端模式和CPU有关也和编译器有关系。ARM默认状态配置为小端模式,编译器不指定编译模式也默认是小端模式。但有些ARM是可以配置为大端模式的。例如:ARMv7-A: In ARMv7-A, the mapping of instruction memory is always little-endian.ARMv7-R: SCTLR.IE, bit[31], that i...
03_ARMv8指令集介绍加载与存储指令 Github地址:carloscn/uncle-ben-os at car_lab_06 (github.com)ARMv8指令集介绍A64指令集只能运行在aarch64所有A64汇编都是32 bits宽的关注指令的使用、有什么limitationA64能访问的地址数据是64位宽的A64支持全部的大写或者小写方式ARM官方大写应用使用小写寄存器命名Wn表示32...
02. ARMv8 some basic concepts ARMv8Introduction新一代64位处理保持ARMv7兼容性New feature在programmer guide 2.1里面 引入那些feature:Large physical address32位系统的没有enable的话,只支持4G。64bit virtual addressing使之虚拟地址空间可以超过4GBautomatic even...
2022年学习与反思 2022年,我决定辞职了,一方面是需要时间准备出国,另一方面实际上是对工作不太满意。两年过去了,没变的是对专业技术的饥渴,变的时间又悄悄地过去了两年。工作薪资待遇可以说非常不错的了,但是要求也越来越高,除了工作质量上的,还有越来越密的schedule,我每天沉浸在繁忙之中。我发觉我陷入了一种死亡螺旋,越忙质量越低,质量越低工作量越大,我开始没有时间思考,没有时间去复盘一些项目外围的东西,拼命的追...
Windows系统Git Bash Sock5代理 git config --global https.proxy http://127.0.0.1:1080git config --global https.proxy https://127.0.0.1:1080git config --global --unset http.proxygit config --global --unset https.proxynpm con...
malloc分配内存进行对齐的操作 malloc分配内存进行对齐的操作 昨天面试高通Linux Kernel,面试官考了一个malloc内存对齐的问题,我晚上的时候细细的想了一下,实在是学习的不到位。有的时候真的应该感谢,像是Qt、Ubuntu Gcc的编译器,他们做的工作很多,malloc直接分配对齐了的内存。如果真的是一个不是很完善的平台,直接分配给你一个没对齐的内存,当我们...
Qt上FFTW組件的编译与安装 FFTW組件的編譯安裝FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件。Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的位數下載好組件包後直接按照dll規則使用組件;Linux下則需要自己進行編譯。**FFTW源碼包的下載:**http://www.fftw.org/download.htmlLinux編譯FFTW組件...
Qt上FFTW組件的编译与安裝 Qt上FFTW組件的編譯安裝FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件。Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的位數下載好組件包後直接按照dll規則使用組件;Linux下則需要自己進行編譯。FFTW源碼包的下載:http://www.fftw.org/download.htmlLinux編譯FFT...
QWT编译与配置-Windows/Linux环境 QWT编译与配置-Windows/Linux环境QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件。本文使用基于LGPL版权协议的开源项目QWT的源代码和FFTW在Window 64bit/Linux环境下的Qt上进行编译,编译器使用MinGW-64bit版本。最终配置生成QWT的静态库文件和将qwt ui组件集成到QtCrea...
Manjaro Linux KDE个人的一些安装配置 安装manjaro kde linux的个人步骤1 换源1.1 自动寻找最快的源sudo pacman-mirrors -i -c China -m rank1.2 修改源文件sudo gedit /etc/pacman.conf添加archlinuxcn软件源,在最下方添加:[archlinuxcn]Server = https://mirrors.tuna.tsinghua....
Linux内核调用I2C驱动_以MPU6050为例 Linux内核调用I2C驱动_以MPU6050为例0. 导语最近一段时间都在恶补数据结构和C++,加上导师的事情比较多,Linux内核驱动的学习进程总是被阻碍、不过,十一假期终于没有人打扰,有这个奢侈的大块时间,可以一个人安安静静的在教研室看看Linux内核驱动的东西。按照Linux嵌入式学习的进程,SPI驱动搞完了之后就进入到I2C驱动的学习当中,十一还算是比较顺利,I2C的Linux驱动完...
Linux内核调用I2C驱动_驱动嵌套驱动方法 禁止转载!!!!Linux内核调用I2C驱动_以MPU6050为例0. 导语最近一段时间都在恶补数据结构和C++,加上导师的事情比较多,Linux内核驱动的学习进程总是被阻碍、不过,十一假期终于没有人打扰,有这个奢侈的大块时间,可以一个人安安静静的在教研室看看Linux内核驱动的东西。按照Linux嵌入式学习的进程,SPI驱动搞完了之后就进入到I2C驱动的学习当中,十一还算是比较顺...