gpt4 book ai didi

arm - 找不到地址 0x00000000 的闪存组

转载 作者:行者123 更新时间:2023-12-02 03:39:38 25 4
gpt4 key购买 nike

我正在尝试将我的固件刷写到 STM32L152 中,但我有:

Open On-Chip Debugger 0.10.0+dev-00312-g1a3cbbf3 (2018-03-02-20:11)Licensed under GNU GPL v2For bug reports, read    http://openocd.org/doc/doxygen/bugs.htmladapter speed: 300 kHzadapter_nsrst_delay: 100Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWDnone separateInfo : Unable to match requested speed 300 kHz, using 240 kHzInfo : Unable to match requested speed 300 kHz, using 240 kHzInfo : clock speed 240 kHzInfo : STLINK v2 JTAG v28 API v2 SWIM v6 VID 0x0483 PID 0x3748Info : using stlink api v2Info : Target voltage: 1.769170Info : stm32l1.cpu: hardware has 6 breakpoints, 4 watchpointsInfo : Listening on port 3333 for gdb connectionsInfo : Unable to match requested speed 300 kHz, using 240 kHzInfo : Unable to match requested speed 300 kHz, using 240 kHzadapter speed: 240 kHztarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x0800b324 msp: 0x20007ffcSTM32L: Enabling HSIInfo : Unable to match requested speed 2000 kHz, using 1800 kHzInfo : Unable to match requested speed 2000 kHz, using 1800 kHzadapter speed: 1800 kHz** Programming Started **auto erase enabledInfo : Device: STM32L1xx (Cat.3 - Medium+ Density)Info : STM32L flash size is 256kb, base address is 0x8000000Warn : no flash bank found for address 0x00000000wrote 0 bytes from file build/firmware.bin in 0.003700s (0.000 KiB/s)** Programming Finished **** Verify Started **target halted due to breakpoint, current mode: ThreadxPSR: 0x61000000 pc: 0x2000002e msp: 0x20007ffcError: checksum mismatch - attempting binary comparediff 0 address 0x00000004. Was 0x25 instead of 0xb5diff 1 address 0x00000005. Was 0xb3 instead of 0xa7~~~~ Lot's of those ~~~~More than 128 errors, the rest are not printed.** Verify Failed **shutdown command invoked

固件.cfg

source [find interface/stlink.cfg]set WORKAREASIZE 0x8000transport select hla_swdsource [find target/stm32l1.cfg]init_reset haltprogram build/firmware.bin verify reset exit

有趣的是,当尝试对 firmware.elf 进行编程时,一切正常。当然,firmware.bin 是从firmware.elf 生成的,因此它们共享相同的链接器脚本(或者我在这部分有误?):


内存
{
闪存 (rx):原点 = 0x08000000,长度 = 256K
RAM (xrw):原点 = 0x20000000,长度 = 32K
}
...

我也尝试过 OpenOCD 0.10.00.9.0

最佳答案

wrote 0 bytes from file build/firmware.bin

firmware.bin 丢失了偏移量信息,因为它是原始二进制格式。您最好尝试直接刷新 firmware.elf 文件。

或者,您可以尝试将正确的闪存偏移量放入 OpenOCD 命令中:

program build/firmware.bin 0x08000000 verify reset exit

关于arm - 找不到地址 0x00000000 的闪存组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com