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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> кто поможет ИАР освоить небесплатно?
Метценгерштейн
сообщение Sep 28 2005, 06:44
Сообщение #31


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

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



У меня есть кусочек проги, вот например и первый вопрос

C_task void main(void)
{
это начало программы какой- то, что тут делает C_task ? Где про это можно прочесть? Где в хелпах?

второй вопрос- хочу начать писать пока что на асме в ИАРе, какие то префиксы ставить перед началом кода типа #asm #endasm?
И непонятно, не будут ли бодаться регистры моего кода на асме с откомпелёнными из Си? Или компилятор учитывает те регистры которые я использовал сам?
Всем спасибо.
Go to the top of the page
 
+Quote Post
andrvisht
сообщение Sep 28 2005, 07:03
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Цитата(Метценгерштейн @ Sep 28 2005, 09:44)
У меня есть кусочек проги, вот например и первый вопрос

C_task void  main(void)
  {
это начало программы какой- то, что тут делает C_task ? Где про это можно прочесть? Где в хелпах?

второй вопрос- хочу начать писать пока что на асме в ИАРе, какие то префиксы ставить перед началом кода типа #asm #endasm?
И непонятно, не будут ли бодаться регистры моего кода на асме с откомпелёнными из Си? Или компилятор учитывает те регистры которые я использовал сам?
Всем спасибо.
*


Сам только начинаю переходить на С...
по поводу C_task это как-бы обьявление главного цикла main где-то писалось вроде бы в AVR035
http://www.efind.ru/ad/adframe.php?n=a40f2...3&target=_blank
по поводу совмещения с ASM пока нашел только это
www.prochild.com/eng/data/avr/appnotes/pdf/AVR034.pdf
Go to the top of the page
 
+Quote Post
Old1
сообщение Sep 28 2005, 07:11
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(&-rey @ Sep 28 2005, 10:03)
C_task void  main(void)
  {
это начало программы какой- то, что тут делает C_task ? Где про это можно прочесть? Где в хелпах?

Цитата из перевода AVR035.pdf (http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR035.htm)
Функция main обычно содержит основной цикл программы. В большинстве случаев функция main не вызывается из других функций и нет необходимости предварительно сохранять содержимое какого-либо регистра перед входом в нее. Таким образом, функция main может быть объявлена как C_task. Это сэкономит пространство стека и размер кода:

__C_task void main(void) /* Объявление main() как C_task*/
{
}
Go to the top of the page
 
+Quote Post
andrvisht
сообщение Sep 28 2005, 07:14
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Что с сылкой на AVR035 не то smile.gif
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR035.htm
вот чего там пишут:
The main function usually contains the main loop of the program.In most cases no functions are calling the main function,and there are no need to preserve any registers when entering it.The main function can therefore be declared as C_task.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 28 2005, 07:17
Сообщение #35


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

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



т.е. C_task при написании проги мне принять как за правило и всегда практически его вставлять? вот нашёл тоже-
C_task - это указание компилятору не сохранять регистры при вызове
функции main()..
См. описание на компилятор. Это дает возможность немного уменьшить код
программы.
Получается, его всегда писать и всё тут?
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 28 2005, 07:25
Сообщение #36


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

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



The main function can therefore be declared as C_task.
Не понятна фраза эта, что значит гл. ф-я может быть следовательно декларирована как C_task??? Как это понять? Она же объявлена как майн и всё тут?
Go to the top of the page
 
+Quote Post
BVU
сообщение Sep 28 2005, 07:26
Сообщение #37


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Да, диспут как говориться - удался!!!

Уважаемый Метценгерштейн по всей видимости Вам для обучения и дальнейшей практической работы сперва необходимо определиться с выбором литературы по языку 'C' (как и другие учасники данной дискуссии я бы рекомендовал авторов Керниган, Ричи) и выбор версии среды разработки IAR (не ниже EWAVR-EV-310A, а лучше всего брать самую 'свежую' на сайте разработчика. По поводу превращения ее в нормально работающую - читайте темы местного форума).
Да прочитайте для начала статью (это на русском):
http://chipinfo.ru/literature/chipnews/200010/15.html
немного, но все равно какая то информация. Не 'зацикливайтесь' там на конкретных версиях компилятора, сейчас это уже далеко в прошлом. Делайте поиск по форуму на существование ответа по возникающему вопросу, если ничего не находите, задавайте его инициируя новую тему. Смотрите форум по интересующей Вас тематике. Информации много, но естественно она не систематизирована. Форум - есть - Форум.

Удачи!

P.S. Посмотрите так же тему:
http://forum.electronix.ru/index.php?showt...443&#entry45443
там мной прикреплен файл Programm_Example.rar это тоже примеры IAR проектов на 'C'.

Сообщение отредактировал BVU - Sep 28 2005, 08:42


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
delta1968
сообщение Sep 28 2005, 07:38
Сообщение #38


Участник
*

Группа: Новичок (без почты)
Сообщений: 28
Регистрация: 28-07-05
Пользователь №: 7 163



Цитата(Метценгерштейн @ Sep 27 2005, 16:26)
Спасибо за советы, avr123 я уже изучил, прошёлся по примерам многим, там уклон на CV. Хорошо, начнём с простого, есть работающий кусок на АСМе под ЛСД. Как мне его запустить и откомпелить в ИАРе? Потом, как смешивать Си, если я захочу его добавить к проекту на асме? Тоже самое пытался проделать с CV- не хочет компилиться. Да и говорят, CV- слаб для профессиональной работы. Си я прочитал, но нужна уже практика в каком- то компиляторе, почему бы не в ИАРе?
*

Насколько я пользовался Си и Асмом, Асм добавляется к Си, а не на оборот. Есть такая книга, классика Си Керринган и Ричи "Введение в Си", самое то для начала. А потом все остальное.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 28 2005, 08:17
Сообщение #39


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

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



Согласен про эту книгу, просто не найти её в инете, может кто ссылку даст? В магазин зашё вчера- ниту книг ни этой ни по ИАРу.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 28 2005, 08:28
Сообщение #40


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Сочувствую Вам, Метценгерштейн. Много Вам информации в эту ветку накидали.
Цитата
У меня есть кусочек проги, вот например и первый вопрос

C_task void main(void)
{
это начало программы какой- то, что тут делает C_task ? Где про это можно прочесть? Где в хелпах?

Цитата
т.е. C_task при написании проги мне принять как за правило и всегда практически его вставлять? вот нашёл тоже-
C_task - это указание компилятору не сохранять регистры при вызове
функции main()..
См. описание на компилятор. Это дает возможность немного уменьшить код
программы.
Получается, его всегда писать и всё тут?


Похоже, хорошее ключевое слово C_task. Позволяет экономить стек при длинной цепочке вызовов подпрограмм, оставляя груз за сохранением или контролем информации на плечах программиста. Т.е. по другому можете использовать не только для main(), но и для других подпрограмм (когда станете опытным программером).

Цитата
второй вопрос- хочу начать писать пока что на асме в ИАРе, какие то префиксы ставить перед началом кода типа #asm #endasm?
И непонятно, не будут ли бодаться регистры моего кода на асме с откомпелёнными из Си? Или компилятор учитывает те регистры которые я использовал сам?


Вот как раз - будут ли бодаться и посмотрите в листинге на ассемблере smile.gif
С префиксами сами уж help посмотрите.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 28 2005, 08:32
Сообщение #41


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Кернигана и e.t.c. можно здесь взять
тут есть
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 28 2005, 08:40
Сообщение #42


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Кстати, посмотрела примеры BVU. Встроенный asm (если он есть в IAR;)), то похоже Вам и не очень нужен.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 28 2005, 09:00
Сообщение #43


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

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



Пойдём немного другим путём- буду читать эту книгу, скачал компилятор Dev-C++, в нём прорабатывать, потом вернёмся к ИАРу.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 28 2005, 13:24
Сообщение #44


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Sorry конечно, а что это за зверь? Dev-C++


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 28 2005, 13:30
Сообщение #45


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Графическая среда на базе Gnu C под Windows.
Метценгерштейн, может Вам самый простой Turbo C выложить?
Go to the top of the page
 
+Quote Post

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

 


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


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