Это руководство к приложению немного странно. Я работал с серией STM32F042, включая STM32F042K6 специально. По моему опыту, единственное странное поведение по сравнению с другими частями семейства STM32 заключается в том, что загрузчик принудительно запускает бит BOOT_SEL
во время выполнения, а не только при загрузке чипа после сброса.
Во время выполнения проверки состояния BOOT0
обычно происходит возврат к основной флэш-памяти, даже если вы вручную переназначаете память и переходите к загрузчику, как это было бы с другими частями семейства STM32.
Чтобы обойти это, вы можете установить BOOT_SEL=0
и nBOOT0=1
в байтах опции, чтобы при загрузке он всегда загружался с основной вспышки, как показано в таблице ниже:
После установки байтов опции таким образом, вы можете воспользоваться обычным подходом remap-memory-and-jump-to-bootloader , который уже был рассмотрен несколько раз .
(Примечание: загрузочная память серии STM32F042 живет в 0x1FFFC400, в отличие от 0x1FFFC800, показанного в примере STM32F072).
В качестве предостережения, отключение проверки булавки BOOT не позволит вам использовать булавку BOOT для принудительной загрузки микросхемы в загрузчик. Возможно, вы захотите добавить свою собственную проверку программного обеспечения, чтобы прочитать вывод BOOT0
в начале загрузки и перейти к загрузчику.
Вам необходимо использовать Fiddler , чтобы увидеть, какие заголовки HTTP отправляются IE и вашими приложениями, чем они отличаются от заголовков для Firefox. Вам нужно сделать так, чтобы браузер отправлял заголовок If-Modified-Since
(и, возможно, заголовок ETag
), и ваше приложение должно отвечать со статусом HTTP 302.
Попробуйте использовать расположение ServerAndClient:
[OutputCache (Duration = 600, VaryByParam = "ID", Location = OutputCacheLocation.ServerAndClient)]
ControllerContext.HttpContext.Response.ClearHeaders()