Цитата(klen @ Mar 14 2012, 17:57)

2. запись в область флеша здесь не выполняется, во первых флеш начинается со смешением 0x800000, во вторых в нее нелзя писать иначе это называлосьбы озу , можно только попросит флеш контроллер это сделать, это и назывется IAP.
Спасибо, кэп!
Советую почитать тут:
STM32F40xxx and STM32F41xxx Flash programming manualконкретно вот этот кусок:
Цитата
The Flash memory programming sequence is as follows:
1. Check that no main Flash memory operation is ongoing by checking the BSY bit in the FLASH_SR register.
2. Set the PG bit in the FLASH_CR register
3. Perform the data write operation(s) to the desired memory address (inside main memory block or OTP area):
– Byte access in case of x8 parallelism
– Half-word access in case of x16 parallelism
– Word access in case of x32 parallelism
– Double word access in case of x64 parallelism
4. Wait for the BSY bit to be cleared
Вот что я имел в виду, когда говорил, что запись в область флэш используется в процесса IAP.
Кстати, если я правильно помню, я проверял процедуру программирования флэш без использования смещения 0x08000000 (то есть с нулевым базовым адресом) и она таки работает.
В свете сказанного выше совсем не удивительно, что никакого эксепшена не происходит.