【经验】基于VScode搭建极海APM32F103x的GCC开发环境添加J-LINK芯片型号的方法
本文将为大家解析基于VScode搭建极海APM32F103x的GCC开发环境添加J-LINK芯片型号的方法。在使用VSCODE搭建32位MCU的GCC开发环境时,若需要用到J-LINK作为下载调试工具,需要确定J-LINK工具里面有目标芯片的型号。若没有相应型号,J-Link未能识别目标芯片,在下载调试的时候会出现如下提示:
此时,我们需要找到安装目录下的JLinkDevices.xml文件,并打开在里面配置相应的芯片(C:\Program Files (x86)\SEGGER\JLink_V640)。
根据SEGGER官方提供的用户手册可知,编辑这个文件可以添加一些新设备。在给J-Link添加新设备时,我们需要关注两个标签,<ChipInfo> 和<FlashBankInfo>。所以我们需要编辑文件添加新的芯片和其他主要信息,就可以使得J-Link支持我们的芯片了。
如上图所示,根据J-LINK官方手册可知,在<ChipInfo> 里面,我们分别需要提供芯片厂家(Vendor)、芯片名称(Name)、芯片内核(Core)、芯片RAM基地址(WorkRAMAddr)和芯片RAM大小(WorkRAMSize)。如下图所示:
同样地,可以通过官方手册查询到<flashbankinfo>内容。
由上图可知,在Loader说明中,手册说明了下载算法是相对个文件"JLinkDevices.xml"的路径,因此我们的下载算法需要拷贝到J-Link的安装目录里面。如何找到相关的算法文件呢?Keil使用的下载算法是基于CMSIS标准的FLM文件,该算法文件J-Link也是支持的。因此,我们可以通过找到Keil的算法文件添加到J-LINK的安装路径里。
点击keil的pack管理窗口,可以看到pack的目录路径。根据提供路径打开文件夹,我们可以找到相关的算法文件。
然后,我们就可以添加算法文件了。具体步骤分以下两步:
一、将算法文件复制到J-Link的安装目录下的“Devices”目录。
二、编辑J-Link安装目录下的JLinkDevices.xml,添加极海芯片的具体信息。我们也可以通过查看keil魔术棒中Debug里的FlashDownload信息得知ChipInfo和FlashbankInfo所需的参数。注意编辑区间在<DataBase></DataBase>之间,每个不同系列芯片之间以<Device>开头和以</Device>结尾。注意不要混淆。
最后回到VScode工作区的编辑界面,点击烧录配置中的芯片名称,搜索APM,我们配置的两款芯片都已经添加成功了。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由优质懒狗提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】实战芯海CS32F031C8T6 MCU使用GCC编译器的startup.s启动文件
本文将以芯海推出的32位MCU CS32F031C8T6为例,给大家分享一个startup.s文件,希望帮助有需要使用GCC开发芯海CS32F031C8T6产品的各位小伙伴。
设计经验 发布时间 : 2023-02-14
【经验】雅特力32位MCU使用Cygwin在GCC中搭建开发环境操作流程及注意事项
免费开源的开发工具Cygwin中使用gcc交叉编译器搭建开发环境,本文以雅特力的32位MCU为例讲解,安装完成可以使用命令行编译开发雅特力的工程,相比传统的IAR、MDK等开发环境,使用起来更快捷高效。
设计经验 发布时间 : 2023-01-14
【设计】在Cygwin中使用gcc搭建32位MCU开发环境的详细步骤
本文将详细介绍在Cygwin中通过安装gcc交叉编译器搭建雅特力MCU开发环境的方法,从而可以使用命令行编译开发雅特力的工程。此方法也可以作为在Linux环境下搭建雅特力开发环境的参考。
设计经验 发布时间 : 2021-09-18
关于极海的APM32F003F6P6 环境问题 ,有推荐除 Keil 和 IAR 以外的开发环境吗?
能否提供Keil和IAR以外的开发环境,以规避授权问题。推荐使用GNU编译器套件(GCC)环境开发。
技术问答 发布时间 : 2024-05-25
【经验】国民技术MCU N32G435在GCC环境中PWM波启停异常问题解决
国民技术MCU N32G435采用32位ARM Cortex-M4F内核,最高主频108MHz,支持浮点运算和DSP指令。本文将为大家解析该产品在GCC环境中PWM波启停异常问题的解决办法。
设计经验 发布时间 : 2023-02-14
【经验】使用GCC编译芯海CS32F031C8T6 MCU的ld文件
目前CS32F031C8T6官方的Pack包提供的都是基于Keil开发环境的例程,众所周知Keil的费用较高,而GCC是免费的编译器,但一个项目如果移植到GCC的环境工作量最大的主要有startup.s和.ld两个文件需要编写,本文分享.ld文件。
设计经验 发布时间 : 2023-02-22
【经验】VScode搭建GCC环境报错“Please select first...application”解决方案
在使用VScode的Embedded IDE插件搭建一个工程的时候,我们需要在完成文件配置、包含路径和烧录配置等一系列操作后构建工程。本文将以极海半导体MCU产品APM32F072VB为例,简述若VScode搭建GCC环境出现报错的解决方法。
设计经验 发布时间 : 2023-02-02
【经验】如何在 keil软件编译国产ARM Cortex 32位MCU程序?
CKS32F030系列是中科芯采用高性能ARM®Cortex™-M0核的32位微控制器,最高工作频率为48MHz,高速嵌入式内存,集成增强型外设接口和I/O口,产品的开发及调试过程较容易,支持IAR,Keil和基于GCC的IDE软件开发平台,很多工程师在使用开发软件时都遇到在编译软件里找不到中科芯对应MCU型号的问题,如何处理?本文将以开发软件keil为例,介绍如何通过keil配置来编译程序代码。
设计经验 发布时间 : 2021-02-13
【经验】关于国民技术MCU N32G435在GCC环境中编译时遇到变量名未定义的问题解决方法
国民技术N32G435系列产品主要采用32位ARM Cortex-M系列处理器内核,性能、集成度高,安全性好、低功耗,应用于多种领域。国民技术N32系列可以搭建GCC环境进行开发。
设计经验 发布时间 : 2023-02-04
【经验】搭建免费的IDE环境之gcc-arm的安装
GCC是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,是一款非常强大的编译器。本文将介绍如何获取以及安装免费的编译器gcc-arm。
设计经验 发布时间 : 2023-01-19
【经验】Cygwin环境下32位MCU工程生成的.elf文件转换为.bin文件的操作介绍
雅特力的32位MCU可以在Linux的环境下使用gcc编译器进行编译开发。本文主要介绍如何在Cygwin的环境下将工程编译生成的.elf文件转换为.bin文件,可以作为在Linux环境下转换.bin文件的参考。
设计经验 发布时间 : 2021-09-27
使用Simplicity Studio开发Silicon Labs 32位低功耗MCU EFM32JG,怎样打开浮点printf()?
Simplicity Studio集成开发环境IDE使用带newlib-nano的GCC。为了节省代码尺寸,newlib-nano中的printf缺省状态下并未 支持浮点输出。 加入"-u _printf_float" 作为链接选项以获得printf函数对%f的支持。为达此目的: 在project explorer中右击工程根部选中Properties导航到C/C++ Build > Settings > Tool Settings > Gnu ARM C Linker > Miscellaneous添加"-u _printf_float" 到Linker flags。
技术问答 发布时间 : 2017-10-10
对于EFM32GG990F1024芯片的使用,在Simplicity Studio环境里如何修改一个特定功能的优化等级?
可以使用pragma语句直接定制一个特定功能的优化等级,如下面的例子:#pragma GCC push_options;#pragma GCC optimize (1) //your level for the fucntion;void customize_function (void);{;......;};#pragma GCC pop_options
技术问答 发布时间 : 2017-05-05
在EFM32ZG110F32芯片中,DMA通道控制结构体的地址对齐问题如何理解?
地址对齐是为了适应固定的硬件操作规则,需要根据硬件的操作规则对齐相应的起始地址,对齐的方法因编译器不同而不同。在Keil、IAR和GCC三种常用编译器通用的处理方法中,用户只需要将该段代码;#if defined (__ICCARM__);#pragma data_alignment=256 ;DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMA_CHAN_COUNT * 2]; #elif defined (__CC_ARM) DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMA_CHAN_COUNT * 2] __attribute__ ((aligned(256))); #elif defined (__GNUC__) DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMA_CHAN_COUNT * 2]__attribute__ ((aligned(256))); #else ;#error Undefined toolkit, need to define alignment ;#endif;复制到相应的源文件里,即可实现变量dmaControlBlock的地址对齐。
技术问答 发布时间 : 2017-05-05
32位MCU AT32F403xx可以使用GCC进行开发吗?
可以的,具体可参考雅特力的:AN0033 应用笔记 Eclipse with GCC(https://www.sekorm.com/doc/3103781.html) 同时,世强这边也有免费的GCC集成环境和AT32F403xx的SDK库和例程 世强免费集成开发环境 SekormStudio V1.0.0 (https://www.sekorm.com/doc/3748183.html) 雅特力AT32 ARM系列MCU SDK库和MCU例程 V1.0.4(https://www.sekorm.com/doc/3748159.html)
技术问答 发布时间 : 2020-10-24
电子商城
登录 | 立即注册
提交评论