|
|
  |
Начало на IAR |
|
|
|
Oct 13 2005, 13:14
|

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

|
Цитата Как начать новую программу и чё необходимо подключать. Т.е. как проинизиализировать стек, вектора прерываний и всё такое. Какие нибудь примеры, ссылки. Насчет примеров... В общем стандартный Си он и в Африке Си. В общем любые сишные примеры для авр для любого компилятора (Code Vision, ICC & so on), в основном исходник можно оставить без изменений, а такие мелочи как заголовочные файлы, директивы и т.д. очень даже не плохо описаны в хелпе к компилятору. Кстати хелп там очень солидный: несколько pdf'ников + chm и все это где-то на 1,5 Мб (если не ошибаюсь). Стек пока можно не трогать, его компилятор инициализирует сам. На всякий случай ссылки на две популярные конфы, где можно немало почерпнуть (работает поиск по конференции): http://www.telesys.ru/wwwboards/mcontrol/index.shtmlhttp://www.caxapa.ru/mcu/wwwboard.htmlЗ.Ы. Я сам недавно начал работать с IAR, до этого юзал WinAVR (бесплатный компилятор), так-то если что может чем еще смогу помочь, хотя вряд ли, опыта у меня мало. Удачи!!!
--------------------
Выбор.
|
|
|
|
|
Oct 13 2005, 13:20
|

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

|
Цитата(Rash @ Oct 13 2005, 16:43) Всем здрасте. Перехожу от асеблера на С (IAR для AVR). Как начать новую программу и чё необходимо подключать. Т.е. как проинизиализировать стек, вектора прерываний и всё такое. Какие нибудь примеры, ссылки. К сожалению на русском языке ничего про это найти нельзя (вот Вам и здрасте...). Тем неменее для начала всем начинающим советуют почитать Help для IAR или *.pdf файлы, что в общем-то одно и то же. Разберитесь как создать новый проект, как настроить под него Options, а так же просматривайте темы форума, там про это тоже можно найти много полезного!
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Oct 13 2005, 13:28
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Всё я уже скачал, проект вроде создал, как привычное для ассемблера ldi rTemp, high(RAMEND) ; Инициализация стека... out SPH, rTemp ; ... ldi rTemp, low(RAMEND) ; ... out SPL, rTemp ; ... сделать, да и прерывания заодно, кто нибудь тестовый пример для себя делал, а из доки какие разделы нужны сразу а какие уже после. А то что хелп читать надо то и ежу понятно, но я же не велосипед изобретаю, а иду дорогой которой уже не одна сотня людей прошла, хотябы на англиском коротко ясно и понятно, а из 500 стр. хелпа попробой вылови, что надо изначально.
|
|
|
|
|
Oct 13 2005, 13:48
|

Участник

Группа: Новичок
Сообщений: 48
Регистрация: 6-05-05
Пользователь №: 4 784

|
Цитата(BVU @ Oct 13 2005, 17:41) Обычно все основные настройки проекта содержаться в .xcl файле. Разберитесь с его содержимым и как настраивать проект используя лишь один .xcl. Это уже в прошлом. Теперь все настройки можно сделать в свойствах проекта. Цитата(BVU @ Oct 13 2005, 17:41) Далее, поскольку Вы работали с asm, сделайте возможность генерации листинга на C-asm, где будете сравнивать и контролировать результат построения вашего билда. А еще можно почитать вот этот док: Mixing C and Assembly Code with IAR Embedded Workbench for AVR
--------------------
|
|
|
|
|
Oct 13 2005, 13:51
|

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

|
Цитата Всё я уже скачал, проект вроде создал, как привычное для ассемблера ldi rTemp, high(RAMEND) ; Инициализация стека... out SPH, rTemp ; ... ldi rTemp, low(RAMEND) ; ... out SPL, rTemp ; ... Этого не надо делать, компилятор сам инициализирует стек. Дальше: когда я начал с ИАРом разбираться, то мне помог документ UserGuide.pdf, там есть глава, посвященная созданию проекта, его настройке и компиляции. К сожалению ни чего не могу точно сказать, т.к. все это на работе, а я сейчас дома. Насчет создания прерываний: это просто функция, типа void my_interrupt(void) { //your code } , но перед ней стоит директива #pragma _что_то_там_не_помню по директивам есть отличный файл справки, название файла не помню, откройте его из IDE (меню Help).
--------------------
Выбор.
|
|
|
|
|
Oct 13 2005, 15:47
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 18-06-05
Пользователь №: 6 117

|
Цитата(haker_fox @ Oct 13 2005, 16:37) Теперь я хочу задать ткпой вопрос: Цитата __interrupt void INT1_handler(void) { ... return; } А обязательно return ставить? Просто я не ставил в своей проге и она работает. Раз работало, значит необязательно.  Обязательно только для не-void'ов. Просто компиляторы некоторые warning'и выдают, да и ВЫСОКИЙ стиль... Кроме того можно в дизасемблере красиво посмотреть что делается при возвращении из функции
|
|
|
|
|
Oct 14 2005, 08:01
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата(Rash @ Oct 14 2005, 10:43) Цитата(Igor26 @ Oct 14 2005, 10:28) Цитата(Rash @ Oct 14 2005, 09:57) Дайте, пожалуйста путёвый, но не сложный пример для начинающего, с прерываниями их инициализацией,разбитые по рызным файлам. Например Main.c - основная прога, Int.h и Int.c - прерывания и т.д. Заранее спасибо. Давайте мэйл, закину. raash@yandex.ru Спасибо Смотрите почту.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|