OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4546|回复: 7

(急!!!)stm32f7开发板——IAP调试

[复制链接]

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-8-23
在线时间
34 小时
发表于 2017-11-18 11:39:31 | 显示全部楼层 |阅读模式
20金钱
参照原子的IAP工程设计,我把原先那个放在SRAM里的APP程序替换成网口通信那个例子,配置和开头偏移都参照原子的说法修改啦,用keil编译的时候,出现很多个文件报内存空间不足的情况。后面把KEIL破解了,再次编译也不行,跪求帮助,求解释

最佳答案

查看完整内容[请看2#楼]

STM32的代码基本上是在FLASH中运行的,当然也可以在SRAM运行,但是需要有loader程序将代码加载到SRAM. 在SRAM中运行程序时,同样要为堆栈分配内存空间,所以实际上可用代码空间不多,所以在SRAM中运行不了太大的程序. F7的SRAM可高达512K,这么大的空间,运行一般的程序是没有问题了,你那个以太网的程序也应该是可以运行的,只需要调整内存堆栈就行,将内存调速到TCM那128K中,剩下的用于代码段,就OK了. 另外如果F7没有MPU的话,不推荐在SR ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2017-11-18 11:39:32 | 显示全部楼层
STM32的代码基本上是在FLASH中运行的,当然也可以在SRAM运行,但是需要有loader程序将代码加载到SRAM.
在SRAM中运行程序时,同样要为堆栈分配内存空间,所以实际上可用代码空间不多,所以在SRAM中运行不了太大的程序.
F7的SRAM可高达512K,这么大的空间,运行一般的程序是没有问题了,你那个以太网的程序也应该是可以运行的,只需要调整内存堆栈就行,将内存调速到TCM那128K中,剩下的用于代码段,就OK了.
另外如果F7没有MPU的话,不推荐在SRAM中运行代码,一但发生内存溢出或者指针失控的情况,很容易将代码段破坏.这将使调试分析问题变得更难.
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-11-19 00:46:16 | 显示全部楼层
源码太大了。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-11-19 00:47:10 | 显示全部楼层
源码太大了。。。
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-8-23
在线时间
34 小时
 楼主| 发表于 2017-11-20 08:53:13 | 显示全部楼层

不能想其他办法吗?原子大大
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-8-23
在线时间
34 小时
 楼主| 发表于 2017-11-20 09:26:23 | 显示全部楼层

放到FLASH里面是可以的,那这里,原子大大,我就有个问题啦,我把代码放到FLASH里面,那代码是在flash里面运行的还是SRAM里面运行的?如果是在SRAM运行,那为什么直接放SRAM代码太大
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-8-23
在线时间
34 小时
 楼主| 发表于 2017-11-20 10:18:35 | 显示全部楼层
zmingwang 发表于 2017-11-20 09:43
STM32的代码基本上是在FLASH中运行的,当然也可以在SRAM运行,但是需要有loader程序将代码加载到SRAM.
在SRA ...

其实我把代码放到SRAM里面不是为了调试,而是做一个上位机,每次开始试验时,下发ARM程序,这样的话,因为FLASH还是有刷新次数限制的,所以把代码放到SRAM里面,同时速度也会更快一些
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-11-21 01:15:05 | 显示全部楼层
依宝 发表于 2017-11-20 09:26
放到FLASH里面是可以的,那这里,原子大大,我就有个问题啦,我把代码放到FLASH里面,那代码是在flash里 ...

换大容量MCU
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 19:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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