打印
[应用相关]

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

[复制链接]
445|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



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、如图在"download options"页面打开红框处两个选项





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



三、总结
总体而言难度不大,但是细节较多,很多人可能搞不清楚这么多设置
————————————————
版权声明:本文为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来进行编程

使用特权

评论回复
5
wiba| | 2023-8-5 19:02 | 只看该作者
如何保证设置的rom和ram的大小是合适的呢

使用特权

评论回复
6
kxsi| | 2023-8-5 19:41 | 只看该作者
其实很多时候我们只要使用keil中默认的配置就好  需要我们改动的地方并不多

使用特权

评论回复
7
chenjun89| | 2023-8-5 20:09 | 只看该作者
对得起保姆级这三个字,支持一下。

使用特权

评论回复
8
coshi|  楼主 | 2023-8-5 20:28 | 只看该作者
为什么只能通用到这几个型号呢?其他品牌有什么特殊的地方吗

使用特权

评论回复
9
qcliu| | 2023-8-5 21:00 | 只看该作者
大部分情况下我们使用默认的ram的起始地址就可以了吧

使用特权

评论回复
10
drer| | 2023-8-5 21:32 | 只看该作者
flash测试只能在sram处来实现启动吗?

使用特权

评论回复
11
weifeng90| | 2023-8-6 09:05 | 只看该作者
现在的网络帖子教程都是KEIL,很少看到IAR的影子啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

3301

帖子

4

粉丝