硬汉嵌入式论坛

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

[VisualGDB] 在VS2017+GDB的环境下方便的使用H743的多块SRAM

[复制链接]

2

主题

6

回帖

12

积分

新手上路

积分
12
发表于 2022-5-17 17:04:01 | 显示全部楼层 |阅读模式
开发环境:VS2017+GDB
使用cubeMx生成代码,手动修改.ld文件
即可使用__section(".ram1")关键字定义变量到指定SRAM空间

/*
修改链接文件,手动增加三个ram段,方便定义变量到RAM_D1,RAM_D2,RAM_D3中,
例定义变量到RAM_D1中:__section(".ram1") uint8_t temp ;
简要说明:
VMA:虚拟内存地址 LMA:加载内存地址
>RAM_D1 AT> FLASH表示它上面大括号内的内容都放在定义的RAM_D1空间中,四字节对齐,此时RAM_D1为VMA,FLASH为LMA
(NOLOAD)非常重要必须要加上,表示不需要加载LMA到VMA中
若不加(NOLOAD),则定义变量到RAM_D1的同时也会在FLASH开辟同等大小内存作为LMA,浪费FLASH空间
若不加(NOLOAD)且掉AT> FLASH这一句,生成bin文件时地址是连续的,导致bin文件会很大
注意此时定义在RAM_D1中的变量初值随机,定义变量时的赋初值操作无效,不管赋的初值是否为0
RAM_D2和RAM_D3同理
*/
  .ram1 (NOLOAD):
  {
    . = ALIGN(4);
    _sram1 = .;        /* create a global symbol at ram1 start */
    *(.ram1)           /* .ram1 sections */
    *(.ram1*)          /* .ram1* sections */

    . = ALIGN(4);
    _eram1 = .;        /* define a global symbol at ram1 end */
  } >RAM_D1 AT> FLASH

关于ld链接文件这里面又详细解释https://blog.csdn.net/weixin_39177986/article/details/108455827?utm_term=stm32%20.ld&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-9-108455827-null-null&spm=3001.4430

STM32H743VITx_FLASH_MY.ld

7.75 KB, 下载次数: 3

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2022-5-18 00:34:12 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

13

主题

190

回帖

229

积分

高级会员

积分
229
发表于 2022-5-18 09:00:52 | 显示全部楼层
用GDB调试方便吗?和其他IDE区别大不大
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106590
QQ
发表于 2022-5-19 06:09:40 | 显示全部楼层
zhang0352505 发表于 2022-5-18 09:00
用GDB调试方便吗?和其他IDE区别大不大

还行,之前开发树莓派,很方便。
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2022-5-19 10:13:56 | 显示全部楼层
zhang0352505 发表于 2022-5-18 09:00
用GDB调试方便吗?和其他IDE区别大不大

我感觉挺方便的,我们公司代码都是用cubeMX+VS2017+GDB的环境,
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2022-5-19 10:17:54 | 显示全部楼层
zhang0352505 发表于 2022-5-18 09:00
用GDB调试方便吗?和其他IDE区别大不大

破解版的MDK和AD这些在公司都不敢用,各种律师函警告
回复

使用道具 举报

13

主题

190

回帖

229

积分

高级会员

积分
229
发表于 2022-5-19 13:15:52 | 显示全部楼层
Is_swl 发表于 2022-5-19 10:17
破解版的MDK和AD这些在公司都不敢用,各种律师函警告

哈哈,STM32不是有免费的IDE吗?
我也想试试VS2017+GDB,但是一直没试成。
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2022-5-20 12:11:11 | 显示全部楼层
zhang0352505 发表于 2022-5-19 13:15
哈哈,STM32不是有免费的IDE吗?
我也想试试VS2017+GDB,但是一直没试成。

我们公司一直用这个,没用过ST出的那个,装VS2017社区版,只装C++相关组件就行,我们用的GDB是V5.4的破解版
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 07:35 , Processed in 0.181233 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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