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

 
 
> IAR EWARM 7.2, stm32f407
SasaVitebsk
сообщение Jun 19 2014, 12:38
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



При компиляции проекта который нормально компилировался под 6.7 вылазит куча ошибок на файле:
Код
;/******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
;* File Name          : startup_stm32f407xx.s
;* Author             : MCD Application Team
;* Version            : V1.0.0
;* Date               : 18-February-2014

типа
Warning[25]: Label 'Reset_Handler' is defined pubweak in a section implicitly declared root ... \EWARM\startup_stm32f407xx.s 180

Такая же картина при компиляции любого проекта из STM32Cube_FW_F4_V1.1.0.

Кто разбирался. Что он хочет?
Я так понимаю несколько по другому CMSIS написан. А ST ещё не подправило startup.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Xenia
сообщение Jun 19 2014, 13:12
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(SasaVitebsk @ Jun 19 2014, 16:38) *
Я так понимаю несколько по другому CMSIS написан. А ST ещё не подправило startup.


Пожалуй, ситуация здесь прямо противоположная - это ARM постоянно меняет свой CMSIS, а IAR едва за ней успевает. Т.е. проблемы несовместимости возникают именно потому, что IAR'у приходится использовать новые CMSIS, а те, в свою очередь, не обеспечивают полной совместимости с более ранними версиями. Между тем, притензии выдвигают именно IAR'у, который находится в безвыходном положении: обновит в следующей версии CMSIS на новый - потеряет в совместимости, а не обновит - потеряет в поддержке новых версий МК.
Go to the top of the page
 
+Quote Post
Grape
сообщение Jun 19 2014, 14:27
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 22-10-04
Пользователь №: 956



Цитата(SasaVitebsk @ Jun 19 2014, 16:38) *
При компиляции проекта который нормально компилировался под 6.7 вылазит куча ошибок на файле:
типа
Warning[25]: Label 'Reset_Handler' is defined pubweak in a section implicitly declared root ... \EWARM\startup_stm32f407xx.s 180


ключевое слово SECTION, указать явно NOROOT

/gr
Go to the top of the page
 
+Quote Post
Rash
сообщение Jun 20 2014, 07:07
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Это не ошибка, а предупреждение. С ним вроде тоже работает.
Для красоты картины держи стартапы, подставишь вместо стандартных.
Прикрепленные файлы
Прикрепленный файл  IAR7.10_CMSIS_v3_20.zip ( 23.4 килобайт ) Кол-во скачиваний: 232
 
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jun 20 2014, 07:31
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Xenia, всё ещё веселей, если разобраться. biggrin.gif
Есть CMSIS родной от ARM. Далее IAR выпустил версию, оптимизированную под себя. А ST в своих примерах ориентировался на версию ARM.
В феврале месяце победоносно вышел stm32cubef4 который использует HAL на замену stdperiph_lib (предыдущей версии). Который камня на камне не оставил ни от самих библиотек ни от подходов. Что ставит крест на всех проектах, что их использовали. )) Переносимости никакой.
В кубе также используется FreeRTOS версии 7.6. Видно что над этим кубом они работали очень плотно, основательно и срок работы приличный.
Примерно в это же время вышла новая версия FreeRTOS 8.x которая существенно отличается от 7.х. Там изменены объявления типов на принятые в stdint ну типа xxx_t и так далее.
Кроме того в кубе использован cmsis_os. То есть прослойка отвязывания от самой ос ... ))

Короче... Всё развивается и все развиваются. Причём процессы идут супер параллельно и никто друг с другом своё развитие не согласует ... )))
К моменту выхода куба он уже морально устарел и требует существенного допиливания. И FreeRTOS, если по-хорошему, то тоже требуется приведения к cmsis_os. Если это массово пойдёт.
А проект делается не один месяц. Состоит из кучи решений. И не успеваешь хвататься.
Хорошо, что я из stdperiph_lib использовал только RCC. Всё остальное сам писал. Хотя если бы на начало проекта HAL был, то я бы его использовал. Он, на первый взгляд, написан достойно.

Просто сейчас смотрю. Что стоит апгрейдить а что нет. Мне надо LwIP подключать. Прихожу к мысли, что cmsis_os не буду пользовать. Я не примеры пишу, а конкретную реализацию.
Наверное попытаюсь перейти на IAR 7.2 и FreeRTOS 8. RCC из старой либы перепишу себе в проект, а из нового HAL возьму драйвер eth, максимально отвязано от библиотеки. cmsis_os использовать не буду, а LwIP непосредственно завяжу на FreeRTOS. Ну как то так. (

Grape спасибо, попробую.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jun 20 2014, 08:51
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Rash, спасибо. Я свой подкорректировал. rolleyes.gif
Приятные первые впечатления от 7.2.

Код уменьшился на 890 байт или на 0.5%. Ну и самое главное, наконец то появились регистры FPU в отладчике! 08.gif
Go to the top of the page
 
+Quote Post
Rash
сообщение Jun 20 2014, 09:02
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



не за что, сам попал на такое в конце рабочего дня, на тот момент нашёл одну единственную ссылку в гугле на буржуйском про замену этих строчек
надо обновится, а то сейчас 7.1.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:21
Рейтинг@Mail.ru


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