好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。
本文档用于本人对知识点的梳理和记录。
一、前言
开发工具:KEIL
开发板:AT32F415 AT-START-F415
软件工程:雅特力BSP flash_wirte_read 点击下载BSP
在flash测试中需要从SRAM启动,因此分享和记录一下雅特力AT32F415从SRAM启动的KEIL工程配置步骤
二、KEIL配置
1、在‘manage project items’中新建一个SRAM的project target
2、 打开‘options for target’,在‘Target’页面设置‘IROM1’和‘IRAM1’地址,这里不要重叠,IROM+IRAM总大小不要超过MCU SRAM的大小,并且code大小不要超过设置的大小。
3、在‘C/C++’页面,如下图添加宏定义
4、点击‘Linker’页面,取消1号位的勾选,在2号位设置好基地址,点击3号位的‘Edit’打开分散加载文件
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地址
8、PC连接好开发板,并把BOOT0和BOOT1接到VDD,编译整个工程,并开始你的‘DEBUG’吧
三、总结
总体而言难度不大,但是细节较多,很多人可能搞不清楚这么多设置