Перейти к содержанию
    

Посоветуйте компилятор C для MSP430

Доброго дня всем.

 

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

 

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

 

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

 

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

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не стоит добавить битовый тип данных с помощью дефайнов. В форуме неоднократно уже давали примеры того, как это можно реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня всем.

 

Поделитесь секретом - кто какой компилятор использует для 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня всем.

 

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

 

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

 

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

 

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

 

Спасибо.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Компилятор, конечно, хороший, но цена примерно $3000 на одно рабочее место, сводит все на нет. "Лечение" хорошо для дома и семьи, но не для серьезного бизнеса. Атмел поступил очень мудро: выпустил бесплатную AVRStudio и пользуй любой ( читай GCC ) компилятор, а вот отладка идет в нормальной среде. Когда TI догадается повторить трюк, то MSP получит шанс их хорошего uC стать массовым...

Изменено пользователем IgorKossak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор, конечно, хороший, но цена примерно $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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо за ответы, особенно VAI за обилие ссылок. :) Обязательно их все просмотрю.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что нельзя просто так обратиться к биту GIE. Надо обязательно помнить, в каком регистре он находится и оперировать уже с этим регистром. Вот именно это и неудобно.

А чем не нравится такое обращение к биту GIE? Попробуйте.

__disable_interrupt(); // Запретим прерывания

__enable_interrupt(); // Разрешим прерывания

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

 

Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает (в отличие от ситуации с AVR :) ) по понятным причинам. Единственное, в нем, насколько помню, не доделали С++. Т.е. сам-то компилятор все это поддерживает, но рантайм - стартап и библиотеки, - не сделаны. Впрочем, это информация у меня как минимум полугодовой давности, может уже что-то и изменилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что нельзя просто так обратиться к биту GIE. Надо обязательно помнить, в каком регистре он находится и оперировать уже с этим регистром. Вот именно это и неудобно.

А чем не нравится такое обращение к биту GIE? Попробуйте.

__disable_interrupt(); // Запретим прерывания

__enable_interrupt(); // Разрешим прерывания

А я использую выражения еще короче

_EINT();

_DINT():

из того же самого IAR, кстати.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для MSP430 есть очень хороший компилятор GCC. По качеству кодогенерации он IAR'у практически не уступает (в отличие от ситуации с AVR :) ) по понятным причинам. Единственное, в нем, насколько помню, не доделали С++. Т.е. сам-то компилятор все это поддерживает, но рантайм - стартап и библиотеки, - не сделаны. Впрочем, это информация у меня как минимум полугодовой давности, может уже что-то и изменилось.

 

если б я им еще и занимался...

Вообще говоря для С++ сделано почти все, осталось только написать как его использовать. Я лично сомневаюсь в необходимости использования С++ для этой маленькой пи-ди-пишки :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще говоря для С++ сделано почти все, осталось только написать как его использовать.

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

 

Я лично сомневаюсь в необходимости использования С++ для этой маленькой пи-ди-пишки :)

Есть немало тех, кто сомневается в необходимости использования С для такой маленькой пи-ди-пишки (и прочих аналогичных - AVR, например). :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Серьезный бизнес потому и серьезный, что считает деньги. И не мешайте понятия серьезный и большой. Соотношение качество/цена ( включая сопровождение, апгрейд) у GCC гораздо выше.

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

1. Студия не только симулятор, но и отладчик, и, при всех его недостатках, инструмент, легкий в работе и позволояющий достигать результат. Категорически не согласенни ни с одним остальным словом в процитированным выше.

И, кроме того, напомню, что речь шла о компиляторе.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

Соотношение качество/цена ( включая сопровождение, апгрейд) у GCC гораздо выше.

 

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

 

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

 

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

 

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

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

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

 

инструмент, легкий в работе и позволояющий достигать результат.

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

 

Категорически не согласенни ни с одним остальным словом в процитированным выше.

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

 

И, кроме того, напомню, что речь шла о компиляторе.

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

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

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

 

В любом случае наличие/отсутствие симулятора никак не может ощутимо влиять на популярность МК. Тут значимость имеют совершенно другие факторы - в первую очередь, возможности самого МК. Дальше идет инструментарий в лице компилятора, ассемблера, линкера. И на последнем месте симулятор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...