总结STM32嵌入式面试知识点 总结STM32嵌入式面试知识点
STM32F1和F4的区别? 内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核; 主频不同:F1主频72MHz,F4主频168MHz; 浮点运算:F1无浮点运算单位,F4有; 功能性能:F4外设比F1丰富且功能更强大,
2023-07-03
20道嵌入式经典面试题(附答案) 20道嵌入式经典面试题(附答案)
嵌入式系统中经常要用到无限循环,如何用C编写死循环 答:while(1){} 或者 for(;;) 程序的局部变量存在于哪里,全局变量存在于哪里,动态申请数据存在于哪里。 答:程序的局部变量存在于栈区;全局变量存在于静
2023-07-03
Windows BAT脚本(批处理)——for循环,if判断,goto跳转,遍历文件名,start打开网页 Windows BAT脚本(批处理)——for循环,if判断,goto跳转,遍历文件名,start打开网页
for 语句 在cmd窗口中:for %I in (command1) do command2在批处理文件中:for %%I in (command1) do command2for语句的基本要素: for、in和do是for语句的关键字
2023-06-01
ARM语法 Part 7[栈和函数] ARM语法 Part 7[栈和函数]
Part 7:栈和函数在这一部分我们来看一下进程中叫做栈的内存区域。本章涵盖了栈的用途和相关操作。此外我们将介绍 ARM 中函数的实现、类型和差异。 栈一般而言,栈就是进程中的一段内存。这段内存是在进程创建时分配的。我们使用栈来保存一些临时
2023-06-01
ARM语法 Part 6[条件状态和分支] ARM语法 Part 6[条件状态和分支]
在探讨CPSR时我们已经接触了条件状态。我们通过跳转(分支)或者一些只有满足特定条件才执行的指令来控制程序在运行时的执行流。通过CPSR寄存器中的特定bit位来表示条件状态。这些位根据指令每次执行的结果而不断变化。例如,比较运算时如果两个数
2023-06-01
ARM语法 Part 5[加载和存储多个值] ARM语法 Part 5[加载和存储多个值]
有时你想要更有效率,一次加载(或存储)多个值。为此我们可以使用LDM(load multiple)和STM(stroe multiple)指令。这些指令有各种变体,基本上只因访问初始地址的方式而异。这是我们本节将要使用的代码,将一步步地认识
2023-06-01
ARM语法 Part 4[内存指令:加载和存储] ARM语法 Part 4[内存指令:加载和存储]
ARM使用加载(Load)/存储(Stroe)指令来读写内存,这意味着你只能使用LDR和STR指令访问内存。在ARM上数据必须从内存中加载到寄存器之后才能进行其他操作,而在x86上大部分指令都可以直接访问内存中的数据。如前所述,在ARM上增
2023-06-01
ARM语法 Part 3[ARM指令集] ARM语法 Part 3[ARM指令集]
ARM模式和Thumb模式ARM处理器主要有两种工作模式(先不算Jazelle)-ARM状态和Thumb状态。这些状态模式与权限级别无关,它们主要区别是指令集,在ARM模式下指令集始终是32-bit,但是在Thumb模式下可以是16-bit
2023-06-01
ARM语法 Part 2[数据类型] ARM语法 Part 2[数据类型]
与高级编程语言类似,ARM汇编也支持操作不同的数据类型。 我们载入(load)或存储(store)的数据类型可以是有符号或无符号的字、半字或字节。这些数据类型的扩展符是:-h或-sh代表半字,-b和-sb代表字节,其中字没有扩展符号。有符
2023-06-01
ARM语法 Part 1[ARM汇编介绍] ARM语法 Part 1[ARM汇编介绍]
序言看到一个比较好的ARM汇编入门教程。上不了班,闲着没事翻译了一下。 原址:https://azeria-labs.com/writing-arm-assembly-part-1/ ARM 汇编语言入门(一)Part1:ARM汇编介绍处理
2023-06-01
ARM汇编(5)-OC反汇编 ARM汇编(5)-OC反汇编
OC代码的精髓其实就是objc_msgSend。而OC的反汇编其实就是查看其中的方法调用。 objc_msgSend有两个参数,第一个是id类型,第二个是SEL类型。id、SEL其实都是一个结构体,内部有isa指针,所以这两个在内存中占有8
2023-06-01
ARM汇编(4)-指针 ARM汇编(4)-指针
1. 指针 指针也就是内存地址,指针变量是用来存放内存地址的变量。不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。可使用 & 运算符访问地址。 之前的文章中有过说明,指
2023-06-01
ARM汇编(3)-状态寄存器 ARM汇编(3)-状态寄存器
1. 状态寄存器CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)。这种寄存器在ARM中,被称为状态寄存器就是CPSR(current program status register)寄存器。 CPSR和其他
2023-06-01
ARM汇编(2)-函数 ARM汇编(2)-函数
1. 关于CPU的补充1.1 寄存器CPU除了有控制器、运算器还有寄存器。其中寄存器的作用就是进行数据的临时存储。 CPU的运算速度是非常快的,为了性能CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储
2023-06-01
ARM汇编(1)-初识汇编 ARM汇编(1)-初识汇编
1. 初识汇编 汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同
2023-06-01