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

[复制链接]
1614|10
 楼主| coshi 发表于 2023-7-12 08:28 | 显示全部楼层 |阅读模式
一、前言
开发工具:KEIL

开发板:AT32F415 AT-START-F415

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

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

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

3884864adf38907496.png

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

8145364adf390a46f9.png

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

8542764adf397b0faf.png

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

4380064adf39dcc285.png

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地址

4924764adf3a9af622.png

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

2451564adf3aeb8a27.png



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

654364adf3b6aff7f.png

三、总结
总体而言难度不大,但是细节较多,很多人可能搞不清楚这么多设置
————————————————
版权声明:本文为CSDN博主「黑色HS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38933763/article/details/131554467

guijial511 发表于 2023-7-12 08:35 来自手机 | 显示全部楼层
确实详细,不过为什么是转载?
豌豆爹 发表于 2023-7-14 10:43 | 显示全部楼层
好东西当然可以转载分享啦,哈哈
tpgf 发表于 2023-8-5 08:54 | 显示全部楼层
基本上市面上能看到的单片机都可以通过keil来进行编程
wiba 发表于 2023-8-5 19:02 | 显示全部楼层
如何保证设置的rom和ram的大小是合适的呢
kxsi 发表于 2023-8-5 19:41 | 显示全部楼层
其实很多时候我们只要使用keil中默认的配置就好  需要我们改动的地方并不多
chenjun89 发表于 2023-8-5 20:09 来自手机 | 显示全部楼层
对得起保姆级这三个字,支持一下。
 楼主| coshi 发表于 2023-8-5 20:28 | 显示全部楼层
为什么只能通用到这几个型号呢?其他品牌有什么特殊的地方吗
qcliu 发表于 2023-8-5 21:00 | 显示全部楼层
大部分情况下我们使用默认的ram的起始地址就可以了吧
drer 发表于 2023-8-5 21:32 | 显示全部楼层
flash测试只能在sram处来实现启动吗?
weifeng90 发表于 2023-8-6 09:05 来自手机 | 显示全部楼层
现在的网络帖子教程都是KEIL,很少看到IAR的影子啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

96

主题

3310

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部