0

我有一个 .bin 文件,我想通过 STLINK V2 将它闪存到 STM32L151C8T6 中。当我完成所有安装 STLINK 的教程时,我制作了闪存,但似乎闪存已被擦除。

我的 makefile 运行正确,它创建了一个文件 bin。这是我的闪光规则

....
.PHONY: all 
all: $(TARGET) size
    file $(TARGET)
    @echo "----------------> Done."

$(TARGET): $(OBJECTS) $(LIBC) $(LIBM) $(LIBGCC)
    $(CC) $(DEFS) $(CFLAGS) $(LDFLAGS) -o $@ $^
    $(OBJCOPY) -O binary $(TARGET) $(BIN)
    $(OBJCOPY) -O binary $(TARGET) $(BUILD_DIR)/$(PROJ_NAME).out

$(BUILD_DIR)/%.o: %.c
    $(CC) $(DEFS) $(CFLAGS) -c $< -o $@

$(BUILD_DIR)/%.o: %.s
    $(CC) $(DEFS) $(CFLAGS) -c $< -o $@

# Check size of memory
size: 
    $(MEM_SIZE) $(TARGET)

# Flash firmware into chip 
.PHONY: flash
flash:
    @st-flash write $(BIN) $(START_ADD_LOAD_INTO_FLASH) 


.PHONY: clean
clean:
    rm -rf $(BUILD_DIR) folder
    @echo "------------------> Finished."

print-%:
    @echo $($(subst print-,,$@))

发生错误

2021-11-17T19:38:21 INFO common.c: L1xx Cat.1: 16 KiB SRAM, 16384 KiB flash in at least 256 byte pages.
file build_proj_arm_cortex/proj_arm_cortex.bin md5 checksum: be568019bd8ed96b5cbd9194b7d7de9a, stlink checksum: 0x00411732
2021-11-17T19:38:21 INFO common.c: Attempting to write 42900 (0xa794) bytes to stm32 address: 134217728 (0x8000000)
2021-11-17T19:38:21 INFO common.c: Flash page at addr: 0x08000000 erased
2021-11-17T19:38:21 INFO common.c: Flash page at addr: 0x08000100 erased
... The same above but different address earased
2021-11-17T19:38:22 INFO common.c: Flash page at addr: 0x0800a700 erased
2021-11-17T19:38:22 INFO common.c: Finished erasing 168 pages of 256 (0x100) bytes
2021-11-17T19:38:22 INFO common.c: Starting Flash write for L0
2021-11-17T19:38:22 INFO flash_loader.c: Successfully loaded flash loader in sram
2021-11-17T19:38:22 INFO flash_loader.c: Clear DFSR
2021-11-17T19:38:23 ERROR flash_loader.c: Flash loader run error
2021-11-17T19:38:23 WARN flash_loader.c: Loader state: R2 0x81000000 R15 0x81000000
2021-11-17T19:38:23 WARN flash_loader.c: MCU state: DHCSR 0x1010009 DFSR 0x0 CFSR 0x0 HFSR 0x0
2021-11-17T19:38:23 WARN common.c: Failed to use flash loader, fallback to soft write
335/335 halfpages written
2021-11-17T19:38:24 ERROR common.c: Invalid flash address
2021-11-17T19:38:24 ERROR common.c: Flash programming error: 0x00000400
2021-11-17T19:38:24 INFO common.c: Go to Thumb mode
stlink_fwrite_flash() == -1
make: *** [Makefile:141: flash] Error 255

我很高兴看到你的回答。非常感谢

4

0 回答 0