找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1905|回复: 0
打印 上一主题 下一主题
收起左侧

stm32 51让单片机项目运行在内存中

[复制链接]
跳转到指定楼层
楼主
ID:576025 发表于 2022-2-28 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32 51让单片机项目运行在内存中  stm32 51让单片机项目运行在内存中
注意:
    RAM要查询芯片手册,找到其容量,而工程固件(hex)文件不要大于RAM的容量。。。

1 三种启动模式,根据说明配置相应引脚的电平。 2
2 Project manager 里面增加一个编译目标选项 2
3 选择编译目标选项3
4 进行内存配置4
41 Output 配置: 5
5 添加宏定义 VECT_TAB_SRAM(中断向量搬移到 SRAM)/逗号要加上。6
6 勾选相关选项7
7 debug 页面勾选 Load Application at Startup(如果取消勾选此选项则 Debug 时打断点无效,即 不能真正的仿真调试,建议勾选)并在 Initialization File 添加文件8
71 注意 9
72 Debug 选项的其它默认配置:10
8 程序下载相关配置12
9 Utilities 页面,勾选 Update Target before Debugging。 13
91 注意 14
10 保存工程14
11 编译工程(0 错误 0 警告) 15
12 板子和电脑用 ST-Link v2 连接好 16
13 首次上电使用需下载程序到板子上(显示 ok) 16
14 进入 DeBug 17
15 效果 18
16 调试完成而最终产品定型时---把引脚转换成 FLASH 启动及相关配置 20


1.  三种启动模式,根据说明配置相应引脚的电平。(这里选择 SRAM 即 RAM 启动需 BOOT0
和 BOOT1 皆为高电平/记得加电阻限流)




2.
Projectmanager里面增加一个编译目标选项







































3.
选择编译目标选项




4.
进行内存配置




4
.1Output配置:




5.
添加宏定义 VECT_TAB_SRAM(中断向量搬移到SRAM)/逗号要加上。




6.
勾选相关选项



7.debug页面勾选 LoadApplicationatStartup(如果取消勾选此选项则 Debug时打断点无效,

即不能真正的仿真调试,建议勾选)并在 InitializationFile添加文件
文件内容如下:


FUNC void Setup (void) { SP = _RDWORD(0x20000000); //设置堆栈指针 PC =
_RDWORD(0x20000004); //设置 PC 指针 _WDWORD(0xE000ED08, 0x20000000); //设置
中断向量表地址 } //工程配置选项请勾选"Load Application arStartup"


LOAD              ..\Objects\led.axf              INCREMENTAL             // 装 载 代 码 到              CPU              内 部
RAM(Objects\led.axf 自己工程的路径和文件名) Setup(); //再调用 Setup 函数修改
堆栈指针和 PC 指针 因为 SP 的值要从目标代码中读取 g, main //运行到 main 函数

文件里面的 Objects\led.axf 需要更换成你的编译输出目录和文件名,参考第 4 步 Output 配置部分。




7
.1注意:如若取消勾选 LoadApplicationatStartup选项则 debug时打的断点将失去作用。



7.2 Debug 选项的其它默认配置:





8.
程序下载相关配置


9.Utilities页面,勾选 UpdateTargetbeforeDebugging




9.1注意:如若不勾选 Update Target before Debugging 则每次更改完程序后要重新下载程序到

芯片内才能使用 DEBUG 调试。






































10.保存工程




11.
编译工程(0错误 0警告)


12.板子和电脑用 ST-Linkv2连接好










































13.首次上电使用需下载程序到板子上(显示 ok)



首次上电使用需下载。若勾选了 Update Targetbefore Debugging(第 9 步)中途更改过代码但没 断过电源则无需下载亦能 debug








































14.进入 DeBug































1
5.效果(成功了,当把电源拔掉时数据丢失,即成功把程序下载到 SRAM中运 行了,调试时应该多使用此方法以减少烧录 flash的次数 延长芯片 flash的寿 命的效果。当调试完成而最终产品定型时记得把引脚转换成 FLASH启动...)




16.调试完成而最终产品定型时---把引脚转换成FLASH启动及相关配置...






以上图文的pdf格式文档下载(内容和本网页上的一模一样,方便大家保存):
本文的pdf格式.pdf (2.94 MB, 下载次数: 9)

评分

参与人数 1黑币 +70 收起 理由
admin + 70 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表