OpenEdv-开源电子网

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

stm32F429IGT6 libopencm3 openocd下的minlink

[复制链接]

6

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2023-9-1
在线时间
24 小时
发表于 2023-9-21 15:39:56 | 显示全部楼层 |阅读模式
20金钱
目前我在做的是在ubuntu22.04系统下通过libopencm3-example下的例子minlink烧录到stm32F429IGT6开发板里

openocd的连接方式为打开一个终端,并输入:openocd -f interface/jtagkey-tiny.cfg -f target/stm32f1x.cfg


$ make flash V=1
Using ../../../../../libopencm3/ path to library
  FLASH   miniblink.elf
(echo "halt; program /home/tonychen/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink/miniblink.elf verify reset" | nc -4 localhost 4444 2>/dev/null) || \
        openocd -f interface/stlink-v2.cfg \
        -f target/stm32f4x.cfg \
        -c "program miniblink.elf verify reset exit" \
       
��������Open On-Chip Debugger
> halt; program /home/tonychen/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink/miniblink.elf verify reset
Unable to match requested speed 2000 kHz, using 1800 kHz
Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000258 msp: 0x20030000
Unable to match requested speed 8000 kHz, using 4000 kHz
Unable to match requested speed 8000 kHz, using 4000 kHz
** Programming Started **
** Programming Finished **
** Verify Started **
** Verified OK **
** Resetting Target **
Unable to match requested speed 2000 kHz, using 1800 kHz
Unable to match requested speed 2000 kHz, using 1800 kHz



直接使用结果如上所示,是不是因为这个频率有问题啊?


最佳答案

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

问题1:使用的arm-none-cabi-gcc的版本太旧了,导致程序编译问题,升级后使用make编译正常 问题2:提供的例子中的时钟和LED灯的引脚和实际阿波罗stm32F429IGT6并不匹配,更改demo的代码后正常烧录且可以看到效果,代码更改后如下: #include #include static void gpio_setup(void) { /* Enable GPIOB clock. */ rcc_periph_clock_enable(RCC_GPIOB); /* Set GPIO0 (in GPIO port B) to 'output push-pull'. * ...
学习至上
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2023-9-1
在线时间
24 小时
 楼主| 发表于 2023-9-21 15:39:57 | 显示全部楼层
问题1:使用的arm-none-cabi-gcc的版本太旧了,导致程序编译问题,升级后使用make编译正常
问题2:提供的例子中的时钟和LED灯的引脚和实际阿波罗stm32F429IGT6并不匹配,更改demo的代码后正常烧录且可以看到效果,代码更改后如下:

#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>

static void gpio_setup(void)
{
/* Enable GPIOB clock. */
rcc_periph_clock_enable(RCC_GPIOB);

    /* Set GPIO0 (in GPIO port B) to 'output push-pull'. */
    gpio_mode_setup(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO0);
}

int main(void)
{
int i;

    gpio_setup();

    /* Blink the LED (PB0) on the board. */
    while (1)
    {
            /* Toggle the LED on/off using libopencm3 functions. */
            gpio_toggle(GPIOB, GPIO0); /* LED on/off */

            /* Delay to create the blinking effect. */
            for (i = 0; i &lt; 1000000; i++)
            {
                    __asm__("nop");
            }
    }

    return 0;
}


备注:后续会写一篇完整的关于该环境搭建的分享贴
学习至上
回复

使用道具 举报

6

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2023-9-1
在线时间
24 小时
 楼主| 发表于 2023-9-21 15:40:44 | 显示全部楼层
本帖最后由 tonychen0924 于 2023-9-21 15:44 编辑

通过makefile编译后只有miniblink.elf,另外我也通过文档上写的方式也不行(也是报频率的问题,灯也没有发生闪烁)

tonychen@tonychen-ASUS-TUF-Gaming-F15-FX507VV-FX507VV:~/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> reset half                                                                                                                        
power_restore
program <filename> [address] [pre-verify] [verify] [reset] [exit]
reset [run|halt|init]
reset_config [none|trst_only|srst_only|trst_and_srst]
          [srst_pulls_trst|trst_pulls_srst|combined|separate]
          [srst_gates_jtag|srst_nogate] [trst_push_pull|trst_open_drain]
          [srst_push_pull|srst_open_drain]
          [connect_deassert_srst|connect_assert_srst]
reset_nag ['enable'|'disable']
soft_reset_halt
srst_deasserted
  stm32f4x.cpu arp_examine ['allow-defer']
  stm32f4x.cpu arp_halt
  stm32f4x.cpu arp_halt_gdb
  stm32f4x.cpu arp_poll
  stm32f4x.cpu arp_reset
  stm32f4x.cpu arp_waitstate
  stm32f4x.cpu examine_deferred
  stm32f4x.cpu was_examined

>
>
>
>
>
>
> quit
invalid command name "quit"
> exit
Connection closed by foreign host.
tonychen@tonychen-ASUS-TUF-Gaming-F15-FX507VV-FX507VV:~/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink$
tonychen@tonychen-ASUS-TUF-Gaming-F15-FX507VV-FX507VV:~/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink$
tonychen@tonychen-ASUS-TUF-Gaming-F15-FX507VV-FX507VV:~/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> reset halt
Unable to match requested speed 2000 kHz, using 1800 kHz
Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000258 msp: 0x20030000
> flash write_image erase /home/tonychen/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink/miniblink.elf
auto erase enabled
wrote 16384 bytes from file /home/tonychen/gitee/libopencm3-examples/examples/stm32/f4/stm32f429i-discovery/miniblink/miniblink.elf in 0.646297s (24.756 KiB/s)

> reset
Unable to match requested speed 2000 kHz, using 1800 kHz
Unable to match requested speed 2000 kHz, using 1800 kHz



回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-9-21 15:51:25 | 显示全部楼层
没用过openocd,帮顶,不过你可以试试换jlink,那个简单,也有linux平台的软件
回复

使用道具 举报

6

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2023-9-1
在线时间
24 小时
 楼主| 发表于 2023-9-22 09:27:57 | 显示全部楼层
姚先起 发表于 2023-9-21 15:51
没用过openocd,帮顶,不过你可以试试换jlink,那个简单,也有linux平台的软件

我之前看他们说jlink的设备德国的巨贵,现在应该还是用st-link的比较多
学习至上
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-9-22 09:54:37 | 显示全部楼层
tonychen0924 发表于 2023-9-22 09:27
我之前看他们说jlink的设备德国的巨贵,现在应该还是用st-link的比较多

1000多欧元吧,德国人一周工资。国内都是盗版,只是调试够用了
回复

使用道具 举报

6

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2023-9-1
在线时间
24 小时
 楼主| 发表于 2023-9-28 15:26:15 | 显示全部楼层
tonychen0924 发表于 2023-9-21 15:39
问题1:使用的arm-none-cabi-gcc的版本太旧了,导致程序编译问题,升级后使用make编译正常
问题2:提供的 ...

整整弄好了好几天,一直纠结时钟和引脚到底填写什么。文档上写的都是PBXXX这种,也没有查到GPIO0怎么就是PB0了,这种映射关系。。。。。。。
学习至上
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 07:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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