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

 
 
> несколько вопросов, по WinAVR + AVRStudio
skilful
сообщение Nov 24 2007, 21:18
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Здравствуйте. Помогите, пожалуйста, начинающему smile.gif


Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?


5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif


Заранее благодарю.

Сообщение отредактировал skilful - Nov 24 2007, 21:26
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 23)
mdmitry
сообщение Nov 24 2007, 23:51
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(skilful @ Nov 25 2007, 00:18) *
Здравствуйте. Помогите, пожалуйста, начинающему smile.gif
Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?
5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif
Заранее благодарю.

1 Как обычно в Студии через watch
2 да
3 нужно больше информации, возможно? надо включить соответствующие заголовочные файлы.
4 документация по avr-libc поможет
5 Керниган, Ричи Язык программирования С, для Winavr документация по библиотеке и компилятору gcc


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 25 2007, 07:25
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



Так я пытался через Watch - только там пишется Not in scope. Причем ниче не могу посмотреть - ни РОН, ни регистры ввода/вывода.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Nov 25 2007, 17:14
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(skilful @ Nov 25 2007, 11:25) *
Так я пытался через Watch - только там пишется Not in scope. Причем ниче не могу посмотреть - ни РОН, ни регистры ввода/вывода.

А это такая особенность студии - переменные размещенные в регистрах не показывать sad.gif
Если их сделать глобальными, gcc разместит их в раме и студия будет их отображать. Неудобно, но что делать...
А ввод/вывод смотрится так же как и в ассемблере - через вкладку I/O View.
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 25 2007, 20:13
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



спасибо. Разобрался. Чтоб увидеть свою переменную поставил уровень оптимизации -оО и о чудо...
но отладка какая-то буторная - указатель команды ставится на пустые строчки, с функциями вообще жесть....
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 25 2007, 21:37
Сообщение #6


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(skilful @ Nov 25 2007, 23:13) *
спасибо. Разобрался. Чтоб увидеть свою переменную поставил уровень оптимизации -оО и о чудо...
но отладка какая-то буторная - указатель команды ставится на пустые строчки, с функциями вообще жесть....

Посмотрите диасссемблер, станет понятнее про пустые строчки.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
SergeyYA
сообщение Nov 27 2007, 15:20
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731



Цитата(skilful @ Nov 25 2007, 00:18) *
Здравствуйте. Помогите, пожалуйста, начинающему smile.gif
Начинаю переходить с Асма на Си. Использую WinAvr.

1) Так вот...как можно в Студии посмотреть значения моих переменных?
2) потом...#define F_CPU 7372800UL что означают эти строчки? Это частота кварца. Для чего она указывается? При использования подпрограмм задержки - delay_loop?
3) Я пытался вызвать функцию из другой функции, но что-то в Студии корректного перехода не увидел - это я такой кривой или программная отладка тупит? wink.gif)
4) Как втыкать ассемблерные вставки в Сишный код, например, в обработчиках прерываний?
5) Сишники, дайте литературы (по WinAvr и по Сям) - хочу учиться ... wink.gif а не задавать глупые вопросы wink.gif
Заранее благодарю.

Компилятор тута ни при чем изучай С когда ты объявляешь локальные переменные они видятся только там где их ты объявил а если объявишь глобальные то их можно посмотреть в любой функции или прерывании и еще когода объевляешь переменную которая используется и в прерывании и в функции обязательно ставь volatile
Go to the top of the page
 
+Quote Post
Freeze Anti
сообщение Nov 28 2007, 07:07
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.

только у меня в связи с этой книжкой вопрос... я все время программировал в IAR Embedded Workbench, а тут во нужно быстро перейти но WinAVR. У меня возникла первая же сложность с makefile. В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками, которые объясняются в книге... но я скачивал книгу в djvu формате из интернета и, разумеется никакого диска у меня нет... может кто сможет написать содержимое этого makefile или дать какие-то инструкции, как его изготовить самому...


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 28 2007, 07:29
Сообщение #9


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Freeze Anti @ Nov 28 2007, 10:07) *
Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.

только у меня в связи с этой книжкой вопрос... я все время программировал в IAR Embedded Workbench, а тут во нужно быстро перейти но WinAVR. У меня возникла первая же сложность с makefile. В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками, которые объясняются в книге... но я скачивал книгу в djvu формате из интернета и, разумеется никакого диска у меня нет... может кто сможет написать содержимое этого makefile или дать какие-то инструкции, как его изготовить самому...

В ветке по AVR выкладывались makefile, не менее двух вариантов. Воспользуйтесь поиском.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 28 2007, 09:33
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



там все просто. Создаешь свой makefile утилиткой Mfile. Изменяешь оптимизацию, МК и все такое...
Дальше
Debug format = AVR Studio 4.07+
Target = <название твоего файла> без расширения

А потом открываешь Makefile и прописываешь:
SRC = <название файла>.c
CPPSRC = пусто


И все компилится нормально и все работает как по книге wink.gif

SergeyYA, спасибо за ответ. Уже потихоньку изучаю wink.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 28 2007, 10:16
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Freeze Anti @ Nov 28 2007, 09:07) *
В книжке, которую я указал выше есть совет использовать makefile, записанный на прилагаемом диске с некоторыми корректировками
Тот плагин, который сейчас идет в комплекте со студией сам создает нужный makefile. Т.е. создаете новый проект, в качестве toolchain выбираете GCC и получаете заготовку проекта с main() и makefile. Все настройки через менюшки студии, новые файлы добавляются в makefile автоматически. Когда возможностей менюшки вам станет мало, укажете в опциях проекта external makefile, возьмете то, что уже создала студия и будете его править.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 28 2007, 12:24
Сообщение #12


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Сергей Борщ @ Nov 28 2007, 13:16) *
Тот плагин, который сейчас идет в комплекте со студией сам создает нужный makefile. Т.е. создаете новый проект, в качестве toolchain выбираете GCC и получаете заготовку проекта с main() и makefile. Все настройки через менюшки студии, новые файлы добавляются в makefile автоматически. Когда возможностей менюшки вам станет мало, укажете в опциях проекта external makefile, возьмете то, что уже создала студия и будете его править.

Makefile студии отличается от файла, генерируемого утилитой для WinAvr. может собраться студией, а make его может забраковать ( личный опыт).


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
SergeyYA
сообщение Nov 28 2007, 13:30
Сообщение #13





Группа: Новичок
Сообщений: 9
Регистрация: 27-11-07
Пользователь №: 32 731



Цитата(mdmitry @ Nov 28 2007, 15:24) *
Makefile студии отличается от файла, генерируемого утилитой для WinAvr. может собраться студией, а make его может забраковать ( личный опыт).

согласен что на вин авр написанный проект не компилится под студию но изначально созданный в студии проект компилится отлаживается и все такое всегда без проблем и маке файл там создается автоматически и настраивается из под меню элементарно вот уже год сижу на студии пока проблем таких грандиозных вроде пока не было 1111493779.gif
Go to the top of the page
 
+Quote Post
fmdost
сообщение Nov 28 2007, 18:38
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(Freeze Anti @ Nov 28 2007, 11:07) *
Из литературы могу посоветвать книжку: Ю.А.Шпак Программирование на языке C для AVR и PIC микроконтроллеров.
.....

Дядь! Ссылочкой бы поделился, а ещё лучше на сахару её саму.
Go to the top of the page
 
+Quote Post
skilful
сообщение Nov 28 2007, 21:21
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 23-04-06
Из: Сочи
Пользователь №: 16 411



http://dasbook.ru/?id=24&n=2
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 28 2007, 21:42
Сообщение #16


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(SergeyYA @ Nov 28 2007, 16:30) *
согласен что на вин авр написанный проект не компилится под студию но изначально созданный в студии проект компилится отлаживается и все такое всегда без проблем и маке файл там создается автоматически и настраивается из под меню элементарно вот уже год сижу на студии пока проблем таких грандиозных вроде пока не было 1111493779.gif

Из командной строки make'ом проект студии нормально не собрать, что на мой взгляд , плохо. из-за этого отказался от студии sad.gif


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Nov 29 2007, 22:58
Сообщение #17


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

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



Цитата
Из командной строки make'ом проект студии нормально не собрать, что на мой взгляд , плохо.

IMNHO, чудеса рассказываете.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 30 2007, 22:32
Сообщение #18


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(sensor_ua @ Nov 30 2007, 01:58) *
IMNHO, чудеса рассказываете.

Прописал параметры в фаил студии руками, которые из меню не выставляются и результат sad.gif Один раз попробовал и отказался. Использую make (makefile редактирую только руками) с eclipse. Может руки у меня кривые?


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Dec 1 2007, 13:51
Сообщение #19


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

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



Цитата
Прописал параметры

Причём тут студия? Там свои ключики есть куда вписывать. Она генерит makefile, он и выполняется. Соответственно его можно "попросить остаться" - какая-то там птичка в студии позволяет. Когда-то мучал Eclipse - дык у той сгенерённый makefile был недоступен - существовал только во время выполнения(не знаю как сейчас - надеюсь, что-то изменилось). Кстати, как там в Eclipse drag-n-drop в редакторе уже появился?


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Dec 1 2007, 17:51
Сообщение #20


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(sensor_ua @ Dec 1 2007, 16:51) *
Причём тут студия? Там свои ключики есть куда вписывать. Она генерит makefile, он и выполняется. Соответственно его можно "попросить остаться" - какая-то там птичка в студии позволяет. Когда-то мучал Eclipse - дык у той сгенерённый makefile был недоступен - существовал только во время выполнения(не знаю как сейчас - надеюсь, что-то изменилось).

Студия генерирует файл отличающийся по структуре от файла для make. В Eclipse проект с внешним makefile, проблем нет


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 1 2007, 20:13
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(mdmitry @ Dec 1 2007, 19:51) *
Студия генерирует файл отличающийся по структуре от файла для make.
Чудеса. Специально взял проект студента, где makefile генерится студией, запустил make - все откомпилировалось.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Dec 1 2007, 20:45
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Видимо имеется ввиду то, что утилита MFILE не может редактировать мейкфайл сгенерированный студией. Если бы make не понимал этот мейкфайл, то и из под студии проекты тоже бы не собирались smile.gif
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Dec 1 2007, 21:21
Сообщение #23


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Qwertty @ Dec 1 2007, 23:45) *
Видимо имеется ввиду то, что утилита MFILE не может редактировать мейкфайл сгенерированный студией. Если бы make не понимал этот мейкфайл, то и из под студии проекты тоже бы не собирались smile.gif

Да, mfile не редактирует. У меня студия (версию не помню) плодила еще довески к основному файлу, кажется в подкаталогах. Разбираться куда какие насторойки уходил желания не было и редактировать куски тоже. На мой взгляд эти допфайлы - уход от идеалогии GNU make. Утилита позваляет подгружать дополнительные файлы, о чем сказано в документации, но назначение подгрузки файлов другое.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Dec 2 2007, 01:10
Сообщение #24


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

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



Для запуска makefile, сгенеренного студией (4.13SP1) без студии пришлось чуток пободаться (раньше вроде не было такого) - прописал батинок

@set PATH=c:\winavr-20070525\bin;c:\winavr-20070525\utils\bin

make.exe %1

Причём в environment variables винды (XP Pro En SP1) есть аналогичный path. А чудеса перед этим махонькие были - появилась какая-то ошибка запуска sh.exe из WinAVR - откопал, что для лечения трабла нужно поменять msys-1.0.dll -
http://www.madwizard.org/extern/winavr-vista/
помогло. Чудеса эти проявились сначала (сегодня)wink.gif с WinAVR-20070122 (но было время, когда оно работало в этом составе на этом компе и безо всяких застирываний, не помню только, SP на студию был проставлен или нет)


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 6th September 2025 - 12:37
Рейтинг@Mail.ru


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