STM32 Hardfault错误
https://blog.csdn.net/electrocrazy/article/details/78173558
STM32F4xx FPU和DSP库的使用
https://blog.csdn.net/electrocrazy/article/details/73456697
STM32定义变量位于指定的SRAM地址
1、定义一个数组比如value[],让数组的首地址指向特定的SRAM地址,比如0x20000100
1)align(8) uint8_t value[20] attribute((at(0x20000100))); MDK中定义
2)int value[] attribute((section(“.ARM.at0x20000100”))) = {0x01, 0x02}; GCC中定义
2、指定函数的存放地址
void func (void) _attribute((section(“.ARM.__at_0x00000200”)));
STM32——.bss .data .text 与Code, RO-data , RW-data, ZI-data的关系
https://blog.csdn.net/u012564117/article/details/95170275
STM32的堆栈与内存
https://blog.csdn.net/wangzibigan/article/details/81333492
(1)栈区(stack):由编译器自动分配和释放,存放函数的参数与返回值、局部变量等,其操作方式类似于数据结构中的栈。
(2)堆区(heap):由程序员分配管理。
(3)全局区与静态区:存储全局变量和静态变量,其中初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。
(4)文字常量区:常量字符串存放。
(5)程序代码区:存放程序代码。