社区导航

 

搜索
查看: 3733|回复: 12

[分享] Developing Keil MDK-ARM Projects with VisualGDB

[复制链接]

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-5-5 18:01 | 显示全部楼层 |阅读模式

在一个外文网站看到的,算是增加一个编译器的思路吧


This tutorial shows how to use VisualGDB to create, build and debug an MSBuild-based project using the Keil MDK-ARM compiler.
Starting from VisualGDB 5.4 Preview 10, the Keil compiler is fully supported on par with the GCC compiler, so you can use the regular VisualGDB GUI to create your projects and manage their settings.
  • Open Visual Studio and begin creating a new Embedded VisualGDB project:
  • Select “Create a new project” -> “MSBuild”:VisualGDB can also create GNU Make-based projects using the Keil compiler, however the MSBuild-based projects provide better GUI integration and build faster.
  • Select your Keil toolchain on the Device Selection page. Note that VisualGDB supports both the classic ARMCC compiler (V5) and the newer Clang-based compiler (V6):
    If the Keil compilers don’t appear in the toolchain list, double-check the Keil installation path in registry (HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Keil\Products\MDK\Path).
  • Once the toolchain is selected, pick your
  • device from the list. When using the Keil toolchains, VisualGDB will automatically load device lists from the Keil packs, so you will be able to target any device supported by the Keil environment even if it’s not directly supported by VisualGDB:
  • Projects created using the Keil toolchain always start empty, so simply press “Next” on the Sample Selection page:
  • Finally select the debug method for your device and press “Finish” to create the project:
  • VisualGDB will create an empty project with no source files that will target the selected device:
  • If you are using the Custom edition of VisualGDB or higher, right-click on the project in Solution Explorer, click “VisualGDB Project Properties” and go to the “Keil Components” page. Ensure that the “Automatically manage RTE_Components” flag is set:For lower editions of VisualGDB, use the regular Add->Existing Item menu to manually adds sources and headers to the project.
  • Check the “Device->Startup” and “Device->STM32Cube HAL->GPIO” components. VisualGDB will automatically detect their dependencies and suggest adding them as well:
  • Click “OK” to proceed. VisualGDB will show a list of file templates offered by the selected components. Check the “main module for STM32Cube HAL” template and click “OK”:
  • VisualGDB will automatically add files from the selected components (including a copy of the main.c file) to your project, allowing you to build it:
  • Open the regular VS Project Properties. Note that the properties reflect the Keil-specific flags (e.g. allowing you to use scatter files instead of linker scripts):
  • Open the Keil Components page of VisualGDB Project Properties again, pick your development board from the list and check the “LED” component:
  • Include the file from your main file and add the following code to the end of main():

    1

    [color=rgb(49, 124, 197) !important]2

    3

    [color=rgb(49, 124, 197) !important]4

    5

    [color=rgb(49, 124, 197) !important]6

    7

    [color=rgb(49, 124, 197) !important]8


    [color=rgb(0, 78, 208) !important]LED_Initialize[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(128, 0, 128) !important]for[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important];[color=rgb(51, 51, 51) !important];[color=rgb(51, 51, 51) !important])
    [color=rgb(51, 51, 51) !important]{
    [color=rgb(0, 111, 224) !important]    [color=rgb(0, 78, 208) !important]LED_On[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]0[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(0, 111, 224) !important]    [color=rgb(0, 78, 208) !important]HAL_Delay[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]100[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(0, 111, 224) !important]    [color=rgb(0, 78, 208) !important]LED_Off[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]0[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(0, 111, 224) !important]    [color=rgb(0, 78, 208) !important]HAL_Delay[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]100[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(51, 51, 51) !important]}




    Also add a basic SysTick_handler implementation:

    1

    [color=rgb(49, 124, 197) !important]2

    3

    [color=rgb(49, 124, 197) !important]4


    [color=rgb(128, 0, 128) !important]void[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]SysTick_Handler[color=rgb(51, 51, 51) !important]([color=rgb(128, 0, 128) !important]void[color=rgb(51, 51, 51) !important])
    [color=rgb(51, 51, 51) !important]{
    [color=rgb(0, 111, 224) !important]    [color=rgb(0, 78, 208) !important]HAL_IncTick[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
    [color=rgb(51, 51, 51) !important]}



  • Press F5 to begin debugging. Once the on-board LED starts blinking, set a breakpoint in the main loop and wait for it to trigger:
  • Note that VisualGDB will automatically load the memory layout and the hardware register definitions from the Keil packs, so you won’t need to specify them manually:



回复

使用道具 举报

1万

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-5 20:34 | 显示全部楼层
越来越复杂了

回复

使用道具 举报

172

TA的帖子

0

TA的资源

宇宙尘埃

发表于 2019-5-6 09:19 | 显示全部楼层
谢谢分享!

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-6 09:22 | 显示全部楼层
是的哦

回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-6 23:20 | 显示全部楼层
今天按着走了一遍基本走通了,编译下载调试可以了。 QQ截图20190506225747.png
QQ截图20190506230035.png
QQ截图20190506225552.png

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-6 23:25 | 显示全部楼层
是吧,很简单的

点评

步骤不多,但确实也遇到了几个问题,选型界面空白,jlink驱动下载不下来,GDB的破解。  详情 回复 发表于 2019-5-6 23:37

回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-6 23:37 | 显示全部楼层

步骤不多,但确实也遇到了几个问题,选型界面空白,jlink驱动下载不下来,GDB的破解。

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-6 23:47 | 显示全部楼层
是的,肯定有曲折的

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-6 23:48 | 显示全部楼层
你也可以再写篇文章,发表,把你的过程发一下

回复

使用道具 举报

998

TA的帖子

1

TA的资源

禁止发言

发表于 2019-5-28 14:56 | 显示全部楼层
存储芯片/MCU/SRAM/PSRAM/DDR/FLASH/MRAM。web.www.sramsun.com  QQ3161422826 TEL:13751192923

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-28 22:44 | 显示全部楼层
谢谢啊

回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2020-2-4 20:21 | 显示全部楼层
beatles 发表于 2019-5-6 23:37 步骤不多,但确实也遇到了几个问题,选型界面空白,jlink驱动下载不下来,GDB的破解。

大佬我选择ARMCC或者ARMCLANG之后没有器件怎么解决的?


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2020-2-5 09:25 | 显示全部楼层
小子快跑呵呵 发表于 2020-2-4 20:21 大佬我选择ARMCC或者ARMCLANG之后没有器件怎么解决的?

看11楼,按我的过程试试。http://www.armbbs.cn/forum.php?mod=viewthread&tid=93539&page=1#pid161110


回复

使用道具 举报

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

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-1 22:28 , Processed in 0.402416 second(s), 34 queries , Gzip On, MemCache On.

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