реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> можно ли отлаживать код stm32f103 на stmf303?
igorle
сообщение Mar 17 2013, 08:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Я взялся за изучение STM32.
Почитав теорию, развел небольшую пробную плату под stm32f103, отослал в производство и заказал детали. Плата прибудет через две-три недели.

Пока упражняюсь с кодом. И вот тут засада. Я читал, что вся линейка кортексов совместима. То есть все, что написано для меньшего варианта, заработает и на большей версии.

У меня есть stm32f3discovery. Если я пишу код для f303 - все работает. Если пишу для 103 и прожигаю в discovery - не бежит sad.gif
Вопрос - так должно быть, или я туплю? Достаточно ли инициализации, которую я делаю для 103-го, для того, чтобы использовать в 303-м функциональность 103-го.
Go to the top of the page
 
+Quote Post
SII
сообщение Mar 17 2013, 08:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Во-первых, "кортекс" -- общее название процессорых ядер (а не процессоров/контроллеров) для 7-й версии архитектуры АРМ. Процессоры и контроллеры с этими ядрами (причём разными -- это не одно ядро и даже не одно семейство) выпускаются всеми, кому не лень. Так что между "кортекстами" полной совместимости даже на уровне системы команд нет, не говоря о периферии.

Ну а во-вторых, совместимость даже в рамках продукции одной фирмы -- вещь отнюдь не гарантированная, особенно во всяких "тонких" вещах вроде настройки синхронизации. Обычно совместимость обеспечивается по ногам (вместо одного можно впаять другой в том же корпусе), но на внутреннем уровне -- лишь частично. Тут надо читать документацию на конкретные модели МК.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 17 2013, 08:44
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(igorle @ Mar 17 2013, 12:34) *
Я взялся за изучение STM32.
Почитав теорию, развел небольшую пробную плату под stm32f103, отослал в производство и заказал детали. Плата прибудет через две-три недели.

Пока упражняюсь с кодом. И вот тут засада. Я читал, что вся линейка кортексов совместима. То есть все, что написано для меньшего варианта, заработает и на большей версии.

У меня есть stm32f3discovery. Если я пишу код для f303 - все работает. Если пишу для 103 и прожигаю в discovery - не бежит sad.gif
Вопрос - так должно быть, или я туплю? Достаточно ли инициализации, которую я делаю для 103-го, для того, чтобы использовать в 303-м функциональность 103-го.

У этих контроллеров разные ядра: M3 и M4, но если писать под M3, то должно исполняться и на M4.
У контроллеров разная память, соответственно линкеру нужно указать разницу. В 303 заявляется 48кБ ОЗУ, но 8кБ из них "особенные" и лежат в "особенном" месте. Соответственно можно поиметь проблемы с неправильным указанием начала стека. По периферии тоже могут отличаться: вроде, RCC у них отличаются.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 17 2013, 08:46
Сообщение #4


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(adnega @ Mar 17 2013, 14:44) *
По периферии тоже могут отличаться: вроде, RCC у них отличаются.

Ещё GPIO у них отличается.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
igorle
сообщение Mar 17 2013, 09:01
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Понятно.
Я как раз понял, что поскольку там 4 гига адрессного пространства, то они хорошо подумали и раскидали регистры так, чтобы потом не пришлось их двигать. И поэтому я понял что совместим именно код, причем скомпилированный... Видимо, мой недостаточный американский сказался.

У меня в планах джентельменский набор начинающего эмбедера:
- GPIO
- ADC
- PWM
- USB as file system
- USB as COM

Все это я планирую использовать на 103-м. Судя по вашим ответам - лучше дождаться моих бордов и уже на них упражняться?

Еще вопрос. Стыдно, но я не нашел на сайте st.com, где скачать последнюю версию StdPeriph_Lib. Вроде бы должна быть версия 3.5.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 17 2013, 09:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(igorle @ Mar 17 2013, 13:01) *
Понятно.
Я как раз понял, что поскольку там 4 гига адрессного пространства, то они хорошо подумали и раскидали регистры так, чтобы потом не пришлось их двигать. И поэтому я понял что совместим именно код, причем скомпилированный... Видимо, мой недостаточный американский сказался.

У меня в планах джентельменский набор начинающего эмбедера:
- GPIO
- ADC
- PWM
- USB as file system
- USB as COM

Все это я планирую использовать на 103-м. Судя по вашим ответам - лучше дождаться моих бордов и уже на них упражняться?

Еще вопрос. Стыдно, но я не нашел на сайте st.com, где скачать последнюю версию StdPeriph_Lib. Вроде бы должна быть версия 3.5.

Дык, при использовании стандартной библиотеки шансы на портируемость исходников повышается. Правда, я сам ее не использую, но идея вроде такая. Зачем Вам совместимость на бинарном уровне, когда можно пользоваться совместимостью на уровне С-исходника, т.е. не дожидаясь целевой платформы, использовать то, что есть сейчас под рукой?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 17 2013, 09:08
Сообщение #7


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(igorle @ Mar 17 2013, 15:01) *
Еще вопрос. Стыдно, но я не нашел на сайте st.com, где скачать последнюю версию StdPeriph_Lib. Вроде бы должна быть версия 3.5.

Давайте я вам напишу общий алгоритм. Открываете гугль, начинаете там писать название своего контроллера, типа STM32F3... Гугль тут же вам предложит какой-то конкретный контроллер, в моём случае это получился stm32f303vct6. Первая ссылка (или одна из первых) будет на сайт ST, давите её. Там давите на Design Resources, и получаете полный список всех документов, программ и библиотек для вашего контроллера.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
igorle
сообщение Mar 17 2013, 09:35
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(AHTOXA @ Mar 17 2013, 12:08) *
Давайте я вам напишу общий алгоритм. Открываете гугль...

Это то что я ищу. Мне не надо готовую ссылку. Меня поражает, что я не могу найти ее сам sad.gif
Я этим уже несколько дней занимаюсь sad.gif Я не нашел кнопки "Design Resources". Есть слева замечательная панел "Resources", откуда я пытаюсь начать плясать.
Можно вот отсюда показать, как дойти до библиотеки? Спасибо за терпение.


Мне кажется, что я зашел в каждый список под каждой закладкой под Resources и искал слово periph. Не нашел библиотек sad.gif

СТОП!
Нашел!!!!
Стыдно, но оставлю здесь этот пост. Вдруг еще кому пригодится:
Идем Sowtware -> STM32 Firmware (49) -> STM32F10x standard peripheral library

Может это на сайте глюк? Помню что вчера под "STM32 Firmware" меньше айтемов было.... Или я вчера был слеп....
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 17 2013, 10:17
Сообщение #9


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(igorle @ Mar 17 2013, 15:35) *
Можно вот отсюда показать, как дойти до библиотеки?

Вы не дошли всего один шагsm.gif
Надо ткнуться в нижнем списке контроллеров на любой из них. Откроется страничка конкретного контроллера, и на ней будет "Design Resources".
Ну или как вы нашли, это видимо другой путь.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
igorle
сообщение Mar 17 2013, 13:35
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(AHTOXA @ Mar 17 2013, 13:17) *
Надо ткнуться в нижнем списке контроллеров на любой из них. Откроется страничка конкретного контроллера, и на ней будет "Design Resources".

Спасибо огромное. Эта та самая страничка, о существовании которой я подозревал, но не мог найти.
Цитата
Ну или как вы нашли, это видимо другой путь.

Мой путь несравнимо хуже. Я убил на него массу времени. А здесь все под рукой.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01433 секунд с 7
ELECTRONIX ©2004-2016