Компилятор IAR для STM8

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Post Reply
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Компилятор IAR для STM8

Post by bdpcvit »

Всем доброго дня!
Есть вопрос по компилятору IAR. решил я на свою голову просмотреть на что похож ассемблер STM8 ну и сравнивал что делает компилятор IAR. Так вот в ассемблере есть простая команда инкремента «INC» которая, если я правильно понял, умеет инкрементировать значение аккумулятора или любой ячейки ОЗУ. Но компилятор IAR про нее не знает или ..?

итак код:

Code: Select all

void main(void)
{
uint8_t tst = 0;
tst++;
}
IAR превращает в

Code: Select all

LD A,(?b1, SP)
ADD A, #?b1
LD (?b1, SP),A
причем при максимальном уровне оптимизации вместо ADD все таки появляется команда INC но остальные две никуда не деваються

Code: Select all

LD A,(?b1, SP)
INC A
LD (?b1, SP),A
Вопрос: по какой причине компилятор IAR может так делать?
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Компилятор IAR для STM8

Post by BSVi »

Я не спец по ассемблеру стм ок, но, тут нужно делать INC ен просто по адресу, а по стеку+смещение. Возможно, именно в этом проблема.
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Если честно - плохо понял что Вы сказали.
Но зачем так сложно делать?
Вот оторванная страница из мануала по ассемблеру STM8
https://goo.gl/photos/GYKc9ABpXV4X8KMq5
Меня возмущает что на фоне всеобщей борьбы с не атомарными операциями один из передовых компиляторов ложил на это.
Last edited by bdpcvit on 08 Aug 2015, 17:59, edited 1 time in total.
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Компилятор IAR для STM8

Post by BSVi »

Да, действительно инструкция такая есть. Прямой путь в поддержку иара.
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Спасибо!!! Написал. Посмотрим чем закончиться.
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Все отлично. Получил ответ:
Dear Dmytro Bernyk,
Thanks for your inputs.
I have passed the issue you reported to our developers as an improvement
suggestion.

Ждем !!!
koyodza
Posts: 43
Joined: 22 Jun 2012, 10:23
Location: Киев
Contact:

Re: Компилятор IAR для STM8

Post by koyodza »

IAR для STM8 жутко недоделанный, за всё время вышло всего пару релизов. Наверное, неприоритетное направление
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

А что для Вас означает недоделаный. Поймите меня правильно, я не придераюсь к словам, мне интересно Ваше менение но более обоснованое.
Я не очень слежу за количеством релизов, и не могу сравнить с версиями для других контролеров (не хватает ума и времени), но для STM8 все что породил мой мозг в процесе освоения - работает правильно (точнее предсказуемо). И для меня это важный показатель. Может конкуренти и видают код получше - но в IAR среда более дружелюбна.
koyodza
Posts: 43
Joined: 22 Jun 2012, 10:23
Location: Киев
Contact:

Re: Компилятор IAR для STM8

Post by koyodza »

Оптимизация вообще никакая. Ещё там можете почитать
http://caxapa.ru/307060.html
http://caxapa.ru/306998.html?todo=full
http://caxapa.ru/322296.html?todo=full
http://caxapa.ru/356884.html
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Спасибо за ссылки.
Почитал, подумал - поставил STVD + Cosmic
Совсем другое дело - там инкремент и в ассемблере одна команда. Попробую в ближайшее время старые проекты перекомпелировать.
Правда пока не нашел как вывести размер кода после компиляции.
pity
Posts: 3
Joined: 08 Aug 2015, 16:01

Re: Компилятор IAR для STM8

Post by pity »

Здорова ребята ! у меня такая проблема появилась , установил IAR прогу при компиляции выдает такую ошибку
Fatal error[LMS001]: License check failed. Use the IAR License Manager to resolve the problem. No license found. [licenseChek:2.14.2.8.842, RMS:8.5.2.0015, feature: STM8EW.COMPILER, Version:1.3]
Error while running C/C++ Compiler
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Нужно всего то запустить License Manager и активировать пробную лицензию или полную, если имеете.
pity
Posts: 3
Joined: 08 Aug 2015, 16:01

Re: Компилятор IAR для STM8

Post by pity »

сказано что есть с ограничением 8кбайт . как получить эту версию подскажите пожалуйста . спасибо !
bdpcvit
Posts: 12
Joined: 18 Sep 2011, 21:02
Location: Chernivci

Re: Компилятор IAR для STM8

Post by bdpcvit »

Качаете версию с ограничением по размеру, ставите, запускаете License manager, выбираете Get Evaluation license, регистрируетесь, ждете код на почту, вставляете код - готово
https://goo.gl/photos/SvtESnXipht9BCM96
pity
Posts: 3
Joined: 08 Aug 2015, 16:01

Re: Компилятор IAR для STM8

Post by pity »

огромное спасибо , ты меня во много выручил , щас посмотрим .
Valek174
Posts: 7
Joined: 21 Apr 2014, 18:34

Re: Компилятор IAR для STM8

Post by Valek174 »

Здравствуйте. У меня установлен EWARM-7502-10505 для STM32. Я так понимая что для STM8 нужен отдельный установочный файл? Подскажите пожалуйста, программа для STM8 объединится с программой для STM32, или их нужно установить в разные папки/диски?
Спасибо!
R2R
Posts: 200
Joined: 27 Nov 2014, 18:51
Location: Калуга
Contact:

Re: Компилятор IAR для STM8

Post by R2R »

Устанавливать в разные папки.
Post Reply