both of them After turning on, the screen turns white, no beep. Cannot enter DFU, holding any button while turning on doesn’t change anything. When plugged to USB, windows says “USB device not recognized”
It has probably something in common with this linker script:
Update: The linker script is innocent in this (I reorganized only the RAM parts), then I realized I built the firmware with custom built ARM toolchain… gosh! Can anybody point me to a suitable programmer for STM32?
Seems I am in deeper trouble, tried the stm32flash utility and it stops working after flashing address 0x08000700 (0.68%). Dumping whole flash into file works fine, it generates 512kB file with 0x708 meaningful bytes and the remaining of the file is filled with 0xff. Bad bad bad… Anyway, I have HEX image that will reliably brick the DSO if anyone would be interested…
Update: both of the DSO’s (v6 & v7) behave the same way, it flashes only the first 0.68% of memory and then it stops
AAhh, the stm32flash utility is made primarily for linux OS but I have found some win32 build with buggy file access routines and this caused the utility to freeze
changing the code to this solved the problem:
parser_err_t binary_read(void *storage, unsigned char *data, unsigned int *len) {
binary_t *st = (binary_t *)storage;
unsigned int left = *len;
if (st->write) return PARSER_ERR_WRONLY;
int r;
while(left > 0) {
r = fread(data, 1, 1, st->fd);
if (r < 0) return PARSER_ERR_SYSTEM;
left -= r;
data += r;
}
*len = *len - left;
return PARSER_ERR_OK;
}
Thank you very much JPA again, now my device boots, but it is requesting some license (tried all of your flash images), WTF is this? I am getting more and more convinced I want get rid of the original BIOS/DFU code and replace it with some more reliable bootloader.