vscode+platformIO开发STM32(七)

前言

最近可能太忙了哈哈哈哈,没时间写博客,不过看到不少朋友私信问我这个platformIO怎么设置偏移地址,那我就抽时间写一下简单的教程。

什么是.ld文件?

如果熟悉makefile的编译环境,那一定会和.ld这个文件打交道,这是一个link文件,在keil/IAR上是直接设置偏移、内存的,所以长时间依赖keil/iar也许就不太了解这个。.ld实际也是一个描述文件,文件内容有特殊的关键字来描述,这里就不相信解释了,作用:

  • 描述如何将输入文件的section映射到输出文件
  • 控制输出文件的内存布局

在pio里面,如果按照我前面的工程这样建立,它就会使用默认基础的.ld文件,好的我自己也没发现原始的在哪,不过就算找到了也不可能去修改它的,因为这样会导致别的工程受到影响。

PlatformIO链接自定义.ld

如果你使用的是STM32,并且你不熟悉.ld的语法,但是你有stm32cubemx,那恭喜你,这个就很容易了。你只需要这样:
在这里插入图片描述
建立一个makefile的工程。在工程里面,找到这个.ld文件。
在这里插入图片描述
在platformIO上建立好文件夹,例如像我这样:
在这里插入图片描述
放置好文件之后,开始设置对应的路径:
在这里插入图片描述

修改.ld

这个文件没看懂没关系,主要关注这个:
在这里插入图片描述
目前程序是在0x8000000的地址开始的,并且大小是512K,那同样的,如果我想让程序下载到0x8008000呢?也就是偏移8000的地址开始,前8000的地址用于bootloader,这应该很常见,那就把地址设置为FLASH对应的ORIGIN设置为0x8008000就可以了。其余的内存操作也类似,比如一些内存映射,或者CCM的使用,都是在这里修改的。pio作为一个相对成熟的编译工具,自然不会缺少这个功能,还专门给了board_build.ldscript这个关键字来供开发者重定向.ld文件,说实在比我自己用makefile的时候良心多了。。。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: VSCode是一款流行的开源代码编辑器,PlatformIO是一个跨平台的开发工具,可以用于开发各种嵌入式系统。STM32是一种基于ARM Cortex-M内核的微控制器系列,常用于嵌入式系统开发。在VSCode中使用PlatformIO可以方便地进行STM32开发。 ### 回答2: VSCode是一个轻量级的代码编辑器,可用于多种编程语言,包括C++,Python,Java,JavaScript等。而PlatformIOSTM32则是与嵌入式系统相关的两个开源项目。 PlatformIO是一个跨平台的开源生态系统,可以用于开发各种不同的嵌入式系统。它提供了一个集成开发环境,包括自动构建工具和OTA(Over-The-Air)更新,能够广泛地支持多种MCU及其开发板的开发。通过使用PlatformIO开发者可以在各种嵌入式系统上编写、构建、调试和上传代码。 STM32则是STMicroelectronics公司生产的一系列32位ARM Cortex-M微控制器,主要用于嵌入式系统的开发STM32在市场上备受欢迎,原因之一就是它拥有强大的性能,广泛支持各种外设和接口,并且有成熟的软件开发生态系统。STM32平台可以使用多种IDE工具进行开发,包括Keil,IAR和Eclipse等。 在应用中,VSCode作为集成开发环境可与PlatformIO一起使用,在编写嵌入式系统代码时可以使用PlatformIO提供的调试工具和ST-Link调试器。通过在VSCode中安装PlatformIO插件,开发者可以以统一的方式管理多个项目和构建任务,包括各种MCU型号的软件开发、构建和调试。 总的来讲,使用VSCode平台和PlatformIO工具链开发STM32的嵌入式系统可以提供高效可靠的开发环境,可以减少大量的开发时间和工作量。同时,这种开发方式能够帮助开发者更快地理解代码和系统,加速系统的开发和调试,提高代码的质量和开发效率。 ### 回答3: VSCode+PlatformIO+STM32 近年来,开源硬件领域的发展日益成熟,吸引了大量开发者和爱好者的关注和参与。在各种硬件平台中,STMicroelectronics的STM32系列是深受欢迎的一种。而为了更高效、更舒适地开发STM32应用,VSCode+PlatformIO是一种不错的选择。 VSCode是一款免费开源的跨平台IDE,具有强大的扩展性和丰富的功能,支持多种语言和框架的开发PlatformIO则是一种开源的、跨平台、集成开发环境、构建系统和库管理系统。这两款开源软件都是由全球社区共同开发的,具有以下突出的优点: 1.免费开源: VSCodePlatformIO都是开源软件,完全免费,用户可以自由使用和修改。这一点对于开源硬件爱好者来说,非常重要。因为很多嵌入式开发IDE都很贵,而且在功能和体验上也不能很好地满足开发需求。 2.功能丰富: VSCode是一款非常强大和灵活的IDE,支持多种语言和框架的开发PlatformIO则提供了全面的开发工具链,能够满足开发、调试和构建等方面的需求。而且,PlatformIO提供了内置的库管理系统,可以方便地引入和管理各种开源库。 3.跨平台支持: VSCodePlatformIO都支持多种不同操作系统的开发,如Windows、Mac和Linux等。这一点对于不同的开发者来说,非常方便。因为他们可以在自己喜欢的平台上开发项目,而不需要转换环境。 4.易于使用: VSCodePlatformIO都是非常易于使用的软件,对于初学者和专业人士都非常适合。而且,两个软件都有详细的文档和社区支持,能够解决开发中遇到的各种问题。 总之,VSCodePlatformIO是一款非常好的开发工具组合,能够为STM32开发者提供全面的支持。通过这款软件,开发者可以高效地搭建嵌入式开发环境,提高开发效率和代码质量。如果你是STM32的爱好者或者想要进入嵌入式开发领域,那么这款开源软件一定是你不可错过的。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值