# 短小精悍的ARM-CM内核Bootloader **Repository Path**: tanchenxi/bootloader_for_arm_cm ## Basic Information - **Project Name**: 短小精悍的ARM-CM内核Bootloader - **Description**: 代码量仅36字节的ARM-CM内核Bootloader,代码一目了然,开箱即用 - **Primary Language**: 汇编 - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2022-02-12 - **Last Updated**: 2024-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 短小精悍的ARM-CM内核Bootloader #### 介绍 代码量仅 36 字节的ARM-CM内核Bootloader,代码一目了然,开箱即用. 本代码在AT32F435ZMT7(ARM-CM4内核)上调试OK. **此代码可用于减少对部分国产MCU FLASH的高性能零等待区间的浪费(指的是分配给BootLoader), 将FLASH零等待区域分配给应用程序中需要高性能的部分代码,以提高产品力。而用于实现完整功能的BootLoader可以放在此Bootloader跳转的地址 ** ![输入图片说明](image.png) #### 使用说明 其实很简单,但是还是写详细一点: 1. 拿提供的MDK工程,在MDK设置里面修改为你要的芯片型号,如STM32F103C8T6或者其他,如下图所示: ![选择芯片型号](https://images.gitee.com/uploads/images/2022/0212/202542_203fb7eb_9086442.png "屏幕截图.png") 2. 在MDK工程配置的Target选项卡中设置Bootloader的链接起始地址为内核启动地址,如STM32F103C8T6的从FLASH起始地址0x08000000启动,如下图所示: ![配置链接地址](https://images.gitee.com/uploads/images/2022/0212/202834_1c56d5cc_9086442.png "屏幕截图.png") 3. 在entry.s中设置 “DST_VECTOR_TBL_BASE” 为需要本Bootloader跳转到你的APP应用程序的中断向量表地址; ![设置跳转地址](https://images.gitee.com/uploads/images/2022/0212/202917_f9620342_9086442.png "屏幕截图.png") 4. 编译链接代码后,下载到目标芯片,观察是否能跳转到位于 “DST_VECTOR_TBL_BASE”的你的目标应用程序APP运行(确保目标位置已经存放了APP应用程序代码); ![下载程序](https://images.gitee.com/uploads/images/2022/0212/203147_2610b82b_9086442.png "屏幕截图.png") 注意!!! APP用于程序如果有重新设置中断向量表偏移寄存器(SCB->VTOR)的操作的话,一定要设置正确,本Bootloader已经有对其进行设置,所以用户可以去掉APP应用程序里面的相关设置;