Не много не понял, то есть мне нужно вместо батарейки подключить землю к светодиодам? А где она впротеусе? Не могу найти... И что обозначают мигающие синие и красные квадратики?модель не получается построить из-за отсутствия земли в изолированном участке схемы
AVR studio в вопросах и ответах
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
- Реклама
Re: AVR studio в вопросах и ответах
Скидываю в архиве рисунок, там пример подключения светодиода. А в левом боковом меню открыто где находится земля, выше над строчкой выбора земли - выбор выхода +5В. При подключении нагрузки к микроконтроллеру нужно использовать их, потому что при подключении к батарейке работать не будет.
- Вложения
-
- 1111.rar
- (39.72 КБ) 168 скачиваний
Все гениальное - просто
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Квадратики на выводах контроллера отражают их логическое состояние - синий - "0", красный - "1", серый - "Z" или отключен/аналоговый вход.
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
CB1 Уррааа!) Заработало!) Благодарю 
=====
Вопрос возможно не по теме, за ранее прошу прощения.
Подскажите пожалуйста, тип файла S Source (можно так же открыть блокнотом) после компиляции в протеусе превращается в файл HEX. (либо elf). Это, как я понимаю и есть сама прошивка, верно?
А вот можно ли наоборот из hex-файла сделать S Source, (чтобы получился программный код, который можно подредактировать, скажем в протеусе...) ? Другими словами можно ли подправить уже существующую прошивку?
=====
Вопрос возможно не по теме, за ранее прошу прощения.
А вот можно ли наоборот из hex-файла сделать S Source, (чтобы получился программный код, который можно подредактировать, скажем в протеусе...) ? Другими словами можно ли подправить уже существующую прошивку?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: AVR studio в вопросах и ответах
*.S это не файл исходника в широком смысле, а только исходника на Ассемблере, причем, если я правильно помню, gnu-ассемблера.
Из *.elf-файла получить исходник проще, командой objdump. Причем возможно вернуть даже исходник на ЯВУ, на Си, например. Если скомпилировано было правильно, сохранятся и имена комментариев, и комментарии и т.п.
Из *.hex - только дизассемблировать, причем потеряются форматирование, комментарии, макросы, именованные переменные и прочее. Будет тупо набор команд. Достаточно ли у вас знаний чтобы в этом разбираться?
Из *.elf-файла получить исходник проще, командой objdump. Причем возможно вернуть даже исходник на ЯВУ, на Си, например. Если скомпилировано было правильно, сохранятся и имена комментариев, и комментарии и т.п.
Из *.hex - только дизассемблировать, причем потеряются форматирование, комментарии, макросы, именованные переменные и прочее. Будет тупо набор команд. Достаточно ли у вас знаний чтобы в этом разбираться?
- Реклама
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
знаний к сожалению не достаточно пока. А вот желание разобраться есть. Если можно на конкретном примере. Вот у меня например есть elf-файл. Мне необходимо увидеть его код и прочие команды на языке Си. Допустим проекта не имеется, а только сам файлик-elf. С чего начать, поэтапно?
Re: AVR studio в вопросах и ответах
если у вас только .elf файл то код на языке Си вы никогда не увидите
если же к .elf файлу есть исходники на Си, то можно увидеть привязку машинных инструкций к конкретным строкам кода на Си
так работает отладка
но получить из машинных кодов текст на языке Си не получится, чудес таких нет
если же к .elf файлу есть исходники на Си, то можно увидеть привязку машинных инструкций к конкретным строкам кода на Си
так работает отладка
но получить из машинных кодов текст на языке Си не получится, чудес таких нет
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
другими словами подправить "вытянутую" из МК прошивку невозможно? Только написать самому заново, так?
======
И еще вопрос возник: как выглядит код " одновременности"?) Допустим мне необходимо подать единичку только на две лапки МК но одновременно. Как это будет выглядеть в виде кода на языке Си в программе AtmelStudio?
======
И еще вопрос возник: как выглядит код " одновременности"?) Допустим мне необходимо подать единичку только на две лапки МК но одновременно. Как это будет выглядеть в виде кода на языке Си в программе AtmelStudio?
Последний раз редактировалось Олегыч1 Вт июн 14, 2016 12:12:29, всего редактировалось 1 раз.
Re: AVR studio в вопросах и ответах
Подправить можно на уровне ассемблера
Но нужно будет самому следить, чтобы всякие важные таблицы типа векторов прерываний не сьехали
Если вы собрались чужую прошивку править, будьте готовы к тому, что она может быть защищена от чтения
Но нужно будет самому следить, чтобы всякие важные таблицы типа векторов прерываний не сьехали
Если вы собрались чужую прошивку править, будьте готовы к тому, что она может быть защищена от чтения
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
отлично, значит все-таки это возможно. Я предыдущее подправил сообщение о вопросе об одновременности:)
Re: AVR studio в вопросах и ответах
Если ножки на одном порту то выставить единички одной командой сразу
Если на разных, то последовательно, разрыв по времени будет от одного до нескольких тактов MCU, на 16мгц такт это 62.5 наносекунды
Если на разных, то последовательно, разрыв по времени будет от одного до нескольких тактов MCU, на 16мгц такт это 62.5 наносекунды
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
Немного не понял... Допустим нужен сигнал одновременно на первой ножке МК и на второй (по имени PB0 и PB1)Если ножки на одном порту то выставить единички одной командой сразу
Вот такой способ не получился:
//Подать сигнал
PORTB = 0b00000001;
PORTB = 0b00000010;
//Выдержать время
_delay_ms(1000);
//Убрать сигнал
PORTB = 0x00;
_delay_ms(300);
- dr.doc
- Это не хвост, это антенна
- Сообщения: 1368
- Зарегистрирован: Вс мар 28, 2010 12:52:22
- Откуда: Беларусь
Re: AVR studio в вопросах и ответах
А написать PORTB = 0x03 (0b0000 0011)?
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
да, то, что нужно. Спаксибо!
==============
Теперь новая проблемка возникла. С программами вроде немного разобрался. В Протеусе все работает как и хотел. Решил прошить в реальности свой микроконтроллер. Прошил, все отлично. Но как теперь его правильно включить, чтобы мои светодиоды замигали наконец?)) При прошивке ножки МК атмега-8а по имени VCC и AVCC (7 и 20 лапки) были соединены воедино. При подаче питания на эти лапки светодиоды молчат. Зачем у МК вообще две этих ножки питания, а не одна? Две земли понятно-для удобства подключения (хочу в ту, хочу в другую подключусь), верно?
Надо ли отпаивать программатор от МК, а то он у меня припаян))
Программатор самый простой Громова с внешней подачей питания +5 вольт.
Анод светодиода подключил к ножке МК, катод светодиода к GND МК
Что неправильно делаю?
==============
Теперь новая проблемка возникла. С программами вроде немного разобрался. В Протеусе все работает как и хотел. Решил прошить в реальности свой микроконтроллер. Прошил, все отлично. Но как теперь его правильно включить, чтобы мои светодиоды замигали наконец?)) При прошивке ножки МК атмега-8а по имени VCC и AVCC (7 и 20 лапки) были соединены воедино. При подаче питания на эти лапки светодиоды молчат. Зачем у МК вообще две этих ножки питания, а не одна? Две земли понятно-для удобства подключения (хочу в ту, хочу в другую подключусь), верно?
Надо ли отпаивать программатор от МК, а то он у меня припаян))
Программатор самый простой Громова с внешней подачей питания +5 вольт.
Анод светодиода подключил к ножке МК, катод светодиода к GND МК
Что неправильно делаю?
Re: AVR studio в вопросах и ответах
Выходы земли нужно подключать два, а не на выбор.
Про подключение микроконтроллера можно здесь почитать http://www.myrobot.ru/articles/mc_stab.php
Опять же нужно не забывать подключить выход Reset, а иначе то же микроконтроллер может не захотеть работать.
Прочитал сообщения про то как получить код из прошивки, можно только из hex файла получить код на ассемблере, а по другому никак.
Про подключение микроконтроллера можно здесь почитать http://www.myrobot.ru/articles/mc_stab.php
Опять же нужно не забывать подключить выход Reset, а иначе то же микроконтроллер может не захотеть работать.
Прочитал сообщения про то как получить код из прошивки, можно только из hex файла получить код на ассемблере, а по другому никак.
Все гениальное - просто
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: AVR studio в вопросах и ответах
*.elf это не машинные инструкции, не путайте с *.hex или *.bin. Если elf-файл собран с отладочной информацией (флаг -gdwarf-2 в gcc)из него вполне можно достать исходный код, хотя и не напрямую и не полностью. Как я уже говорил, это делается утилитой objdump. В случае AVR команда выглядит какaxillent писал(а):если у вас только .elf файл то код на языке Си вы никогда не увидите
если же к .elf файлу есть исходники на Си, то можно увидеть привязку машинных инструкций к конкретным строкам кода на Си
так работает отладка
но получить из машинных кодов текст на языке Си не получится, чудес таких нет
avr-objdump -S file.elf > file.lss
тогда в file.lss будет и часть исходника на Си и его дизассемблерированный вариант. Разобраться и подправить можно.
Две (или более) земли нужны для обеспечения большего суммарного тока. По документации максимальный ток по линиям питания 200 мА. Для тоненьких проводничков, напыленных на кристалле, это много. Чтобы не нагружать эти проводнички сверх меры, питание подается на разные части кристалла с разных внешних выводов. С AVCC все еще немного сложнее. Этот вывод используется для запитывания всей аналоговой части - компаратор, АЦП и PC0-PC3, то есть без подачи питания все это может не заработать. Это сделано для того чтобы можно было питать ядро от менее "чистого" питания, чем АЦП, причем шумы от самого ядра на питание АЦП также не попадают. Таким образом можно увеличить точность преобразования.Зачем у МК вообще две этих ножки питания, а не одна? Две земли понятно-для удобства подключения (хочу в ту, хочу в другую подключусь), верно?
Надеюсь, резистор не забыли...Анод светодиода подключил к ножке МК, катод светодиода к GND МК
Привели бы полную прошивку (с нормальным форматированием и под спойлером!), схему и фото платы.
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
COKPOWEHEU, Резисторы не забыл, но т.к. все было припаяно навесным монтажем и резисторы были SMD, то один оторвался:) и поэтому один светодиод я подключил напрямую, т.к. мне его не жалко если сгорит. Чисто ради експеримента.)
К ножке RESET припаял резистор на 10 кОм и подал через него питание 5 вольт.
Две земли соединил.
Две ножки питания тоже соеденены.( еще при прошивке были соединены) Но по прежнему ничего не запускается
Даже без того светодиода, который без резистора был...
Проект протеуса по имени "3"
Сам код по имени "код")
и прошивка по имени "2"
Ну фото платы стыдно показывать, т.к. ее вовсе нет
Одни провода, все навесным монтажем). Единственное не отпаивал сам программатор
К ножке RESET припаял резистор на 10 кОм и подал через него питание 5 вольт.
Две земли соединил.
Две ножки питания тоже соеденены.( еще при прошивке были соединены) Но по прежнему ничего не запускается
Проект протеуса по имени "3"
Сам код по имени "код")
и прошивка по имени "2"
Ну фото платы стыдно показывать, т.к. ее вовсе нет
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
А биты конфигурации контроллера? Откуда и какое тактирование он получает у вас на плате?
Понимаю что в протеусе биты конфигурации стояли по умолчанию, а при прошивке вы могли не заметить как прошили совсем другую конфигурацию. Это как правило является проблемой для прошивающих в первый раз...
Понимаю что в протеусе биты конфигурации стояли по умолчанию, а при прошивке вы могли не заметить как прошили совсем другую конфигурацию. Это как правило является проблемой для прошивающих в первый раз...
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
Вот этого точно не знаю. Но вроде бы у атмеги 8 встроенный кварцевый резонатор на 8 мГц. Но могу ошибаться...Откуда и какое тактирование он получает у вас на плате?
Их надо выставить в uniprof ? Как именно это сделать? Какие и куда биты выставлять?А биты конфигурации контроллера?
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Впервые слышу про такой программатор.
Конечно, есть встроенный генератор. И по умолчанию он выбран на 8Мгц и установлен делитель частоты на 8 что в итоге даёт 1Мгц.
Может кто ответит на ваш вопрос, но думаю что ответ можно найти в справке к программатору т.к. биты конфигурации контролера это очень важная часть прошивки, хоть они и устанавливаются как правило только один раз для конкретного проекта. Какие биты прошивать, надо консультироваться у даташита - в зависимости от того что вы хотите получить от контроллера. Для начала можно опереться на биты установленные по умолчанию и менять только то что вам нужно - отключить делитель на 8 например.
Кстати, в гугле первые результаты по запросу Uniprof - как раз про те самые биты... по всему видно что тема граблястая... все начинающие наступают.
Конечно, есть встроенный генератор. И по умолчанию он выбран на 8Мгц и установлен делитель частоты на 8 что в итоге даёт 1Мгц.
Может кто ответит на ваш вопрос, но думаю что ответ можно найти в справке к программатору т.к. биты конфигурации контролера это очень важная часть прошивки, хоть они и устанавливаются как правило только один раз для конкретного проекта. Какие биты прошивать, надо консультироваться у даташита - в зависимости от того что вы хотите получить от контроллера. Для начала можно опереться на биты установленные по умолчанию и менять только то что вам нужно - отключить делитель на 8 например.
Кстати, в гугле первые результаты по запросу Uniprof - как раз про те самые биты... по всему видно что тема граблястая... все начинающие наступают.


