使用gcc编译STM32的对的.ld .map文件的理解
使用arm-none-eabi-gcc (Sourcery G++ Lite For AMR)编译STM32的C++程序后的.ld .map文件的理解 以stm32f030rct6为例,在stm32f0_stm32f030xc.ld,有如下一段脚本。 /* Entry Point */ ENTRY(Reset_Handler) /* Highest ……
04-01 立刻查看
IAP的两种实现方式
在Coretext-M3与Coretext-M4核中,在System Control Block中存在一个向量表偏移量寄存器 VTOR(0xE000ED08),系统产生中断后,内核通过这个寄存器的值来找到中断向量表的地址,进而执行中断例程代码,当然,此寄存器的值是可以修改的,它的默认值为0,由于映射关系,实际上就是指向映射地址,比如0x0800 0000。值……
04-01 立刻查看
C++的全局对象无法调用构造函数?
在C++中,全局变量和静态变量的构造函数需要在main函数执行前执行,所以需要__libc_init_array(libc 库内置的函数, 负责一些内存的初始化) 来初始化一些东西。 修改启动文件(gcc)版本 /* Call the clock system intitialization function.*/ bl SystemInit /* Call……
03-25 立刻查看
STM32GPIO配置
有如下一段配置F030的SPI的GPIO的程序,其中PB13为SCK,PB14为MISO,PB15为MOSI。 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed = GPIO_Medium_Speed; GPIO_I……
03-24 立刻查看