|
|
  |
можно ли отлаживать код stm32f103 на stmf303? |
|
|
|
Mar 17 2013, 08:34
|
Местный
  
Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753

|
Я взялся за изучение STM32. Почитав теорию, развел небольшую пробную плату под stm32f103, отослал в производство и заказал детали. Плата прибудет через две-три недели. Пока упражняюсь с кодом. И вот тут засада. Я читал, что вся линейка кортексов совместима. То есть все, что написано для меньшего варианта, заработает и на большей версии. У меня есть stm32f3discovery. Если я пишу код для f303 - все работает. Если пишу для 103 и прожигаю в discovery - не бежит Вопрос - так должно быть, или я туплю? Достаточно ли инициализации, которую я делаю для 103-го, для того, чтобы использовать в 303-м функциональность 103-го.
|
|
|
|
|
Mar 17 2013, 08:44
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(igorle @ Mar 17 2013, 12:34)  Я взялся за изучение STM32. Почитав теорию, развел небольшую пробную плату под stm32f103, отослал в производство и заказал детали. Плата прибудет через две-три недели. Пока упражняюсь с кодом. И вот тут засада. Я читал, что вся линейка кортексов совместима. То есть все, что написано для меньшего варианта, заработает и на большей версии. У меня есть stm32f3discovery. Если я пишу код для f303 - все работает. Если пишу для 103 и прожигаю в discovery - не бежит Вопрос - так должно быть, или я туплю? Достаточно ли инициализации, которую я делаю для 103-го, для того, чтобы использовать в 303-м функциональность 103-го. У этих контроллеров разные ядра: M3 и M4, но если писать под M3, то должно исполняться и на M4. У контроллеров разная память, соответственно линкеру нужно указать разницу. В 303 заявляется 48кБ ОЗУ, но 8кБ из них "особенные" и лежат в "особенном" месте. Соответственно можно поиметь проблемы с неправильным указанием начала стека. По периферии тоже могут отличаться: вроде, RCC у них отличаются.
|
|
|
|
|
Mar 17 2013, 09:06
|
Гуру
     
Группа: Свой
Сообщений: 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. Дык, при использовании стандартной библиотеки шансы на портируемость исходников повышается. Правда, я сам ее не использую, но идея вроде такая. Зачем Вам совместимость на бинарном уровне, когда можно пользоваться совместимостью на уровне С-исходника, т.е. не дожидаясь целевой платформы, использовать то, что есть сейчас под рукой?
|
|
|
|
|
Mar 17 2013, 09:08
|

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

|
Цитата(igorle @ Mar 17 2013, 15:01)  Еще вопрос. Стыдно, но я не нашел на сайте st.com, где скачать последнюю версию StdPeriph_Lib. Вроде бы должна быть версия 3.5. Давайте я вам напишу общий алгоритм. Открываете гугль, начинаете там писать название своего контроллера, типа STM32F3... Гугль тут же вам предложит какой-то конкретный контроллер, в моём случае это получился stm32f303vct6. Первая ссылка (или одна из первых) будет на сайт ST, давите её. Там давите на Design Resources, и получаете полный список всех документов, программ и библиотек для вашего контроллера.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Mar 17 2013, 09:35
|
Местный
  
Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753

|
Цитата(AHTOXA @ Mar 17 2013, 12:08)  Давайте я вам напишу общий алгоритм. Открываете гугль... Это то что я ищу. Мне не надо готовую ссылку. Меня поражает, что я не могу найти ее сам  Я этим уже несколько дней занимаюсь  Я не нашел кнопки "Design Resources". Есть слева замечательная панел "Resources", откуда я пытаюсь начать плясать. Можно вот отсюда показать, как дойти до библиотеки? Спасибо за терпение. Мне кажется, что я зашел в каждый список под каждой закладкой под Resources и искал слово periph. Не нашел библиотек  СТОП! Нашел!!!! Стыдно, но оставлю здесь этот пост. Вдруг еще кому пригодится: Идем Sowtware -> STM32 Firmware (49) -> STM32F10x standard peripheral library Может это на сайте глюк? Помню что вчера под "STM32 Firmware" меньше айтемов было.... Или я вчера был слеп....
|
|
|
|
|
Mar 17 2013, 10:17
|

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

|
Цитата(igorle @ Mar 17 2013, 15:35)  Можно вот отсюда показать, как дойти до библиотеки? Вы не дошли всего один шаг  Надо ткнуться в нижнем списке контроллеров на любой из них. Откроется страничка конкретного контроллера, и на ней будет "Design Resources". Ну или как вы нашли, это видимо другой путь.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Mar 17 2013, 13:35
|
Местный
  
Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753

|
Цитата(AHTOXA @ Mar 17 2013, 13:17)  Надо ткнуться в нижнем списке контроллеров на любой из них. Откроется страничка конкретного контроллера, и на ней будет "Design Resources". Спасибо огромное. Эта та самая страничка, о существовании которой я подозревал, но не мог найти. Цитата Ну или как вы нашли, это видимо другой путь. Мой путь несравнимо хуже. Я убил на него массу времени. А здесь все под рукой.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|