0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AT32 MCU如何设定启动存储器为主存扩展

jf_pJlTbmA9 ? 来源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2023-10-18 17:50 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

启动存储器(Boot Memory)默认是作为BOOT模式用来存放原厂固化的启动代码。不过,在具有AP mode系列产品上,添加了新功能,启动存储器也可以选择作为主存的扩展区(AP模式)用来存放用户自定义代码。

注意:启动存储器AP模式只能设置一次不可逆,设置后原启动存储器BOOT模式功能不可恢复。

本应用指南将介绍主存扩展的使用范例,下面以AT32F415系列为例,其中:

章节2.1介绍使用Artery ICP Programmer将启动存储器开启AP模式,作为主存扩展的步骤。

章节2.2介绍项目run_in_boot_memmory在启动存储器执行应用程序的示例。

例程放在BSP标准库

utilitiesat32xx_boot_memmory_ap_demorun_in_boot_memmory目录

范例程序

使用Artery ICP Programmer将启动存储器作为主存扩展使用

要使用ICP Programmer,请参照以下步骤:

连接J-Link或AT-Link仿真器到AT32F415并上电;

开启ICP programmer,选择用J-Link或AT-Link做连接;

通过菜单栏:“设备操作”-“启动程序存储区AP模式”,如下图:

wKgaomUD3O6AB11nAAH7jNAO_38511.png

图1. ICP操作界面

为防止误操作,需按照提示手动输入启用秘钥0xA35F6D24,操作后“存储器信息”表格中会有成功或失败的提示信息。

关于ICP Programmer的详细说明,请参阅ICP Programmer用户手册。

run_in_boot_memmory:在启动存储器执行应用程序

在此例程中,硬件从主存储器启动,主存储器的代码会从串口(USART1)输出信息,启动存储器中的代码会初始化LED灯并让LED2闪烁。要在启动存储器执行应用程序,需对Keil进行如下设置:

设置启动存储器的起始位置及范围。

wKgZomUD3O-AaifxAAIM5WW730Q841.png

图2. 设置bootmem地址范围到IROM2

范例程序把要载入启动存储器的应用代码编写成单独的c文件,范例中是把LED灯闪烁的相关代码放在run_in_boot_memmory.c,右键点击.c文件在Options选项中将地址编到IROM2。

wKgZomUD3PGABNIrAAGwaRt2KwI845.png

图3. 选择配置c文件

wKgaomUD3PWAahXJAAFWB3DjV8c873.png

图4. 配置c文件编译地址

编译后查看分散加载描述文件(scatter file),可以看到目标文件(object file) run_in_boot_memory.o放置到了启动存储器。

wKgaomUD3PeAEv3DAAF-CaY5RqU477.png

图5. 分散加载描述文件

添加启动存储器flash算法

wKgZomUD3PiAPOT8AAGLf_GpEzY437.png

图6. FLASH算法文件添加

下载并运行后可以看到对应执行结果LED闪烁。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    18031

    浏览量

    369314
  • 存储器
    +关注

    关注

    39

    文章

    7655

    浏览量

    167937
  • AT32
    +关注

    关注

    1

    文章

    121

    浏览量

    2747
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Artery ICP Programmer将启动存储器为主存扩展使用

    启动存储器(Boot Memory)默认是作为BOOT模式用来存放原厂固化的启动代码。不过,在具有AP mode系列产品上,添加了新功能,启动存储器
    发表于 09-19 09:36 ?1788次阅读

    主存储器的基本组成

    基本上主存由三部分组成 存储体 地址寄存 数据寄存
    发表于 11-24 16:42 ?3688次阅读
    <b class='flag-5'>主存储器</b>的基本组成

    STM32学习之Flash(主存储块、系统存储器和选项字节)详解

    的FLASH分成两部分:主存储块、信息块。 主存储块用于存储程序,我们写的程序一般存储在这里。 信息块又分成两部分:系统存储器、选项字节。系
    发表于 11-23 17:03

    怎样为计算机去设计一个主存储器

    怎样为计算机去设计一个主存储器呢?该主存储器的结构是由哪些部分组成的?
    发表于 10-22 07:23

    如何利用AT32系列MCU存储器中的零等待区(ZW)

    本应用笔记详细描述了如何利用AT32系列MCU存储器中的零等待区(ZW),实现在擦除或者编程过程中保证CPU重要内容正常运行,免受MCU失速影响。
    发表于 10-24 08:17

    怎么使用AT32 MCU的SPIM作为外部存储器扩展功能

    AT32 SPIM Application Note描述了怎么使用AT32 MCU的SPIM作为外部存储器扩展功能。
    发表于 10-24 08:03

    设定启动存储器为主存扩展(AP模式)介绍

    设定启动存储器为主存扩展(AP模式)主要阐述有AP mode功能的MCU
    发表于 10-24 07:49

    AT32 MCU XMC入门指南

    AT32 MCU XMC入门指南本文介绍了XMC 外设功能,以及上述几种存储器和LCD 的驱动方式和相关代码。
    发表于 10-25 08:08

    存储器.ppt

    4.2  主存储器4.3  高速缓冲存储器4.4  辅助存储器 主存的基本组成
    发表于 04-11 09:34 ?0次下载
    <b class='flag-5'>存储器</b>.ppt

    主存储器的性能指标

    本视频主要详细阐述了主存储器的性能指标,分别是存储速度、存储容量、CL、SPD芯片、奇偶校验、内存带宽等。
    的头像 发表于 12-16 10:20 ?1.4w次阅读

    存储器和外存储器的分类与区别

    内存又称为内存储器,通常也泛称为主存储器,是计算机中的主要部件,它是相对于外存而言的。
    发表于 05-26 10:33 ?4.2w次阅读

    关于不同类别存储器基本原理的解析

    存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器
    发表于 06-19 15:29 ?1458次阅读
    关于不同类别<b class='flag-5'>存储器</b>基本原理的解析

    不同类别存储器基本原理

    存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器
    发表于 01-26 19:48 ?4次下载
    不同类别<b class='flag-5'>存储器</b>基本原理

    存储器工作原理及如何选择存储器品牌

    存储器是用来存储程序和各种数据信息的记忆部件,更通俗地说,存储器就是用来存放数据的地方。存储器可分为主存储器(简称
    的头像 发表于 10-11 16:58 ?4445次阅读

    AT32讲堂028 | AT32 MCU如何设定启动存储器为主存扩展

    概述启动存储器(BootMemory)默认是作为BOOT模式用来存放原厂固化的启动代码。不过,在具有APmode系列产品上,添加了新功能,启动存储器
    的头像 发表于 09-21 09:53 ?1945次阅读
    <b class='flag-5'>AT32</b>讲堂028 | <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何<b class='flag-5'>设定</b><b class='flag-5'>启动</b><b class='flag-5'>存储器</b><b class='flag-5'>为主存</b><b class='flag-5'>扩展</b>