1

このレポを複製し、make flash. 関連するルールは次のとおりです。

flash: main.axf
    openocd -f oocd.cfg -c "program main.axf verify reset" -c "shutdown"

oocd.cfg:

telnet_port 4444
gdb_port 3333

source [find board/stm32f3discovery.cfg]

make flash次に、次の出力が得られます。

Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v21 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 2.883108
Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
adapter speed: 1000 kHz
target state: halted
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x0800234c msp: 0x2000a000
adapter speed: 8000 kHz
** Programming Started **
auto erase enabled
Info : device id = 0x10036422
Info : flash size = 256kbytes
Warn : no flash bank found for address 0
Warn : no flash bank found for address 704
wrote 0 bytes from file main.axf in 0.001628s (0.000 KiB/s)
** Programming Finished **

コマンドはそれprogramを示してno flash bank foundおり、データは書き込まれていません。当然、verifyコマンドは失敗します。

0.9 タグから OpenOCD を構築しました。libusb-1.0-0-devST-Link サポートに必要な aptitude を使用してインストールしました。

私の構成の何が問題なのですか、またはこのタスクで試すことができる OpenOCD の代替手段はありますか?

4

1 に答える 1

2

FLASH アドレスの定義が間違っているようです。STM32F3のFLASHがどこ0からではなく、アドレスから点滅しています。0x08000000

GitHub リポジトリを簡単に調べたところ、リンカー スクリプトに問題があるようです。ファイルLM4F.ldでは、FLASH アドレスは で定義されてい0x00000000ます。

于 2015-09-07T20:35:19.510 に答える