硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1409|回复: 0
收起左侧

[STM32F7] STM32 F7只用ITCM 运行程序

[复制链接]

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2021-12-16 12:19:34 | 显示全部楼层 |阅读模式
阅读教程的时候,我一直觉得ITCM和DTCM 本质上不存在任何区别都是个TCM。当然有不同意见欢迎指教。
好多SRAM 跑程序的教程,都要求把向量表放到DTCM让我难以理解。
所以我就想try 一下全部放在ITCM 是否可以运行。本来一直失败想要求助,发现硬汉哥说他已经try 成功了。
既然已经成功,心态就不一样了。求助帖就变成了分享贴。
p.s一定一定多仔细检查,我居然是因为synaty error 一个括号折腾了好久。
SOC:STM32F7
配置过程如下
第一步配置target
前8KB 配置为ROM 后8KB 配置为RAM,Linker 方式使用默认default Target Dialog
1.png 2.png

第二步编辑debug 初始配置,debug 初始配置SP PC 指针 Vector 偏移地址,SystemInit 函数里面有配置VECT_TAB_SRAM的步骤,同步修改为使用ITCM基地址,编译选项使能宏定义



第三步,编译查看map地址,编译无异常。map地址如下,注意RO、RW、ZI-data 数据的大小不能超过ITCM



sct 如下


点击debug 进入,观察command 命令窗,是否配置初值成功


读取0x0地址,观察配置和map 是否一致



点击run 运行,大功告成。
需要注意的是,rst 以后initialization file 不会重新载入,PC、SP 指针的值是不对的,所以务必重新在command 输入配置命令或者,退出debug 重新进入。



最最后还想求助一下,之前听说硬汉哥有个debug教程的汇总,有地址么,想学习一下。
还有就是如果想查看通过debug.ini 配置PC/SP指针的过程怎么观测呢?RST 的时候,好像已经过了汇编进入_main了。


谢谢各位,如果有什么问题可以一起讨论。

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 12:44 , Processed in 0.243242 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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