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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> scmRTOS + ADA
Сергей С.
сообщение Feb 15 2008, 17:06
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Здравствуйте!

Пробовал ли кто-нибудь писать задачи на языке Ada для порта gcc scmRTOS? Возможно ли это в принципе? И если возможно, каков механизм подключения и взаимодействия этих задач с ядром?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 15 2008, 17:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей С. @ Feb 15 2008, 20:06) *
Пробовал ли кто-нибудь писать...

А что, осталась только эта проблема? Вопросы наличия компилятора ADA и линкера позволяющего линковать объектники и библиотеки созданные этим компилятора хоть с чем-нибудь дугим уже решены?
Тогда о каком инструментарии и микроконтроллере идет речь?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Feb 15 2008, 19:33
Сообщение #3





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(zltigo @ Feb 15 2008, 21:29) *
А что, осталась только эта проблема? Вопросы наличия компилятора ADA и линкера позволяющего линковать объектники и библиотеки созданные этим компилятора хоть с чем-нибудь дугим уже решены?
Тогда о каком инструментарии и микроконтроллере идет речь?


Речь идет об инструментарии WinAVR, и соответственно, о микроконтроллерах AVR. Из вашего поста я понял, что на данный момент это невозможно. А так хотелось писать на Ada с применением ОСРВ, которая статически распределяет память...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 15 2008, 20:26
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей С. @ Feb 15 2008, 22:33) *
что на данный момент это невозможно.

Я этого не утвержаю,по крайней мере не услышу название ADA компилятора под AVR.
Цитата
применением ОСРВ, которая статически распределяет память...

Редкая из мелких систем распределяет память НЕ статически smile.gif это скорее недостаток, нежели хоть какое-ниюудь достоинство sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Feb 15 2008, 21:10
Сообщение #5





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(zltigo @ Feb 16 2008, 00:26) *
Я этого не утвержаю,по крайней мере не услышу название ADA компилятора под AVR.


Это gcc-GNAT, http://avr-ada.sourceforge.net/. Он включен в последний пакет WinAVR.

Цитата(zltigo @ Feb 16 2008, 00:26) *
Редкая из мелких систем распределяет память НЕ статически smile.gif это скорее недостаток, нежели хоть какое-ниюудь достоинство sad.gif.


Я вижу достоинство в том, что при воздействии помех и порче данных в оперативной памяти AVR меньше вероятность повреждения оборудования при ошибочном обращении к портам контроллера вместо ячеек памяти. Другое несомненное достоинство - снижение количества занимаемого под структуры данных ОС места в RAM.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 15 2008, 21:48
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей С. @ Feb 16 2008, 00:10) *
Это...

Тогда через заднепроходное отверстие некоторый шанс слепить есть.
Цитата
..при воздействии помех и порче данных в оперативной памяти....

Я Вас умоляю, только не надо схоластических рассуждений, тут уже есть одна тема sad.gif
Цитата
Другое несомненное достоинство - снижение количества занимаемого под структуры данных ОС места в RAM.

На Memory Control Block - размер, пару указателей.... Это в общем-то немного и с лихвой компенсируется даже однй выгруженной из памяти ненужной в данный момент времени задачей. При отладке и дистанционном разборе полетов блоки памяти могут быть просмотрены без копания в листинге конкретной сборки. Кроме того, речь о том, что систем со статически линкуемыми задачами пруд пруди они сишные и проблем слепить будет меньше. Только вот c ADA по любому заморачиваться неразумно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Damon
сообщение Feb 16 2008, 07:02
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125



Цитата(Сергей С. @ Feb 15 2008, 22:33) *
Речь идет об инструментарии WinAVR, и соответственно, о микроконтроллерах AVR. Из вашего поста я понял, что на данный момент это невозможно. А так хотелось писать на Ada с применением ОСРВ, которая статически распределяет память...

У Гриффитса в его буке "GCC. Полное руководство. Platinum Edition" есть даже глава посвященная "совмещению языков". Глава 10. Там же есть пункт совмещение языков Ada и C.
Цитата оттуда:
Цитата
Первым аргументом оператора pragma Import является название языка, на котором реализован код тела процедуры. Стандарт Ada определяет в качестве известных компиляторов С("с"), С++("с++")...

Gcc, вроде, стремиться соответствовать стандартам, так что, шанс подружить scmRTOS и Ada'у есть. Ну а учитывая, что цитата из книжки по gcc, то шанс велик.
Ссылка на источник, где можно разжиться этой книгой, здесь, на форуме, пролетала. Так что, все в Ваших руках...
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Feb 16 2008, 12:41
Сообщение #8





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(Damon @ Feb 16 2008, 11:02) *
У Гриффитса в его буке "GCC. Полное руководство. Platinum Edition" есть даже глава посвященная "совмещению языков". Глава 10. Там же есть пункт совмещение языков Ada и C.


Благодарю за ценный совет. Отличная книга.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Feb 17 2008, 07:38
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



А если не секрет - чем вас прельстила именно Ада?
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Feb 17 2008, 12:56
Сообщение #10





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(Непомнящий Евгений @ Feb 17 2008, 11:38) *
А если не секрет - чем вас прельстила именно Ада?


Положительный опыт использования Паскаля при написании достаточно сложной компьютерной программы для расчетов по методу конечных элементов. Для программирования контроллеров использовал Си, и он решал все мои задачи достаточно легко. Пока их сложность не увеличилась. Полезли с трудом вылавливаемые ошибки, большинство которых можно было бы избежать при написании программы на языке со строгой типизацией. О языке Ada узнал, наткнувшись на описание в Winavr\doc\avr-ada. Но теперь, поковыряв примеры программ на Ada'е, склоняюсь к мысли, что поддержка Ada для AVR пока сыровата. А смотреть в ее сторону начал потому, что хотел узнать, чем же она прельстила других разработчиков, пишущих программы для критичных к надежности и безопасности приложений.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Feb 17 2008, 13:32
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Лет тридцать тому назад, учась и работая в институте, была волна всяких языков типа Modula, LISP, Ada и еще куча всего. Вымерли почти все. При этом никак не пойму, чем С/С++ не устраивает? Если люди на них написали UNIX и Windows, а тебе не хватает их средств для AVR, то может в голове надо чего-то подправить?

У меня был сотрудник. Очень толковый. Документацию писал к программам и устройствам просто блестяще. Программист тоже неплохой. Но у него был такой большой недостаток. Допустим, начинал проект в Borland C++. Через пару месяцев натыкался на какую-то проблему, как ему казалось успешно решенную в Microsoft C++. Он прибегал и говорил: "Кранты, тупик. Надо все переписать под Microsoft". Если мы давали ему эту возможность, через некоторое время находилось еще что-то, и обосновывалась необходимость перехода на Watcom.

На самом деле все это чушь. Любую задачу можно написать на каком-то одном языке. И в настоящее время лучше и эффективнее C/C++ ничего нет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 17 2008, 14:04
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей С. @ Feb 17 2008, 15:56) *
А смотреть в ее сторону начал потому, что хотел узнать, чем же она прельстила других разработчиков, пишущих программы для критичных к надежности и безопасности приложений.

Она не прельстила разрабочиков ПРИЛОЖЕНИЙ smile.gif Она прельстила разработчиков ADA возможностью банально срубить очень больших бабок за обещания большим и богатым американским дядькам в погонах создать чудо язык на котором любой рядовой первого класса сбацает все, что нужно и без ошибок. Что потом позволит якобы сэкономить кучу бабок на квалифицированных разработчиках приложений. Утрирую, конечно, но в общем это так. Дальше, дальше деньги плачены - надо заставлять использовать.

P.S.
Паскаль видал (и не только в гробу smile.gif )
На Modula-2 писал достаточно много.
А вот ADA, как и в свое время PL/1 муть голубая.

Цитата(Сергей С. @ Feb 17 2008, 15:56) *
...большинство которых можно было бы избежать при написании программы на языке со строгой типизацией.

Или простым повышением уровня владения языком и осознание того, что от чего зависит и к чему приведет. Причем повышать уровень владения необходимо для ЛЮБОГО языка. При определенном уровне владения строгие ограничения, как и в любом естественном языке начинают тяготить. Тогда начинают рожать всяки диалекты (например Борландячие диалекты Паскаля), на которых хоть как-то можно работать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Feb 17 2008, 15:05
Сообщение #13





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(sergeeff @ Feb 17 2008, 17:32) *
При этом никак не пойму, чем С/С++ не устраивает? Если люди на них написали UNIX и Windows, а тебе не хватает их средств для AVR, то может в голове надо чего-то подправить?

На самом деле все это чушь. Любую задачу можно написать на каком-то одном языке. И в настоящее время лучше и эффективнее C/C++ ничего нет.


Ну зачем же так категорично судить? Такое ощущение, что я залез с Adа'ой в ваш проект smile.gif. А чтобы понять, что один язык лучше других, нужно получить хоть какое-то представление о том, чем они отличаются, скомпилировать пару простых примеров, поковырять их. Это нормально перед началом большой работы и не нормально перед сдачей проекта smile.gif. И все же я остановился на gcc порте scmRTOS, и , соответственно, C/C++. Впечатлен ее (scmRTOS) простотой и красотой, хорошим описанием на русском языке.

Кроме того, я и не говорил, что Си меня совсем не устраивает. Все встретившиеся мне ошибки я быстро исправил. Но при использовании языка Ada многие из них не дошли бы до этапа тестирования, а были бы отсеяны при компиляции.

Сообщение отредактировал Сергей С. - Feb 17 2008, 15:08
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 17 2008, 16:57
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей С. @ Feb 17 2008, 18:05) *
..скомпилировать пару простых примеров, поковырять их.

Любой язык отлично сделает даже не пару простых примеров. Только это не значит абсолютно ничего.
Для простых примеров прекрасен бейсик - вообще ошибок по вине языка сделать не возможно. Я предполагал, что нужно работать. Для полноценнной работы, как и для полноценного общения нужны живые языки. Писать на ADA и общаться на Эспеаранто можно, но не нужно. Два падежа в Эсперанто делающие невозможными многие ошибки с минимум шестью падежами Русского НЕ ДЕЛАЮТ его лучше русского языка. Не знаете язык достаточно? Не уверены? Обходитесь для начала парой падежей - потом освоитесь.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Damon
сообщение Feb 18 2008, 16:45
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125



Цитата(sergeeff @ Feb 17 2008, 16:32) *
Лет тридцать тому назад, учась и работая в институте, была волна всяких языков типа Modula, LISP, Ada и еще куча всего. Вымерли почти все. При этом никак не пойму, чем С/С++ не устраивает? Если люди на них написали UNIX и Windows, а тебе не хватает их средств для AVR, то может в голове надо чего-то подправить?

Тем неменее, Ada поддерживается gcc, среди прочего. И отнюдь не умерла... "Если звезды зажигают, значит это кому-нибудь нужно..." (С)

Цитата(zltigo @ Feb 17 2008, 17:04) *
Или простым повышением уровня владения языком и осознание того, что от чего зависит и к чему приведет. Причем повышать уровень владения необходимо для ЛЮБОГО языка. При определенном уровне владения строгие ограничения, как и в любом естественном языке начинают тяготить. Тогда начинают рожать всяки диалекты (например Борландячие диалекты Паскаля), на которых хоть как-то можно работать.

С этим согласен абсолютно и полностью. После ознакомления с буками Дж. Элджера и А. Александреску прямо таки влюбился в С++. Тем неменее, как пример: Торвальдса, наверняка отговаривали от занятий всякой фигней, и попытки написать свою ось. Результат на лице... или на лицо (кому как больше нравиться). "Опыт -- сын ошибок трудных" (С), так что, если человеку хочется, пусть попробует, а жизнь внесет коррективы. Почему бы и нет, как там у Торвальдса: "Just for fun"...
Go to the top of the page
 
+Quote Post

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

 


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


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