- 目录一、内核是什么1.1、操作系统是什么1.2、操作系统核心功能二、内核、驱动和根文件系统的关联三、Linux内核的模块化设计四、Linux内核源码目录结构4.1、单个文件4.2、单个文件夹五、内核配置与编译5.1、2步配置的过程5.2、menuconfig的使用5.3、menuconfig的工作原理5.4、Kconfig文件格式5.5、Kconfig和.config文件和Makefile三... 目录一、内核是什么1.1、操作系统是什么1.2、操作系统核心功能二、内核、驱动和根文件系统的关联三、Linux内核的模块化设计四、Linux内核源码目录结构4.1、单个文件4.2、单个文件夹五、内核配置与编译5.1、2步配置的过程5.2、menuconfig的使用5.3、menuconfig的工作原理5.4、Kconfig文件格式5.5、Kconfig和.config文件和Makefile三...
- 一、栈1.1、四种栈满栈,空栈,减栈,增栈ARM中,要求使用满减栈1.2、栈的意义c语言中的局部变量是用栈来实现的,如果汇编没有设置栈地址,c代码定义的局部变量就会落空,导致整个程序崩了。1.3、各种模式下的栈ARM有37个寄存器,7种模式,每种模式都有自己的SP(r13栈)寄存器各种模式下用不同的栈,操作系统内核使用自己的栈,每个应用程序也使用自己独立的栈,这样各是各的,就不会说一个栈出错... 一、栈1.1、四种栈满栈,空栈,减栈,增栈ARM中,要求使用满减栈1.2、栈的意义c语言中的局部变量是用栈来实现的,如果汇编没有设置栈地址,c代码定义的局部变量就会落空,导致整个程序崩了。1.3、各种模式下的栈ARM有37个寄存器,7种模式,每种模式都有自己的SP(r13栈)寄存器各种模式下用不同的栈,操作系统内核使用自己的栈,每个应用程序也使用自己独立的栈,这样各是各的,就不会说一个栈出错...
- 一、从源码到cpu执行过程高级语言-->.s汇编-->.exe二进制可执行程序-->bin格式烧录文件-->cpu读flash-->解码后cpu执行指令二、汇编和高级语言差异汇编:无可移植性,难写,执行效率高高级语言:可移植性高,好写,执行效率低,适合大型复杂项目三、CISC和RISCRAM架构是RISC地址总线:最大寻址范围(32位,4g)数据总线:单次交换信息数量(32位,4字节)CIS... 一、从源码到cpu执行过程高级语言-->.s汇编-->.exe二进制可执行程序-->bin格式烧录文件-->cpu读flash-->解码后cpu执行指令二、汇编和高级语言差异汇编:无可移植性,难写,执行效率高高级语言:可移植性高,好写,执行效率低,适合大型复杂项目三、CISC和RISCRAM架构是RISC地址总线:最大寻址范围(32位,4g)数据总线:单次交换信息数量(32位,4字节)CIS...
- 一、指令,伪指令指令:cpu机器指令的助记符伪指令:本质不是指令,编译器环境提供,目的是指导编译过程,不会生成机器码二、汇编特点2.1、LDR/STRARM采用RISC架构,CPU本身不能直接读取内存,需要先将内存加载到寄存器才能CPU处理。ldr:将内存加载到通用寄存器str:将通用寄存器内容存入到内存LDR r0,[r1]LDR R0, =__main //伪指令2.2、8种寻址... 一、指令,伪指令指令:cpu机器指令的助记符伪指令:本质不是指令,编译器环境提供,目的是指导编译过程,不会生成机器码二、汇编特点2.1、LDR/STRARM采用RISC架构,CPU本身不能直接读取内存,需要先将内存加载到寄存器才能CPU处理。ldr:将内存加载到通用寄存器str:将通用寄存器内容存入到内存LDR r0,[r1]LDR R0, =__main //伪指令2.2、8种寻址...
- 对于初学者来说,对于RTOS经常提到的任务栈和我们裸机编程说的栈经常傻傻分不清楚,一文带你了解 RTOS 的任务栈 和 系统栈 对于初学者来说,对于RTOS经常提到的任务栈和我们裸机编程说的栈经常傻傻分不清楚,一文带你了解 RTOS 的任务栈 和 系统栈
- LDM(载入多个值)和STM(存储多个值).dataarray_buff:.word 0x00000000 /* array_buff[0] */.word 0x00000000 /* array_buff[1] */.word 0x00000000 /* array_buff[2]. This element has... LDM(载入多个值)和STM(存储多个值).dataarray_buff:.word 0x00000000 /* array_buff[0] */.word 0x00000000 /* array_buff[1] */.word 0x00000000 /* array_buff[2]. This element has...
- 栈指令应用sub sp, sp, #32 ; 更新栈顶寄存器的值,(可以看出:申请 32 字节占空间作为新用)stp x29, x30, [sp, #16] ; 保存调用该函数前的栈顶寄存器的值和该函数结束返回后下一将执行指令地址值add x29, sp, #16 ; 更新栈底寄存器的值,(可以看出:还剩余 16 字节空... 栈指令应用sub sp, sp, #32 ; 更新栈顶寄存器的值,(可以看出:申请 32 字节占空间作为新用)stp x29, x30, [sp, #16] ; 保存调用该函数前的栈顶寄存器的值和该函数结束返回后下一将执行指令地址值add x29, sp, #16 ; 更新栈底寄存器的值,(可以看出:还剩余 16 字节空...
- 分类 1加载指令有四个:LDR、LDRB、LDRH、LDM 2存储指令有四个:STR、STRB、STRH、STM LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。 LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。 LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0... 分类 1加载指令有四个:LDR、LDRB、LDRH、LDM 2存储指令有四个:STR、STRB、STRH、STM LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。 LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。 LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0...
- 伪指令: 伪指令主要有四大种类:符号定义伪指令,数据定义伪指令,汇编控制伪指令,其他常用伪指令 符号定义伪指令:用于定义全局变量的:GBLA、GBLL、GBLS用于定义局部变量的:LCLA、LCLL、LCLS用于对变量赋值的:SETA、SETL、SETS位通用寄存器列表定义名称的RLISTGBLA:用于定义一个全局的数字变量,并将其初始化为0GBLL:用于定义全局的逻辑变量,并将其... 伪指令: 伪指令主要有四大种类:符号定义伪指令,数据定义伪指令,汇编控制伪指令,其他常用伪指令 符号定义伪指令:用于定义全局变量的:GBLA、GBLL、GBLS用于定义局部变量的:LCLA、LCLL、LCLS用于对变量赋值的:SETA、SETL、SETS位通用寄存器列表定义名称的RLISTGBLA:用于定义一个全局的数字变量,并将其初始化为0GBLL:用于定义全局的逻辑变量,并将其...
- DCB、DCW、DCD、DCQ指令分析 DCB、DCW、DCD、DCQ指令分析
- 移远RM500Q 5G模块演示5G网络的功能 移远RM500Q 5G模块演示5G网络的功能
- 前言上一遍文章介绍了如何使用GDB+QEMU搭建内核的调试环境。但是,有时候直接利用GDB调试查看代码还不是很方便,所以,在这么重要的场合,怎么能少的了vscode这个神器呢。本篇文章介绍如何使用vscode远程调试内核。本文环境:windows10vscodeubuntu 20.04我个人使用的是腾讯云服务器,所以就省去了安装虚拟机的过程。直接从vscode配置开始。 vscode插件安... 前言上一遍文章介绍了如何使用GDB+QEMU搭建内核的调试环境。但是,有时候直接利用GDB调试查看代码还不是很方便,所以,在这么重要的场合,怎么能少的了vscode这个神器呢。本篇文章介绍如何使用vscode远程调试内核。本文环境:windows10vscodeubuntu 20.04我个人使用的是腾讯云服务器,所以就省去了安装虚拟机的过程。直接从vscode配置开始。 vscode插件安...
- 麒麟V10-arm编译nginx-1.20.1 麒麟V10-arm编译nginx-1.20.1
- CentOS7.6 with arm 漏洞修复1 中危漏洞列表CVE-2019-1387CentOS Microsoft Git for Visual Studio 远程执行代码漏洞 CVE-2019-6477CentOS ISC BIND 资源管理错误漏洞CVE-2020-11008CentOS Git 输入验证错误漏洞CVE-2020-5260CentOS Git凭证泄露漏洞... CentOS7.6 with arm 漏洞修复1 中危漏洞列表CVE-2019-1387CentOS Microsoft Git for Visual Studio 远程执行代码漏洞 CVE-2019-6477CentOS ISC BIND 资源管理错误漏洞CVE-2020-11008CentOS Git 输入验证错误漏洞CVE-2020-5260CentOS Git凭证泄露漏洞...
- TTserver arm安装启动 TTserver arm安装启动
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签