保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

本文档用于本人对知识点的梳理和记录。

一、前言

开发工具:KEIL

开发板:AT32F415 AT-START-F415

软件工程:雅特力BSP flash_wirte_read 点击下载BSP

在flash测试中需要从SRAM启动,因此分享和记录一下雅特力AT32F415从SRAM启动的KEIL工程配置步骤

二、KEIL配置

1、在‘manage project items’中新建一个SRAM的project target

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第1张图片

2、 打开‘options for target’,在‘Target’页面设置‘IROM1’和‘IRAM1’地址,这里不要重叠,IROM+IRAM总大小不要超过MCU SRAM的大小,并且code大小不要超过设置的大小。

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第2张图片

3、在‘C/C++’页面,如下图添加宏定义

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第3张图片

4、点击‘Linker’页面,取消1号位的勾选,在2号位设置好基地址,点击3号位的‘Edit’打开分散加载文件

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第4张图片

5 、如下设置好分散加载

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x20000000 0x00004000  {    ; load region size_region
  ER_IROM1 0x20000000 0x00004000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   .ANY (+XO)
  }
  RW_IRAM1 0x20004000 0x00004000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

6、点击‘Debug’,点击红框位置并新建一个名称为‘SRAM.ini’的文件,选中它

FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);          // Setup Stack Pointer
  PC = _RDWORD(0x20000004);          // Setup Program Counter
}

LOAD %L INCREMENTAL      // Download

Setup();                             // Setup for Running

7、打开‘flash download’页面,并分别修改编程地址和RAM地址

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第5张图片

 8、如图在"download options"页面打开红框处两个选项

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第6张图片

 

9、PC连接好开发板,并把BOOT0和BOOT1接到VDD,编译整个工程,并开始你的‘DEBUG’吧

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)_第7张图片

三、总结

总体而言难度不大,但是细节较多,很多人可能搞不清楚这么多设置 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Artery,单片机,嵌入式硬件,雅特力,mcu)