当我有了一只小精灵

本文想法来自b站up 努力的Lorre 解说漫画《80亿个精灵》,看完颇有感触。首先原谅我立项还是在23年10月1日,而落笔已是半年后。有时我会想,如果我也有一只无所不能,可以满足任何一个愿望的小精灵,我会干什么呢......

stm32f103ct6的boot启动方式

MCU整体工作流程可总结如下:上电——>主时钟起振——>启动代码——>用户程序(main函数) MCU上电(复位)时,从固定的地址启动,一般是地址0x00000000,如ARM7;个别特殊的如STM32默认启动地址为0x8000000(flash区启动)。启动过程主要完成两部分工作,一个是硬件执行环境,如中断向量表、寄存器、看门狗等,另一个是软件环境,如C库环境、ZI(未初始化的内存变量)等。 第一种方式(boot0=0) Flash memory启动方式即 正常使用模式 启动地址:0x08000000 是STM32内置的Flash。中断向量表定位于FLASH区,即起始地址为0x8000000,同时复位后PC指针位于0x8000000处。 Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。 第二种方式(boot0=1 boot1=0)System memory启动方式即 串口下载模式(isp)烧录完需要接地才能正常使用。(需使用其他软件进行烧录如FlyMcu) 启动地址:0x1FFF0000从系统存储器启动。中断向量表定位于内置Bootloader区,此时可通过串口下载程序的二进制文件到flash区。 System memory 是MCU 中固定位置的一块区域,里面存放了一些固定的代码。这部分空间在出厂前的生产期间由…