1

Тема: stm32f030 - оновлення прошивки

Доброго вечора.
Є два пристрії: перший - центральна плата (stm32f4xx), другий слейв. Спілкуються по uart. Оновлення передається у зашифрованому вигляді (бібліотеку писав не я). Центральна плата оновлюється без проблем, тобто завантажує прошивку з серверу і записує ії у зовнішню флеш пам'ять, а потім перезавантажується і читає цю прошивку з флеш, та оновлює. Слейв не має зовнішньої пам'яті і доступу до мережі, то прошивка також завантажується через центральну плату і зберігається у її флеш пам'ять. Після завантаження слейв входить до бутлоадера та отримує по uart пакети розміром 256 байт. Код дешифрації такий самий як і на центральній платі, різниця у тому, що він отримує пакети по uart, а цп читає з флеш - при цьому функція дешифрації повертає дані (помилок не видає), але це не прошивка. Перевіряв прошивку з сервера з прошивкою, що надходить до слейва, але різниці немає. У чому може бути проблема при декодуванні? Складається враження, що це є нюанси у роботі stm32030 (судячи з минулої моєї теми про бутлоадер вони є). Підкажіть будь ласка які є нюанси при работі з stm32f030. Дякую.

2

Re: stm32f030 - оновлення прошивки

Gruffi написав:

Перевіряв прошивку з сервера з прошивкою, що надходить до слейва, але різниці немає.

Тобто те, що клалося на сервер, порівнювалося з тим, що F4xx видав на UART в бік F030?
А F030 точно правильно його прийняв?
Ті 256-байтові пакети мають якісь контрольні коди (~CRC)?

Gruffi написав:

Код дешифрації такий самий як і на центральній платі, різниця у тому, що він отримує пакети по uart, а цп читає з флеш - при цьому функція дешифрації повертає дані (помилок не видає), але це не прошивка.

Знову ж — десь там у процесі є CRC? Чи бібліотека шифрування просто розшифровує шматок, а далі твої проблеми перевірити CRC яка з точки зору бібліотеки шифрування просто частина зашифрованих даних?

Gruffi написав:

Складається враження, що це є нюанси у роботі stm32030 (судячи з минулої моєї теми про бутлоадер вони є). Підкажіть будь ласка які є нюанси при работі з stm32f030.

Та от у світлі запитання — так і хтозна.
Той же код бібліотеки зібрано під інший процесор…
Ну там C-M4F, а там C-M0+ з помітно урізаною системою команд. Але я щось не можу уявити, який "undefined behavior" у C-коді мав би проскочити, щоб при оптимізації під C-M0+ програма себе поводила не так, як для C-M4F.

3

Re: stm32f030 - оновлення прошивки

Так контрольна сума там розраховується і битих пакетів нема. Прошивку перевіряв і на цп (що пишеться у флеш), і після читання з флешу і отриманні її на stm32f030...Вже не знаю де і дивитися...Я гадав що може що з вирівнюванням, але робив і так, і так - змін не помітив.