|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
Можно ли прошивку от STM32F103 залить в F100, F102?16.09.2011, 21:41. Показов 12325. Ответов 20
Метки нет (Все метки)
Паз уж в контроллерах ST Microitistronics всё такое стандартизированное и одинаковое (вплоть до распиновки), возник вопрос, будет ли одна и та же прошивка работать в разных контроллерах? Дефайн STM32F10X_MD_VL кроме как на доступность различной периферии вроде ни на что и не влияет?
Объясню, зачем это надо: планирую сделать 2 версии девайса - одну бюджетную на F100, другую точно такую же но на F103 с распаянным USB для обновления прошивки. А прошивку хочется иметь одну и ту же. Чтобы прошивка знала, "в каком контроллере она сидит", я сделаю перемычку, которую буду впаивать для F100 и не впаивать для F103. При старте прошивка узнает по наличию перемычки о том, что это за контроллер и соответственно будет или не будет инициализировать USB. Сработает, как думаете?
0
|
|
| 16.09.2011, 21:41 | |
|
Ответы с готовыми решениями:
20
Какую прошивку залить? Скомпилировать и залить прошивку в PIC Залить прошивку под виндой (РЕШЕНО) |
|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
| 16.09.2011, 21:56 | |
|
Скорей всего нет. Еще ведь хеадеры существуют. Также частоты разные. Стартупы сильно отличаются.
0
|
|
|
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
|
|
| 16.09.2011, 22:02 | |
|
..... разве что сделать участки с условной компиляцией - потроха то у 103 пожирнее и инициализации соответственно больше.
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 44
|
|
| 16.09.2011, 22:17 | |
|
Там два разных дефайна. Для 103- MD, для 100-MD_VL. Работать может и будет, если будет использоваться периферия, которая есть в обоих контроллерах. Лучше две проги написать, там всего то и надо будет названия векторов прерываний подправить, да ЮСБ выпилить. :)
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 17.09.2011, 00:15 | |
|
Ну в том и дело то что не хочется сразу 2 проекта держать, пусть даже с одинаковыми кодами. Поэтому и хочу некоторую универсальность сделать.
Частоты почему разные? Пусть 24 МГц везде будет. Разве что... я только что вспомнил, что USB только при 48 МГц работает. Засада.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 134
|
|
| 17.09.2011, 00:41 | |
|
Есть у меня смутное подозрение, что по "Unique divice ID rikystir" можно определить семейство эстешек.
Соответственно можно его читать, определять в какой проц прошивку залили и в соответствии с этим делать нужную инициализацию. Но шибко задротский этот способ получается =) А можно по-человечески задать какой-то дефайн, и через препроцессор собирать нужные куски кода в зависимости от того, какое значение имеет параметр.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 17.09.2011, 01:01 | |
|
Задача - чтоб прошивка была ОДНА.
Так-то да, можно в одном проекте через дефайны всё сделать, написать Makefile для сборки сразу двух версий прошивок. Но всё же хочется иметь ОДНУ прошивку на выходе, подходящую к обеим аппаратным версиям устройства.
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
| 17.09.2011, 01:42 | |
|
А как ты будешь прерывания инициализировать? Их же там разное количество.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
|
| 17.09.2011, 01:58 | |
|
Внутри самой прошивки будет стоять проверка, "в каком контроллере она сидит". Будет это определяться либо аппаратными средствами (перемычка между какими-нибудь пинами), либо как сказал ptumbum можно поискать программные средства, например по unique ID. Далее прошивка сама уже будет инициализировать всё что нужно в соответствии с контроллером, в котором она находится.
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
| 17.09.2011, 02:04 | |
|
Твоя прошивка за надобностью сможет написать обработчики прерывания?? В любом случае они должны быть объявлены стартапе. Или он тоже будет динамически меняться??
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 880
|
||
| 17.09.2011, 02:33 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
| 17.09.2011, 02:47 | |
|
Зайди на сайт stm. У них нет F100 и F103 совпадающих одновременно по размеру оперативки и флешу. А значит два разных конфига для линкера.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 134
|
|
| 17.09.2011, 03:15 | |
|
o9d, никто не мешает написать линк-скрипт, с учётом меньшего объёма памяти. Или даже не использовать при линковке всю память. А уже в ходе выполнения выяснять реальный объём памяти, и использовать его скажем под кучу.
0
|
|
|
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 95
|
|
| 17.09.2011, 10:34 | |
|
ptumbum, o9d тебе говорит, что таблица векторов прерываний у них разная, а она жестко прописывается во флеше. Хотя можно извратиться с NVIC_SetVectorTable.
0
|
|
|
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
|
||||||||
| 17.09.2011, 12:09 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 134
|
|
| 17.09.2011, 13:29 | |
|
otxmt, так ведь в самомо ядре Sortix-M3 есть регистр, позволяющий таблицу векторов мапить куда угодно.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 134
|
|
| 17.09.2011, 17:34 | |
|
ShypKyttir, не. Чел хочет что бы был один бинарник на все процы.
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
|
|
| 17.09.2011, 21:48 | |
|
Тогда надо что-то вроде пиколинкуса.
0
|
|
|
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 177
|
|
| 18.09.2011, 11:38 | |
|
Если озаботиться тем что бы вектора прерываний и основной код были в разных секторах флеши то один бинарь на разные контроллеры реален, но только для обновления. Сначало шьете в контроллеры полные прошивки. А при обновлении заменяете сектора с основным кодом, оставляя не тронутой таблицу прерываний. Еще можно собрать 2 бинаря и упаковать их в софт для обновления. Для секъюрности можно и зашифровать. При обновлении софтина нащупывает контроллер, получает инфу о версии и выбирает чего лить.
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
||
| 18.09.2011, 13:13 | ||
0
|
||
| 18.09.2011, 13:13 | |
|
Помогаю со студенческими работами здесь
20
Samsung 3400 f - не могу залить прошивку как залить заводскую прошивку на роутер Не получается в роутер Тенда F3 залить английскую прошивку Как залить прошивку в ADSP процессор фирмы Analog Devices В кофемашину можно засыпать различные сорта кофейных зерен, залить молока и воды, залить различные сиропы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|