AVR Studio и HAPSimPrint This Post

Автор DI HALT
Опубликовано 19 июля 2008 
Рубрики: AVR. Учебный курс
Метки: , ,

Раз уж пошел разговор об отладке AVR Studio, то стоит упомянуть про ряд примочек для нее. Одной из самых интересных примочек является небольшая программка - HAPSim. Программка почти не известна, по крайней мере я лишь пару раз слышал упоминание о ней на форуме. Прога не слишком стабильна, иногда работает не так как надо, а еще ей не хватает многих эргономических моментов, но, надеюсь, в следующий версиях это будет исправлено.

Итак, что делает Hapsim. Он всего лишь подцепляется к студии и в момент выполнения эмуляции программы может симулировать работу разных устройств, прицепленных на порты. Из доступных устройств есть:

Не богато, но вполне хватает для простенькой отладки. Особо радует терминал :) Можно по быстрому отлаживать без заливки прошивки в МК.

Как работать с Hapsim?
А тут все гораздо проще чем кажется:

  1. Распаковать Hapsim куда-нибудь рядом с студией. Я прям в ее каталог сунул, в папочку.
  2. Запустить AVR Studio с нужным проектом.
  3. Запустить программку.
  4. Выбрать МК, не в пример протеусам всяким, тут поддерживается вся линейка AVR.
  5. Добавить в окно Hapsim нужные тебе девайсы (File -> New Control), а затем настроить их. Каждый появившийся в рабочем поле девайс получает кнопку на панели инструментов. Тыкнул на нее - вот тебе и настройка. Если блоков несколько, то настройка открывается для активного окна. Настройки тоже не мудреные - указать бит порта, да активный режим. Например, для светодиодов можно указать цвет, название, порт и бит порта, а также галочкой сделать его инверсным (например, как я люблю, зажигать нулем)
  6. Запустить в студии эмуляцию отладки и можно клацать по виртуальным кнопочкам и смотреть как ведет себя студия.

Замечу только, что в пошаговом режиме работает весьма стремно, особенно если надо нажать кнопку и удерживать (в хапсиме нет фиксируемых тумблеров), поэтому лучше запускать на исполнение (F5 - Run), а саму программу утыкать брейкпоинтами во всех ключевых местах.

На сайте автора программы можно найти последнюю версию и примеры. Также Hapsim можно скачать у меня, весит он всего пол мегабайта.

Комментарии

42 комментариев на «AVR Studio и HAPSim»


  1. testicq 10 Фев 2009 2:23

    Как вовремя - мне нужно будет цепляться к COM-порту и отлаживать код, а схему еще не спаял. Спасибо!


  2. nwanomaly__ 10 Фев 2009 9:21

    когда avrstudio вживую будет работать в никсах, наступит щастье )

    DI HALT

    Хехехе пользуйтесь промышленным стандартом, а не поделками финского программиста :)

    ArgusB

    Ну, программист, допустим, не финский, а уже давно как международный. А тема с никсами - достаточно интересная. Если бы были порты авр студии и пикада под линухи, я бы винду со своей машины снёс бы, не задумываясь. И это при том, что сам совершенно не фанат линуха, и даже не особо в нём разбираюсь. Вот заодно бы разобрался, и новую технологию бы освоил. А машинка бы освоила свои 4 гига оперативки, а не 3.25, как сейчас. Да и работает оно… по-другому. на работе несколько серверов с линухом имеют аптайм по нескольку месяцев; отключаются только когда питание совсем кончится, и бесперебойник разрядится, или когда из них пыль выдуть надо.
    А промышленный стандарт - это что? QNX? или DOS (рассказывали, что на спутниках летает)? А, вот ещё вспомнил: ISA (industrial standart architecture)

    DI HALT

    Да я бы тоже. Но этого нету и не придвидится (и сильно сомневаюсь что когда либо будет). Тут все дело в принципах организации линухов. Потому что коммерческие кады стоят дорого и выпускать их в сорцах западло. А в бинариках - так не на каждом линухе запустить их можно будет - вон их какой зоопарк развелся. Каждый красноглазик грезит свой дистрибутив поднять. Что сильно сужает целевую аудиторию.

    Промышленный стандарт это винда :) Причем уже давно.

    Кстати, у жены аптайм на ХП уже тоже несколько месяцев и это не сервер а обычный десктоп за которым она ежедневно сидит. Там даже антивируса нет. Было бы больше, но не получается. То свет отключат, то железку какую воткнуть надо.

    nwanomaly__

    всё же настоящий промышленный стандарт - qnx.
    а винду юзают только потому, что “это бесплатно”.
    даже в моём космическом инсте на 2к народу.
    мы же qnx пользуем исключительно по собственной инициативе ибо уж слишком много плюсов у него.
    но если сильно прижмёт лицуха или придётся выходить на уровень великого буржуинства, то придётся.

    адд. кстати, про мифы про “красноглазиков”, “тысячь несовместимых дистрибутивов”, “несовместимости библиотек” и, о-ужас!, “необходимости иметь исходные коды (будто для компиляции в винде они не нужны”, живут не только в умах инженеров, которые лет пятнадцать назад слышали про первые попытки сообщества, но и у многих начальников, которые вообще “ни разу ногой и рылом” )

    посмотри на примеры платных никсов, фрях, солярисов, хп. вспомни эпопею с опенофисом. при желании атмел смог бы, не раскрывая своих таинственных секретных исходных кодов, охватить весьма обширную аудиторию. и не надо говорить о том, что это принципиально невозможно - примеры эклипса и даже борланда свидетельствуют об обратном.

    ну и напоследок забавное. на днях болтал по асе со знакомым нашим, но там, в америках. зашёл разговор про фотошопы и прочее. ну я и говорю - на работе юзают CS3, взял дистриб у местных админов. знакомый аж прослезился “какая у вас богатая фирма, вот мы сидим в линухах и юзаем gimp”. как мне челу объяснить, что для нашей фырмы фотошоп не стоит по 2тыщи баксофф на каждое место, а скачан крякнутый бесплатно с торрентсов за обед?

    DI HALT

    Много ты видел станков на QNX? Или рабочих мест с кадами? Я вот ни разу. На досе видел, но это был антиквариат, на RT11 тоже видел, но это уже ископаемое. А вот все новые станки идут в связке ХП+ПЛК.

    QNX это круто, конечно, но уж больно дорого стоит. Кстати, есть мысль поднять его на минимамке и пощупать. Какую версию лучше ставить?

    Может это и возможно под линух гнать закрытое ПО в промышленных масштабах, но в любом случае стоит немалых трудов а еще хелпдеск потом накроется от шквала вопросов. Проще и дешевле вообще забить на этот сегмент как на нишевый.

    nwanomaly__

    много, но к сожалению больше за границей. у нас больше осрв2000 (
    бесплатные версии кунухов или тестовые на месяц от swd - вполне юзабельные.
    не считал, но думаю, что платные версии виндов со всеми необходимыми средами, будут не сильно дороже кунуха.

    если уж очень жалко денег или “все всё понимают и юзают кряки”, то ломаные qnx тоже имеются.

    возьми какой-нить старый “нейтрино”, мы их даже бесплатно заказывали на http://www.swd.ru/ когда-то.

    плюс дам бизнес-установку - не бывает у них “ниш, на которые забивают”. так у буржуинов дела не ведутся. даже “мелкопрог” в том направлении работает.

    я частенько бывал на разных международных мероприятиях-конференциях. смотрел их презентации, как оно сделано, разговаривал с народом. и мне французы и немцы совершенно серьёзно говорили “ни одно из их нормальных фирм никогда не поставит виндовс себе. максимум - у секретарш на ресепшене. остальное - те же кунухи на стендах, фряхи-солярисы-линухи на десктопах, спецниксы для админов”. народ приезжает с поверпоинтской презентахой, сделаной в опенофисе, и реально не знает аналогов в виндовсе, которыми надо её запускать.
    это всё по фырмам, которые делают гироскопические приборы, системы и комплексы, вроде сажема и прочих.

    DI HALT

    не бывает у них “ниш, на которые забивают”.

    Ок, ждем любимый автокад под линух.

    ArgusB

    Вот можно посмотреть сюда:
    На странице www-atmel-com\dyn\products\tools.asp?family_id=682

    написано вот такое:

    AVR32 Studio 2.1.0 AVR32 Studio is a free Integrated Development Environment (IDE) for AVR32 that enables you to write, build, deploy and debug your C/C++ and assembler code. AVR32 Studio integrates with the AVR32 GNU Toolchain including GCC for building applications for AVR32. AVR32 Studio is Built On Eclipse™ and supports Microsoft® Windows® 2000, XP and Vista, and Linux®.

    Но, к сожалению, под восьмибитные нету :(

    SWG

    Поставь для системного винта Мобиль Рак. Когда захочешь повыделываться - сунь туда винт с Линухом. Захотел поработать с нормальными программами - сунул винт с Виндами и всем остальным. Постепенно станешь совать Линуха все реже и реже, а потом и совсем выбросишь. Так постепенно, незаметно и безболезненно и вернешься в мир нормальных людей… Вот оно где, Щастье - то!!!

    basil

    К вопросу cad софта под Linux, есть дивный эмулятор wine специально для запуска windows приложений под никсами, лично пробовал zemax 2006, pcad2002, ewb512, strong DC++, желающие try -)

    DI HALT

    AVR Studio под винищем не пашет, а это основной отладочный софт аврщика.

    basil

    Устанавливается, проекты открывает, собирает, кривовато режим отладки идет ( на портах биты кликом вроде не ставятся ), проекты не создает -( ну это можно файлы в папке создать в принципе самому (или скопировать из имеющегося -) )- это 4.17, - более ранние возможно пойдут лучше… Proteus 7.5 SP3 установился корректно, открывает проекты, эмулирует корректно. Uniproof COMпорт с контроллером не видит -( Система PC BSD 7.0 Fibonacci. В общем видимо перспективно, но надо как следует повозиться -)

    basil

    P.S. Все что касается отладки идет кривовато. В отладке не ставятся руками значения в портах, при создании нового проекта, при указании эмулятора - виснет -(, а так все работает… Вероятно дело в wine, надо попробовать пересобрать с поддержкой HAL -)


  3. Susanin 10 Фев 2009 19:45

    Для этих целей есть виртуалка с виндой. :)

    SWG

    Любая виртуалка будет более тормозной и заведомо неполноценной, из за невозможности полностью предусмотреть и реализовать все нюансы эмулируемой системы. Гораздо проще иметь отдельный винт на каждую систему. А заменить и перезагрузиться - пара минут. Зато системы полностью независимые. Системы семейства UNIX - чисто серверные, для дома мало пригодные, даже если им приделать костыли и подпорки. Единственный смысл работы с ними - изучение с целью заняться в дальнейшем системным администрированием. Но серверов с UNIX уже не так уж и много, в серьезных организациях предпочитают SOLARIS, который работает в основном с SUN, который дома не поставишь, или серверные версии Виндов (для INTEL).

    Susanin

    Думаю, что спорить смысла не имеет :)

    adben

    Многоуважаемый SWG, позвольте спросить, когда Вы последний раз устанавливали и пользовались *nix-like операционную систему?????
    Дело в том, что установка и дальнейшее использование современных дистрибутивов, намного проще, чем в 90-х. Год назад я продал laptop DELL Latitude 600. Продал одному парню, который до того за компом даже и не сидел. …спустя месяц Он так шустро работал за ноутом с SUSE 9…
    Можете попробовать UBUNTU, она хороша для повседневного пользования, и программ, созданных сообществом OPEN SOURSE, хватит всем, для любых целей, тем более все бесплатно. Пример, линь со всей графикой (64-х битная ОС), посравнению с ОС от МайкроСофт работает реально шустрее.
    ВЫШЕСКАЗАННОЕ НЕ ОЗНАЧАЕТ:
    - что я являюсь ярым противником Windows
    - начало HOLYWARа

    М А Н И Ф Е С Т

    - Я благодарен МайкроСофт за своевременное создание системы, понятной рядовому человеку….
    - Я благодарен APPLE (и лично С. Джобсу) за их вклад в развитие шрифтов, за отличный вид и стабильность
    - Я благодарен старине Линусу за появление простой НиксЛайк системы…
    - Я благодарен сообществу Опен Сурс за развитие и движение некоммерческих программ
    - Я благодарен Пиратам… За возможность использования коммерческого ПО. Просто иногда невозможно стать легальным владельцем(см. ст. К.Касперского о-поПЫТКЕ-купить-некое-программное-решение, и-что-из-этого-вышло)
    В С Е

    DI HALT

    А что Крис попытался купить? И что из этого вышло?

    adben

    Примеры реальных взломов
    (фрагмент книги “Техника и философия хакерских атак”)
    Компилятор Intel C++ 5.0.1

    Автор: (c)Крис Касперски

    В настоящей книге все атаки рассматривались исключительно на примерах, специально написанных для демонстрации того или иного алгоритма программ “CrackMe”. При этом многие из них были слишком искусственными и далекими от реальных защитных механизмов. Это было удобно для изложения материала, но не отражало реальных существующих защит.

    Поэтому я решил включить в приложения некоторые примеры реальных взломов. Все эти программы широко распространены и отражают средний уровень защиты условно-бесплатных программ. Заметим, что он существенно ниже, чем многие из предложенных в книге реализаций.

    Напоминаю, что взлом в той или иной мере конфликтует с российским и международным законодательством. Поэтому необходимо помнить, что взлом не освобождает от регистрации и может быть использован только в образовательных целях, но никак не для получения какой-либо выгоды. В этом случае конфликтов с законодательсвом не возникнет.

    Рисунок 1. Логотип компилятора Intel C++.

    Прежде чем приступать к обсуждению аспектов стойкости защиты компилятора Intel C++ 5.0.1, считаю своим долгом заявить, что я глубоко восхищен этим великолепным программным продуктом и ломать его, на мой взгляд, по меньшей мере кощунственно. Впрочем, сегодня только ленивый не найдет в Сети кряк (один только Google по запросу “Intel C++ crack” выдает свыше 12 тысячи ссылок!), так что никакого вреда от данной публикации не будет.

    Немного грустных новостей для начала. Приобрести легальную версию данного компилятора для жителей России оказывается чрезвычайно затруднительно. И вопрос упирается даже не в то “сколько он стоит” (а стоит он, если мне не изменяет память, что-то в районе тысячи долларов) - компания Intel просто игнорирует данный сегмент рынка. Обращения в российское представительство компании с просьбой предоставить (за деньги!) данный компилятор для его же описания (читай - рекламы и продвижения) в книге “Техника оптимизации программ” положительных результатов не дали. Даже после того, как к этому вопросу подключились, прямо-таки скажем, не мелкие отечественные издательства BHV и Солон - Р. Ладно, не хотят продавать - ну и не надо! Благо, хоть с сервера компании можно свободно утянуть 30-дневный триал. Не густо, конечно, но для сравнительного тестирования вполне достаточно (а для других целей мне этот компилятор и не нужен!).

    Впрочем, все оказалось не так просто! С Web-сервера компилятор запросто так не отдался, а после заполнения регистрационной формы меня вежливо поблагодарили и сообщили, что сейчас ко мне на “мыло” упадет письмо с триальной лицензией и инструкцией по ее установке. Это “сейчас” заняло у севера аж несколько дней (такое впечатление, что анкеты просматриваются вручную). Ок! Лицензия получена! Начинаем скачивать файл… Как это так - докачка не поддерживается?! А вот не поддерживается и все! Учитывая, что у меня лишь хлипкий Dial-Up по каналу в 19.200 (да и тот - по межгороду), скачать полста мегабайт без единого разрыва просто нереально. К тому же, работа над книгой уже близится к завершению и вносить в нее еще один компилятор (а значит, переписывать кучу текста заново) мне становится просто “влом”. Да и Intel C++ - это далеко не самый популярный в кругах российских программистов компилятор и книга без него как-нибудь переживет (хотя, посмотреть, как Intel оптимизирует код под свои процессоры, очень хотелось, да и документация по компилятору вдохновляла). Самое смешное, что когда я все-таки скачал компилятор через своих московских знакомых (ну, для Москвы 45 мегабайт - это вообще ничто), он наотрез отказался работать, мотивируя свое поведение тем, что срок демонстрационной лицензии уже истек…

    Разозлившись на весь свет (и на парней из Intel в частности), я отправился на ftp-сервер компании, откуда наскоро, всего за каких-то три дня, слил полнофункциональную (хотя и шибко несвежую) версию компилятора, находящуюся по следующему адресу: ftp://download.intel.com/software/products/downloads/C5.0.1-15.exe. (приятно, что ftp докачку исправно поддерживал и многократные разрывы никаких проблем не вызывали). Польстившись на размер, я скачал именно пятую версию компилятора, которая была в полтора раза легче шестой (под которую у меня имелась неиспользованная триальная лицензия) и аж в два раза компактнее седьмой - новейшей на момент написания этих строк версии, ломать которую из “политических” соображений, я все равно бы не рискнул, так зачем же ее зря качать?

    Теперь, собственно, мы и подходим к известному философскому вопросу: этично ли ломать программный продукт уважаемой тобой компании или без этого можно обойтись? Да, если бы без этого было возможно обойтись, я бы, честное слово, без тени сожаления выложил за этот замечательный продукт пачку вечнозеленых, но, увы… компания не проявляет ко мне, как к покупателю, никакого интереса и, кроме как ломать, ничего другого просто не остается!
    ……………………………………………………………..
    конец цитаты
    полная версия статьи находится по адресу ИНСАЙДПРО.КОМ( http://www.insidepro.com/kk/007/007r.shtml )


  4. MasterAlexei 11 Фев 2009 3:57

    Про утыкать программу брейкпоинтами - это вы хорошо пошутили. Возможно в режиме симуляции их и можно много поставить, но вот я отлаживаю через JTAGICE уже готовое железо на ATMega128, и там можно одновременно только 3 точки поставить по всей программе.

    DI HALT

    JTAG и Hapsim это несколько разные вещи и совершенно разные подходы в отладке.


  5. big_nik 17 Фев 2009 19:54

    А кто нибудь юзал симуляцию LCD в Hapsim? У меня не получилось, хотя взял работающую программу включил симуляцию, а он цобака какие-то ироглифы пишет. пытаюсь вывести латинские буковки и циферки

    DI HALT

    В хапсиме есть пример работы с LCD может ты подключил что неправильно. В живую проверял?

    Всякая фигня лезет когда дисплей нормально не инициализируется. Т.е. работает в 4 битном режиме, а думает что в восьмибитном. Инициализация отличается от дисплея к дисплею и не зная этих граблей может быть геморрой.


  6. berrymorr 18 Фев 2009 10:11

    тут все про оффтоп пишут, а у меня HAPSim Hook пишет: “AVR Simulator not loaded”.
    и - действительно! - текст “AVR Simulator” внизу в строке статуса студии серый, типа, неактивный. а вот как этот самый симулятор настроить?

    DI HALT

    У меня хапсим такое пишет когда студия не в режими симуляции.

    berrymorr

    эмм… а как её туда ввести?

    DI HALT

    Скомплиировать код и нажать режим эмуляции. Стрелочка зеленая такая.

    berrymorr

    оу… почувствовал себя идиотом))

    ruslan.popov

    А у меня не прокатывает. Поставил AVR Studio 4.17 + HapSim 216. Создал проект под ATtiny13, выбрал AVR Simulator. Собрал проект, запустил отладку. Метка AVR Simulator из серой стала чёрной. Запускаю HapSim, а он выкидывает окно с матами:
    “проверь наличие файла …/AVR Tools/Partdesciptionfiles/simulatorparts.cac”
    Проверяю, а нет такого файла.
    Что делать? Как быть?

    DI HALT

    У меня есть. Надо?

    ruslan.popov

    Наверное оно должно само создаваться?

    DI HALT

    Да фиг знает. Может студия криво встала или хапсим.

    Alex_Megavolt_79

    у меня так же просит этот файл

    Electroniq

    У меня та же трабла… Выложи плиз на сайт))

    Electroniq

    Fixed! У кого пишет что нет файла, поищите его на диске C в папке своих документов :)

    Electroniq

    Точнее в Documents and settinds\All users\Application data\atmel\avrstudio4


  7. Ridik911 14 Апр 2009 0:54

    я люблю этот мир
    хапсим пишет(скачал посл. версию с автора): я незнаю этой версии студии..
    ну дак впринципе понятно студяя новее.. блин.. качать старую версию студии.. нонсанс - давнгрейт! блина..

    portvein

    +1
    Чорд ;(
    Даунгрейд - форшмачен! А есть аналоги hapsim’а?

    Ridik911

    протеус поюзай.. ну далекоооо не аналог… мож понравиться
    (талкаеш прошивку и эмулируешь) для отладки - непомогает самособой

    DI HALT

    В протеусе можно и отлаживать. Прям по исходному коду, но надо поковыряться с его компилятором там весьма все запущено. Ну и работает глючно.

Оставьте свой отзыв

Вы должны войти, чтобы оставлять комментарии.


Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Реклама: