Embeded System
Boooooots
我唯一知道的事,就是我什么都不知道。
展开
-
由flash引发对ARM架构的思考
前言:在上一篇博客(https://blog.csdn.net/Boooooots/article/details/86635228)的附录中提到了代码是下载到flash中的,且代码段是放在flash中的,那么为什么可以在flash中运行代码呢?能运行代码的必要条件是什么?CPU是如何处理这些二进制代码的?cpu是处理数据和指令,那么谁来管理和组织储存设备和外设呢?cpu与外部是通过什么来进行交...原创 2019-01-31 17:45:09 · 967 阅读 · 0 评论 -
由内存分区引发对堆栈的思考
前言:在C语言编程中,程序中的不同代码和数据在编译或者运行时处于RAM的不同位置,是大家熟悉的内存分区的概念。1.STM32F769芯片内的SRAM整体分区情况代码区和常量区是只读,在运行过程中是不能进行写操作的,可以将其放在nor flash中,而栈区、堆区、全局区中的数据是可读可写,而且在运行过程中需要进行读写操作的,所以一般放在sram中运行。2. 栈区、堆区的区别2.1 分配方...原创 2019-02-01 17:26:57 · 460 阅读 · 0 评论 -
深入理解函数调用过程以及函数栈的变化
前言:函数在编程中的重要性不言而喻。函数三要素,函数参数以及局部变量存在于栈上,局部变量定义需要初始化等,这些所谓的函数特征都熟背于心,时刻指导着我们设计函数。但这背后的原理是如何的呢?底层的技术细节又是怎么实现?接下来将解开函数调用的神秘面纱!1 栈帧(Stack Frame)从逻辑上讲,栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数返回地址。每个函数的每次调用,都有它自己独立...原创 2019-05-26 16:40:36 · 2245 阅读 · 0 评论