摘要: 原文转自:http://www.cnblogs.com/mddblog/p/4920063.html 阅读目录 概述 1.堆栈空间定义 2.存放中断向量表 3. 复位中断函数(Reset_Handler) 4.其它中断异常服务函数,以及弱[WEAK]声明 5.将堆栈地址传递给库函数 原文转自:htt 阅读全文
posted @ 2018-11-18 18:02 白衣尽湿 阅读(3475) 评论(0) 推荐(0) 编辑
摘要: 引入内联函数的目的是为了解决程序中函数调用的效率问题。 函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存 阅读全文
posted @ 2018-11-18 17:13 白衣尽湿 阅读(5204) 评论(0) 推荐(1) 编辑
摘要: 转:https://blog.csdn.net/zuixin369/article/details/76195186?locationNum=7&fps=1 Keil MDK编译器完成编译链接后,在调试窗口会出现Code,RO,RW,ZI 四种内存分配区域,下面说明其中的意思。 Code区:代码区。 阅读全文
posted @ 2018-11-18 17:08 白衣尽湿 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 这里针对STM32F407芯片+1M外部内存的内存管理!(全篇是个人愚见,如果错误,请不吝指出!) 首先,定义3个内存池,分别是内部SRAM,外表SRAM和CCM;通过指定内存中的绝对地址,后面就可以直接通过数组操纵内存数据了。这里的mem1的大小是112KB,这里用100KB,其余12KB 用作内 阅读全文
posted @ 2018-11-18 14:51 白衣尽湿 阅读(2849) 评论(0) 推荐(1) 编辑
摘要: __attribute__( at(绝对地址) )的作用分两个,一个是绝对定位到Flash,另个一是绝对定位到RAM。 1、定位到flash中,一般用于固化的信息,如出厂设置的参数,上位机配置的参数,ID卡的ID号,flash标记等等。 2、定位到RAM中,一般用于数据量比较大的缓存,如串口的接收缓 阅读全文
posted @ 2018-11-18 13:54 白衣尽湿 阅读(1909) 评论(0) 推荐(0) 编辑