Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Посоветуйте компилятор C для MSP430
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
Scrambler
Доброго дня всем.

Поделитесь секретом - кто какой компилятор использует для 430-х?

Попробовал IAR - среда всем хороша, отладчик неплохой. Но неудобно писать код - в компиляторе нет битового типа данных (как в HI-TECH), что делает невозможным записи вида GIE=0; - вместо этого надо писать INTCON&=~GIE; (например). Эх, привык я к PICC - не знаю, чего теперь делать.

Посмотрел на сайте HI-TECH, у них есть компилер для MSP430, но в списке процессоров нет MSP430F2013 (а именно он лежит у меня на столе).

Соответственно, посоветуйте, пожалуйста, что-нибудь еще. Ссылки для скачивания приветствуются. Ну или если HT уже поддерживает этот проц, то дайте линк на HI-TIDE и компилер. Ну и на лекарство.

Спасибо.
rezident
Ничего не стоит добавить битовый тип данных с помощью дефайнов. В форуме неоднократно уже давали примеры того, как это можно реализовать.
VAI
Цитата(Scrambler @ Oct 5 2006, 09:30) *
Доброго дня всем.

Поделитесь секретом - кто какой компилятор использует для 430-х?

Попробовал IAR - среда всем хороша, отладчик неплохой. Но неудобно писать код - в компиляторе нет битового типа данных (как в HI-TECH), что делает невозможным записи вида GIE=0; - вместо этого надо писать INTCON&=~GIE; (например). Эх, привык я к PICC - не знаю, чего теперь делать.

Посмотрел на сайте HI-TECH, у них есть компилер для MSP430, но в списке процессоров нет MSP430F2013 (а именно он лежит у меня на столе).

Соответственно, посоветуйте, пожалуйста, что-нибудь еще. Ссылки для скачивания приветствуются. Ну или если HT уже поддерживает этот проц, то дайте линк на HI-TIDE и компилер. Ну и на лекарство.

Спасибо.

1. Самый лучший компилятор для MSP - это, по моему, ИАР.
2. Заглянув в файл "....\430\doc\EW430_CompilerReference.pdf" и запустив поиск по слову "__disable_interrupt" вы найдете все, что нужно для запрета/разрешения глобальных прерываний:
__disable_interrupt(); // Запретим прерывания
__enable_interrupt(); // Разрешим прерывания
3. Попрагромировав для MSP, через некоторое время Вы поймете, какое же гавно этот ПИК. (На этот пункт прошу не отвечать, это религиозные чувства)
4. По поводу бинарного типа данных посмотрите мой пост http://electronix.ru/forum/index.php?showt...mp;#entry145694
я использую это и для MSP и для ARM и для программ на PC.
dxp
Цитата(Scrambler @ Oct 5 2006, 11:30) *
Доброго дня всем.

Поделитесь секретом - кто какой компилятор использует для 430-х?

Попробовал IAR - среда всем хороша, отладчик неплохой. Но неудобно писать код - в компиляторе нет битового типа данных (как в HI-TECH), что делает невозможным записи вида GIE=0; - вместо этого надо писать INTCON&=~GIE; (например). Эх, привык я к PICC - не знаю, чего теперь делать.

Посмотрел на сайте HI-TECH, у них есть компилер для MSP430, но в списке процессоров нет MSP430F2013 (а именно он лежит у меня на столе).

Соответственно, посоветуйте, пожалуйста, что-нибудь еще. Ссылки для скачивания приветствуются. Ну или если HT уже поддерживает этот проц, то дайте линк на HI-TIDE и компилер. Ну и на лекарство.

Спасибо.

Битовые фишки - это нестандартное. С нестандартным надо общаться осторожно и всегда помнить ограничения. Вот Вы и натолкнулись на проблему именно из-за этого. Как обойти, Вам уже подсказали - использовать макросы прерпроцессора. С ними будет работать везде и всегда одинаково.
pitt
Цитата(VAI @ Oct 5 2006, 01:58) *
1. Самый лучший компилятор для MSP - это, по моему, ИАР.

Компилятор, конечно, хороший, но цена примерно $3000 на одно рабочее место, сводит все на нет. "Лечение" хорошо для дома и семьи, но не для серьезного бизнеса. Атмел поступил очень мудро: выпустил бесплатную AVRStudio и пользуй любой ( читай GCC ) компилятор, а вот отладка идет в нормальной среде. Когда TI догадается повторить трюк, то MSP получит шанс их хорошего uC стать массовым...
kamedi_clab
imagecraft.com очень удобный.
VAI
Цитата(pitt @ Oct 5 2006, 19:15) *
Компилятор, конечно, хороший, но цена примерно $3000 на одно рабочее место, сводит все на нет. "Лечение" хорошо для дома и семьи, но не для серьезного бизнеса. Атмел поступил очень мудро: выпустил бесплатную AVRStudio и пользуй любой ( читай GCC ) компилятор, а вот отладка идет в нормальной среде. Когда TI догадается повторить трюк, то MSP получит шанс их хорошего uC стать массовым...

Ну GCC есть и для MSP
http://mspgcc.sourceforge.net/
http://sourceforge.net/projects/mspgcc

есть дешевые тулсы от ImageCraft
http://www.imagecraft.com/software/tdevtools.html

есть CrossWorks for MSP430 использующий GCC, недорогой
http://www.rowley.co.uk/msp430/index.htm

есть и от TI
TI Code Composer Essentials Evaluation v2.0 - Free 8KB IDE
http://focus.ti.com/docs/toolsw/folders/pr...msp-cce430.html

TI Code Composer Essentials Professional v2.0 - Unlimited Code Space за $500
http://focus.ti.com/docs/toolsw/folders/pr...-cce430pro.html
Scrambler
Всем спасибо за ответы, особенно VAI за обилие ссылок. smile.gif Обязательно их все просмотрю.

Что же касается битового типа, то, вероятно, вы немного не так меня поняли. Я жалуюсь smile.gif не на отсутствие битового типа, а на то, что нельзя просто так обратиться к биту GIE. Надо обязательно помнить, в каком регистре он находится и оперировать уже с этим регистром. Вот именно это и неудобно.
VAI
Цитата
что нельзя просто так обратиться к биту GIE. Надо обязательно помнить, в каком регистре он находится и оперировать уже с этим регистром. Вот именно это и неудобно.

А чем не нравится такое обращение к биту GIE? Попробуйте.
__disable_interrupt(); // Запретим прерывания
__enable_interrupt(); // Разрешим прерывания
dxp
Цитата(pitt @ Oct 5 2006, 21:15) *
Цитата(VAI @ Oct 5 2006, 01:58) *

1. Самый лучший компилятор для MSP - это, по моему, ИАР.

Компилятор, конечно, хороший, но цена примерно $3000 на одно рабочее место, сводит все на нет. "Лечение" хорошо для дома и семьи, но не для серьезного бизнеса.

Для серьезного бизнеса три тыщи баксов - мелочь. Хорошая техподдержка (а у IAR'а она хорошая, по себе знаю) стОит того. Когда в России будут зарплаты разработчиков-пользователей МК сравнимы, например, с европейскими, то за покупкой лицензионного софта дело не станет. А когда софт стОит 5-10 месячных ЗП, мало кто станет его покупать.

Цитата(pitt @ Oct 5 2006, 21:15) *
Атмел поступил очень мудро: выпустил бесплатную AVRStudio и пользуй любой ( читай GCC ) компилятор, а вот отладка идет в нормальной среде. Когда TI догадается повторить трюк, то MSP получит шанс их хорошего uC стать массовым...

АСтудия - это только симулятор. Причем довольно примитивный. Оно хорош для начинающих, которым интересно посмотреть, как их команды отображаются на аппаратуре. Для отладки серьезных рабочих вещей он малопригоден. И, кроме того, напомню, что речь шла о компиляторе.

Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает (в отличие от ситуации с AVR smile.gif ) по понятным причинам. Единственное, в нем, насколько помню, не доделали С++. Т.е. сам-то компилятор все это поддерживает, но рантайм - стартап и библиотеки, - не сделаны. Впрочем, это информация у меня как минимум полугодовой давности, может уже что-то и изменилось.
rezident
Цитата(VAI @ Oct 6 2006, 09:26) *
Цитата
что нельзя просто так обратиться к биту GIE. Надо обязательно помнить, в каком регистре он находится и оперировать уже с этим регистром. Вот именно это и неудобно.

А чем не нравится такое обращение к биту GIE? Попробуйте.
__disable_interrupt(); // Запретим прерывания
__enable_interrupt(); // Разрешим прерывания

А я использую выражения еще короче
_EINT();
_DINT():
из того же самого IAR, кстати.
diwil
Цитата(dxp @ Oct 6 2006, 09:25) *
Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает (в отличие от ситуации с AVR smile.gif ) по понятным причинам. Единственное, в нем, насколько помню, не доделали С++. Т.е. сам-то компилятор все это поддерживает, но рантайм - стартап и библиотеки, - не сделаны. Впрочем, это информация у меня как минимум полугодовой давности, может уже что-то и изменилось.


если б я им еще и занимался...
Вообще говоря для С++ сделано почти все, осталось только написать как его использовать. Я лично сомневаюсь в необходимости использования С++ для этой маленькой пи-ди-пишки smile.gif
dxp
Цитата(diwil @ Oct 6 2006, 16:12) *
Вообще говоря для С++ сделано почти все, осталось только написать как его использовать.

Использовать как обычно. Ничего особенного там нет.

Цитата(diwil @ Oct 6 2006, 16:12) *
Я лично сомневаюсь в необходимости использования С++ для этой маленькой пи-ди-пишки smile.gif

Есть немало тех, кто сомневается в необходимости использования С для такой маленькой пи-ди-пишки (и прочих аналогичных - AVR, например). smile.gif
pitt
Цитата(dxp @ Oct 6 2006, 01:25) *
Для серьезного бизнеса три тыщи баксов - мелочь. Хорошая техподдержка (а у IAR'а она хорошая, по себе знаю) стОит того. Когда в России будут зарплаты разработчиков-пользователей МК сравнимы, например, с европейскими, то за покупкой лицензионного софта дело не станет. А когда софт стОит 5-10 месячных ЗП, мало кто станет его покупать.

Серьезный бизнес потому и серьезный, что считает деньги. И не мешайте понятия серьезный и большой. Соотношение качество/цена ( включая сопровождение, апгрейд) у GCC гораздо выше.
Цитата(dxp @ Oct 6 2006, 01:25) *
АСтудия - это только симулятор. Причем довольно примитивный. Оно хорош для начинающих, которым интересно посмотреть, как их команды отображаются на аппаратуре. Для отладки серьезных рабочих вещей он малопригоден.

1. Студия не только симулятор, но и отладчик, и, при всех его недостатках, инструмент, легкий в работе и позволояющий достигать результат. Категорически не согласенни ни с одним остальным словом в процитированным выше.
Цитата(dxp @ Oct 6 2006, 01:25) *
И, кроме того, напомню, что речь шла о компиляторе.
Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает

Не спорю, но вот работать с GDB не вызывает никакого удовольствия, а наличие симулятора/отладчика тоже необходимо. Сам по себе компилятор - это мало.
dxp
Цитата(pitt @ Oct 6 2006, 18:21) *
Цитата(dxp @ Oct 6 2006, 01:25) *

Для серьезного бизнеса три тыщи баксов - мелочь. Хорошая техподдержка (а у IAR'а она хорошая, по себе знаю) стОит того. Когда в России будут зарплаты разработчиков-пользователей МК сравнимы, например, с европейскими, то за покупкой лицензионного софта дело не станет. А когда софт стОит 5-10 месячных ЗП, мало кто станет его покупать.

Серьезный бизнес потому и серьезный, что считает деньги. И не мешайте понятия серьезный и большой.

Вот именно поэтому там и выгодно взять продукт с человеческим интерфейсом, человеческой документацией и человеческой поддержкой - дабы не тратить время, кое является самым дорогим ресурсом при разработке, на освоение, мягко говоря, своеобразного пакета GCC. Если стоимость пакета не превышает половины месячной ЗП разработчика, то приобрести его (и сразу начать работать) куда рентабельнее, чем потратить те же полмесяца на изучение горбатой доки, осмысление того, что же там вообще есть и как оно по замыслу создателей должно функционировать. Конечно, один раз пройдя этот путь, дальше проще, но в смысле простоты и легкости старта GCC сливает, наверное, всем.

Цитата(pitt @ Oct 6 2006, 18:21) *
Соотношение качество/цена ( включая сопровождение, апгрейд) у GCC гораздо выше.


biggrin.gif Соотношение качество/цена у GCC всегда бесконечнно велико при ЛЮБОМ качестве, т.к. цена равна нулю. biggrin.gif

А вот насчет сопровождения и апгдейда - тут GCC до IAR'а далеко. Тот же AVR-GCC до сих пор не умеет нормально организовывать косвенную адресацию при обращении к многобайтным переменным (неагрегатных типов). Как не умел 6 лет назад, так до сих пор и не умеет. Хотя сказано об этом уже было не одну сотню раз. Вот такое оно сопровождение. У MSP430-GCC до сих пор С++ не доделан. И вообще он там есть в каком-то виде только благодаря тому, что front-end у всех GCC общий. Про какую уж тут поддержку у MSP430-GCC вообще можно говорить?

Насчет IAR. Я лично имел возможность пользоваться технической поддержкой IAR на двух платформах - AVR и MSP430. В течение более двух лет. Впечатления и результаты более, чем положительные.

Цитата(pitt @ Oct 6 2006, 18:21) *
Цитата(dxp @ Oct 6 2006, 01:25) *

АСтудия - это только симулятор. Причем довольно примитивный. Оно хорош для начинающих, которым интересно посмотреть, как их команды отображаются на аппаратуре. Для отладки серьезных рабочих вещей он малопригоден.

1. Студия не только симулятор, но и отладчик, и, при всех его недостатках,

Чем симулятор отличается от отладчика? Ваша любимая студия до сих пор не имеет очень удобного отладочного окошка Locals!

Цитата(pitt @ Oct 6 2006, 18:21) *
инструмент, легкий в работе и позволояющий достигать результат.

Более пяти лет очень плотно работал с AVR и никогда не пользовался студией. И всегда достигал положительного результата - отладка нормального проекта всегда идет в живом железе, симулятор тут вещь практически бесполезная. Вы несколько переоцениваете значимость роли симуляторов процессоров при разработки софта.

Цитата(pitt @ Oct 6 2006, 18:21) *
Категорически не согласенни ни с одним остальным словом в процитированным выше.

Это Ваше право. Только если хотите возразить, то приводите, пожалуйста, аргументы.

Цитата(pitt @ Oct 6 2006, 18:21) *
Цитата(dxp @ Oct 6 2006, 01:25) *

И, кроме того, напомню, что речь шла о компиляторе.
Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает

Не спорю, но вот работать с GDB не вызывает никакого удовольствия, а наличие симулятора/отладчика тоже необходимо. Сам по себе компилятор - это мало.

GDB - это back-end. Для него есть соответствующие front-end'ы - например, insight или ddd. По возможностям/удобству они студии не уступают.

В любом случае наличие/отсутствие симулятора никак не может ощутимо влиять на популярность МК. Тут значимость имеют совершенно другие факторы - в первую очередь, возможности самого МК. Дальше идет инструментарий в лице компилятора, ассемблера, линкера. И на последнем месте симулятор.
pitt
Цитата(dxp @ Oct 6 2006, 08:19) *

Спорить "о крахе и под'еме Голливуда" с человеком. не смотревшим фильмов, считаю бесполезным.
Желаю всего наилучшего.
istok
Огромное спасибо VAI за ссылки.
Попробовал ImageCraft V7 в комплекте с NoICE 430(www.noicedebugger.com). Впечатление очень хорошее. Пожалуй он для меня - новичка. Особенно понравился Application Builder. Есть русский перевод - справочник по системе (благодаря Аргуссофт). По IAR русский вариант мне найти так и не удалось.
Помогите пожалуйста с лекарством для ICC430 V7 и NoICE 430!
v_shamaev
Цитата(VAI @ Oct 5 2006, 18:47) *
есть CrossWorks for MSP430 использующий GCC, недорогой
http://www.rowley.co.uk/msp430/index.htm

Разве он GCC? Когда я был озабочен сходной проблемой, именно по этому признаку и забраковал - не совместим с GCC. Хотя и не скажу, что смотрел очень внимательно. Собственно, был нужен отладчик более-менее развитой. IAR не понравился - глюками и неразвитостью среды - что взять, винды...
VladimirZ
CrossWorks for ARM - GCC, для остальных платформ у них похоже всё своё.
VAI
Цитата
CrossWorks for ARM - GCC, для остальных платформ у них похоже всё своё.

Вот значит на что я повелся... Счел, раз для АРМ только среда и отладчик свои, а компилятор gcc, то и распространил это на весь CrossWorks.

Сам то для MSP использую ИАР а для ARM - Кейл....
А остальное лежит для коллекции.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.