* Set SWD clock before using SWD (#107, #568 ?)
* Make st-util -v print more than default
* Flush output streams explicitly. Fix#665
On Win32 redirecting streams makes them buffered, therefore without
flushing there would be no output before exit. Stdout and stderr are
also often buffered differently, making them disordered.
* Add preliminary support for some STM32G0 chips.
* Fix a bug in the 'which page to erase' logic.
When I flashed a program with more than one page, I noticed that this logic did not un-set previously-set 'PNG' bits. So it would erase page 1, then page 3, then page 3...
* Only do bank calculatio on SRM32L4 devices with dual banked flash
RM0394 covers the STM32L41xx, 42xx, 43xx, 44xx, 45xx, and 46xx. These
devices are all employ single banked flash and have chip id's
of 0x464 for the 41xx/42xx, 0x435 for 43xx/44xx, and 0x462 for 45xx/46xx
It's also worth noting that bit 21 of the FLASH_OPTR register is marked
as resevred for these chips, and isn't an indicator of dual banked
flash.
RM0392 covers the STM32L4x1, cpu_id 0x415 and can be dual banked.
RM0351 covers the STM32L4x5/4x6, cpu_ids 0x415 & 0x461 and can be dual
banked
RM0432 covers the STM32L4Rx/4Sx, cpu_id 0x470 and can be dual banked.
This PR modifies the calculate_L4_page functio to only factor bank
calculations for the devices above which can support dual banked flash.
* Converted tabs to spaces on added line
* Use local variable for read_result instead of *ret, and fix
calculation of *ret for EOF case.
* Found a problem when reading an odd (%4) number of bytes at the end
of a file. fread (on stm32) get them (say 3 bytes), then askes for
more. do_semihosting gets a read return of 0 and tries to write that.
mem_write alters the address to be aligned and overwrites then 3 bytes
from the last read.
This change simply tells mem_write to do nothing if len is 0.
* Fix Issues from Fabien-Chouteau's review of my previous patch in isue #727.
* Revert change to mem_write() so it does not confuse fixes to do_semihosting().
* Add cast to avoid warning.
* Restore change to mem_write to return immeadiately if len == 0.
Add more comments on further possible issues and ways to handle them.
Using a branch to separate this change from others as it may need
more discussion and go on for a while...
* Remove cast of "-1" to uint32_t. It's now compared to a ssize_t
and the compiler should be fine with that without any cast.
* Use local variable for read_result instead of *ret, and fix
calculation of *ret for EOF case.
* Found a problem when reading an odd (%4) number of bytes at the end
of a file. fread (on stm32) get them (say 3 bytes), then askes for
more. do_semihosting gets a read return of 0 and tries to write that.
mem_write alters the address to be aligned and overwrites then 3 bytes
from the last read.
This change simply tells mem_write to do nothing if len is 0.
* Fix Issues from Fabien-Chouteau's review of my previous patch in isue #727.
* Revert change to mem_write() so it does not confuse fixes to do_semihosting().
* Add cast to avoid warning.
* Disable static library installation by default
* Added parameter for not install static lib
* Rename and move to top parameter for install static libs.
* first try to fix#700
Use CMAKE_INSTALL_PREFIX for install paths
* check IS_DIRECTORY LIB_INSTALL_DIR
* fix incorrect VAR usage in condition
* changed debian/rules according to @bluca patch