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

本文档详细介绍了如何在KEIL环境下配置AT32F415微控制器从SRAM启动的步骤,包括新建项目目标、设置IROM1和IRAM1地址、宏定义、链接器配置、调试设置以及Flash下载选项。重点在于理解分散加载文件和设置启动堆栈及程序计数器。
摘要由CSDN通过智能技术生成

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

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

一、前言

开发工具:KEIL

开发板:AT32F415 AT-START-F415

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

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

二、KEIL配置

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

b93b017685dd4f9188e5059f72b2280c.png

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

d20d0c4998e84291b64e49762f775852.png

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

ab8370a2d183462b84d0cc561bdebbe9.png

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

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

771ac6b9e0484671b7fefc67c89a295a.png

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

a4c91df06ae14c47b206d17954030169.png

 

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

3c4502a195d2483a88266105014924f9.png

三、总结

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

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
特力是一家专注于基于ARM处理器的嵌入式芯片的设计、研发和销售的公司,其主营产品包括ARM处理器、嵌入式系统软件以及解决方案等。其中,特力的freertos lwip是一种集成了FreeRTOS操作系统和lwIP协议栈的嵌入式系统软件。 FreeRTOS是一种开源的实时操作系统,主要用于嵌入式系统。它具有小巧、可移植、易使用等优点,可以在不同的处理器平台上运行。lwIP则是一种轻量的TCP/IP协议栈,同样可以在嵌入式系统中使用,并提供了TCP、UDP、IPv4、IPv6、FTP、HTTP、SNMP等网络协议支持。特力的freertos lwip是将这两个开源软件集成到一起,以提供基于轻量、实时需求的嵌入式系统解决方案。 特力的freertos lwip具有以下几个优点: 1. 实时响应:由于集成了FreeRTOS实时操作系统,可以对硬件进行实时控制和任务调度,能够满足实时需求。 2. TCP/IP协议支持:通过集成lwIP协议栈,可以进行网络通信,支持TCP、UDP、IPv4、IPv6、FTP、HTTP、SNMP等网络协议。 3. 轻量特力的freertos lwip可以在内存和存储空间资源有限的嵌入式系统中运行,并且提供了模块化和可裁剪的设计,可以根据需要添加或删除功能模块以适应系统要求。 4. 易移植性:由于FreeRTOS和lwIP都是开源的软件,因此可以在不同的处理器平台和操作系统上进行移植。 总之,特力的freertos lwip是一种集成了FreeRTOS操作系统和lwIP协议栈的轻量嵌入式系统软件,与传统的操作系统和协议栈相比,它具有实时响应、网络协议支持、轻量和易移植等优点,可以用于各种要求实时性、小体积、低功耗、网络连接等需求的嵌入式系统中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色HS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值