• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Помогите с программированием AT90S2343

  • Автор темы chorniy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

chorniy

Чем запрограммировать AT90S2343 и как включить внутрений RC-осцилятор?
 
S

STAP

Чем запрограммировать AT90S2343 и как включить внутрений RC-осцилятор?
Тебе нужен ISP программатор и программа Uniprof сам пользуюсь проблем никаких.
Вот программа.Схема подключения ищи в помощи она там есть.Но знай что при програмирование
др. контроллеров серии AT90S,Tinny,Mega без внутреннего генератора нужно подключить кварц на
соответствующие выводы. На счет RC , нужно в исходном тексте программы или в програматоре отключить бит осцилятора.
 

Вложения

  • uniprof20jan6.zip
    636,4 КБ · Просмотры: 799
N

nml

<!--QuoteBegin-chorniy+9:05:2005, 02:04 -->
<span class="vbquote">(chorniy @ 9:05:2005, 02:04 )</span><!--QuoteEBegin-->Чем запрограммировать AT90S2343 и как включить внутрений RC-осцилятор?[/quote]

Как автор Uniprof-а замечу, что на 2343 я его не проверял - просто не было в руках. Посему буду благодарен за инфо о успешности (или не-) прожига...

2 STAP:

- 2343 поставляется с включенным RC генератором
- кварц к нему не подключается, только внешний ГЕНЕРАТОР
- и в тексте программы ничего не отключается. Это не PIC.
 
S

STAP

Отвечаю вам что на Uniprof я прошил множество контроллеров AVR 2343 тоже програмируется была одна проблема с AT90S1200 прошить не смог или контроллер глюк был, а прога Algorithm Boilder вообще сообщила что контроллер не производства Atmel. Uniprof очень хорошая прога главное удобная СПОСИБО ВАМ. У меня к вам вопрос я вообщето новичек в написании программ для AVR могли бы вы скинуть мне на мыло какую-нибудь обучающию информацию.Stap8484@mail.ru Заранее благодарен.
 
N

nml

Отвечаю вам что на Uniprof я прошил множество контроллеров AVR 2343 тоже програмируется
Это хорошо... Проверить все просто нет возможности, а запутаться в сигнатурах запросто.
была одна проблема с AT90S1200 прошить не смог или контроллер глюк был, а прога Algorithm Boilder вообще сообщила что контроллер не производства Atmel.
Значит, скорее всего либо дохлый, либо еще что. С 1200 тоже дела не имел - вообще он сейчас, на мой взгляд, никакого смысла уже не имеет - возможностей у него кот наплакал, а та же мега8 стоит сейчас 1.5-2$... Так в ней же периферии в 10 раз больше. Не, 1200 думаю место в архиве (или на помойке :)
У меня к вам вопрос я вообщето новичек в написании программ для AVR могли бы вы скинуть мне на мыло какую-нибудь обучающию информацию.
Да я и не знаю что сказать-то... Лучшая информация - это даташит :) Ну вообще вроде был неплохой курс по авр-кам - вот точно не упомню - кажется avr123 или похоже... Поиском попробуйте. Ну в случае чего можно и ко мне в аську с пивом постучаться :)
 
S

STAP

:) Здравствуйте, это снова я. Хотелось бы с вами сотрудничеть, то есть советоваться так-как в моем городе
никто совета мне не даст, у нас 4 человека профи, и то специализация на ПИК. Я работаю в рекламе делаю контроллеры световых эффектов и хотелось изменить мне приевшуюся "мегалку" на солидные эффекты :blink: Ближе к теме! Хочу сделать контроллер с плавным гашением и зажиганием светодиодов, для этого нужно програмно реализовать ШИМ, но как это сделать не знаю, искал в инете, безнадежно ПОМОГИТЕ! И еще если хотите давайте обсудим файл. Кстати я в инете с 12:00 вечера или с 5:00 вечера, а АСЬКИ у меня нет.
 

Вложения

  • ______WinRAR.rar
    23,2 КБ · Просмотры: 348
N

nml

Каком?
делаю контроллеры световых эффектов и хотелось изменить мне приевшуюся "мегалку" на солидные эффекты :) Ближе к теме! Хочу сделать контроллер с плавным гашением и зажиганием светодиодов, для этого нужно програмно реализовать ШИМ, но как это сделать не знаю, искал в инете, безнадежно
Что ж так пессимистично...
Нет ничего безнадежного кроме смерти :)
ПОМОГИТЕ! И еще если хотите давайте обсудим файл.
Ну для начала надо бы озвучить требования к девайсу. Трудно советовать, не зная что надо получить. А по схеме... Ничего я в ней не понял - вопервых не читается, во вторых - МК один, пины явно не его... И вообще, давайте форум не засорять - welcome в мыло или аську...
 
Z

zubr

<!--QuoteBegin-nml+13:06:2006, 10:04 -->
<span class="vbquote">(nml @ 13:06:2006, 10:04 )</span><!--QuoteEBegin-->Тебе нужен ISP программатор и программа Uniprof сам пользуюсь проблем никаких.
Вот программа.Схема подключения ищи в помощи она там есть.Но знай что при програмирование
др. контроллеров серии AT90S,Tinny,Mega без внутреннего генератора нужно подключить кварц на
соответствующие выводы. На счет RC , нужно в исходном тексте программы или в програматоре отключить бит осцилятора.
[snapback]37924" rel="nofollow" target="_blank[/snapback]​
[/quote]
В принципе ничего не имею против Uniprof, но рекомендую собрать проверенный клон AVRISP: [snapback]37998" rel="nofollow" target="_blank[/snapback]</div>[/quote]
Присоединяюсь к тому, что "Лучшая информация -это датшит", кроме того можно пользоваться русскоязычными книгами по AVR ( "Микроконтроллеры семейства AVR фирмы ATMEL" , "Микроконтроллеры AVR семейства TINY и MEGA фирмы ATMEL" , "Применение микроконтроллеров AVR. Схемы, алгоритмы, программы" и т.п. ), которые можно без особого труда найти в электронном виде в сети. Ну и конечно же общение с квалифицированными специалистами на специализированных форумах (типа electronix.ru и ему подобным). А вот по поводу обучающего курса avr123- я бы не рекомендовал пользоваться этим ресурсом, особенно начинающему эмбиддеру, автор этого ресурса ИМХО учит не тому и не так, поскольку сам является начинающим (как он сам о себе пишет "ЧАЙНИКОМ")...
 
N

nml

- железо программатора разработано под com-порт (встречаются варианты под-USB), что придает программатору более высокую надежность и помехозащищенность (по сравнению с LPT-программаторами).
Uniprof работает и с LPT, и с COM портами. Основное его преимущество и отличие от остальных - предельная простота - как раз для начинающих. Еще один плюс - возможность реалтайм-отладки, но это уже было сделано под свои руки.
avr123- я бы не рекомендовал пользоваться этим ресурсом, особенно начинающему эмбиддеру, автор этого ресурса ИМХО учит не тому и не так, поскольку сам является начинающим (как он сам о себе пишет "ЧАЙНИКОМ")...
Все мы чайники. Работая с микроконтроллерами, надо учиться всегда. Я, например, вовсе не называю себя профи, хотя с микроконтроллерами работаю давно, еще с 8048 начинал. Ну а насчет его курса... Скажем так, я считаю, что начинать надо с ассемблера - чтобы "прочувствовать" архитектуру. Он считает по другому. Но это вовсе не значит, что он не прав. Возможно, что не прав я. Потому как так уж сложилось, что вообще свое знакомство с программированием начинал с клавиатурного монитора Электроники-60 - то есть программируя в кодах даже, а не во мнемониках. Надо ли это сейчас - я уже не уверен.
 
Z

zubr

Uniprof работает и с LPT, и с COM портами.
Это хорошо.
Основное его преимущество и отличие от остальных - предельная простота - как раз для начинающих.
С одной стороны хорошо (это о простоте), а с другой - черезмерная простота приводит к ухудшению например надежности и безопасности (это я о "пяти проводках" поключаемых к LPT порту). Или другой пример: адаптер SIprog для Понипрога. Вроде бы все ничего: и дешево и просто и подключается к com-порту, только вот линия MISO подается на вход CTS com-порта без преобразования уровня сигнала, я считаю, что такое упрощение идет в ущерб помехозащищенности. Хотя в своем арсенале нужно иметь что-то простенькое, хотя бы для того чтобы залить прошивки в AVRISP и JTAGICE... Хотел посмотреть на Ваш адаптер для com-порта, да не смог пробиться на Вашу домашнюю страницу...
Еще один плюс - возможность реалтайм-отладки, но это уже было сделано под свои руки.
Для отладки, считаю, гораздо удобнее использовать JTAGICE, даже несмотря на то, что он не все модели поддерживает...
Все мы чайники. Работая с микроконтроллерами, надо учиться всегда. Я, например, вовсе не называю себя профи, хотя с микроконтроллерами работаю давно, еще с 8048 начинал. Ну а насчет его курса... Скажем так, я считаю, что начинать надо с ассемблера - чтобы "прочувствовать" архитектуру. Он считает по другому. Но это вовсе не значит, что он не прав. Возможно, что не прав я. Потому как так уж сложилось, что вообще свое знакомство с программированием начинал с клавиатурного монитора Электроники-60 - то есть программируя в кодах даже, а не во мнемониках. Надо ли это сейчас - я уже не уверен.
Я не рекомендую пользоваться этим ресурсом потому, что там встречались грубые, на мой взгляд (и не только на мой), ошибки, которые новички, незадумываясь, начинают копировать при разработке собственных проектов (например использование длительных пауз в обработчиках прерываний). Для обучения гораздо полезнее (и выгоднее потратить время) на изучение многочисленных аппноутов, разработанных ATMEL-ом, кстати некоторые из них переведены на русский на gaw.ru.
 
N

nml

Хотел посмотреть на Ваш адаптер для com-порта, да не смог пробиться на Вашу домашнюю страницу...
Оба-на... точно... Утром заходил, все работало. По FTP вижу. Надо опять с хостером ругаться :-(
Схема моя взята у Громова (Algorithm Builder) с его разрешения.
Впрочем, кажется, хостинг заработал уже. Бывают у него, к сожалению, глюки... Но зато дешевый :)

Что касается житага - то я им не пользовался, пока хватает своего (он был сделан давно, житага тогда по сути и не было в обычных АВРках). Он дает возможность реалтайма?
(например использование длительных пауз в обработчиках прерываний).
Согласен, это безграмотно.
Я сам ту страничку особо не смотрел - мне оно вроде не надобно :) А народ хвалил вроде. Буду в следующий раз внимательнее
 
Z

zubr

<!--QuoteBegin-nml+16:06:2006, 10:48 -->
<span class="vbquote">(nml @ 16:06:2006, 10:48 )</span><!--QuoteEBegin-->Что касается житага - то я им не пользовался, пока хватает своего (он был сделан давно, житага тогда по сути и не было в обычных АВРках). Он дает возможность реалтайма?
[snapback]38209" rel="nofollow" target="_blank[/snapback]​
[/quote]
И реалтайм, и пошаговая отладка, и точки останова, и просмотр/модификацию SFR, SRAM, и поддержка С, и возможность программирования...
 
N

nml

И реалтайм, и пошаговая отладка, и точки останова, и просмотр/модификацию SFR, SRAM, и поддержка С, и возможность программирования...

И, как я понимаю, требуется некоторое "железо" для подключения. Это минус, особенно для начинающего. Особо меня умиляют программаторы АВРок сделанные на основе АВРки :)

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

И еще - что значит "поддержка Си"?
 
Z

zubr

<!--QuoteBegin-nml+16:06:2006, 11:39 -->
<span class="vbquote">(nml @ 16:06:2006, 11:39 )</span><!--QuoteEBegin-->И, как я понимаю, требуется некоторое "железо" для подключения.
[snapback]38215" rel="nofollow" target="_blank[/snapback]​
[/quote]
Конечно.<!--QuoteBegin-nml+16:06:2006, 11:39 -->
<span class="vbquote">(nml @ 16:06:2006, 11:39 )</span><!--QuoteEBegin-->Это минус, особенно для начинающего.
[snapback]38215" rel="nofollow" target="_blank[/snapback]​
[/quote]
Для того, чтобы что-то запрограммировать и отладить "некоторое железо" потребуется в любом случае. И, чтобы первый проект не закончился выжженным портом в компьютере и истошным воплем на форуме "ПАМАГИТЕ..." лучше потратить некоторое время и собрать надежное железо, ну или купить его если руки не туда заточены.
<!--QuoteBegin-nml+16:06:2006, 11:39 -->
<span class="vbquote">(nml @ 16:06:2006, 11:39 )</span><!--QuoteEBegin-->Особо меня умиляют программаторы АВРок сделанные на основе АВРки :)
[snapback]38215" rel="nofollow" target="_blank[/snapback]​
[/quote]
В свое время создавал для себя программатор для PIC-ов под LPT-порт (без контроллера) и столкнулся с проблемой мало мальски точно реализовать задержку в 5-6 мс работая под WIN, после того случая использование контроллеров в программаторах меня нисколько не удивляет...
<!--QuoteBegin-nml+16:06:2006, 11:39 -->
<span class="vbquote">(nml @ 16:06:2006, 11:39 )</span><!--QuoteEBegin-->А вот точки останова и пошаговая отладка - да, это с моей системой невозможно. Правда, я как-то привык без них обходиться...
[snapback]38215" rel="nofollow" target="_blank[/snapback]​
[/quote]
Это только делает Вам честь :unsure:. А вот я немогу отказать себе в удовольствии там сям погонять проблемные места в коде при помощи эмулятора...
<!--QuoteBegin-nml+16:06:2006, 11:39 -->
<span class="vbquote">(nml @ 16:06:2006, 11:39 )</span><!--QuoteEBegin-->И еще - что значит "поддержка Си"?
[snapback]38215" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я имел в виду пошаговую отладку в с-шных кодах.
 
N

nml

В свое время создавал для себя программатор для PIC-ов под LPT-порт (без контроллера) и столкнулся с проблемой мало мальски точно реализовать задержку в 5-6 мс работая под WIN, после того случая использование контроллеров в программаторах меня нисколько не удивляет...

Как раз на LPT такая задержка делается элементарно... Хотя, этого не зная, я как раз первый программатор свой делал на микроконтроллере.

Дело в том, что обращение к порту принтера на любом последнем пне работает достаточно долго, во всяком случае, на порядки дольше, чем следовало бы исходя из тактовой... Наверное, это все делается аппаратно для совместимости со старым софтом - когда в ДОСе строб формировался двумя последовательными командами...

А вот использование в программатора АВРрок той же АВРки - все же немного странно... Ее ведь тоже надо чем-то запрограммировать :)
 
Z

zubr

<!--QuoteBegin-nml+19:06:2006, 11:44 -->
<span class="vbquote">(nml @ 19:06:2006, 11:44 )</span><!--QuoteEBegin-->Как раз на LPT такая задержка делается элементарно... Хотя, этого не зная, я как раз первый программатор свой делал на микроконтроллере.
[snapback]38424" rel="nofollow" target="_blank[/snapback]​
[/quote]
Интересно было бы узнать как. Даже в режиме ядра не получалось точно обеспечить задержку. Похоже это проблема всех многозадачных систем.
<!--QuoteBegin-nml+19:06:2006, 11:44 -->
<span class="vbquote">(nml @ 19:06:2006, 11:44 )</span><!--QuoteEBegin-->Дело в том, что обращение к порту принтера на любом последнем пне работает достаточно долго, во всяком случае, на порядки дольше, чем следовало бы исходя из тактовой..
[snapback]38424" rel="nofollow" target="_blank[/snapback]​
[/quote]
Даже обращение напрямую к драйверу порта не решает проблему точности задержек, имхо.
<!--QuoteBegin-nml+19:06:2006, 11:44 -->
<span class="vbquote">(nml @ 19:06:2006, 11:44 )</span><!--QuoteEBegin-->А вот использование в программатора АВРрок той же АВРки - все же немного странно... Ее ведь тоже надо чем-то запрограммировать :)
[snapback]38424" rel="nofollow" target="_blank[/snapback]​
[/quote]
Проблема относительно легко решаема. Как я уже писал выше, под рукой нужно иметь простенький программатор (я по быструхе собрал SIprog для понипрога) при помощи которого и залить один раз прошивку. Многие на таких простеньких программаторах и останавливаются, но я не встретил еще ни одного простого программатора (без МК) без существенных технических недостатков.
 
N

nml

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

Я не скажу точно, КАК это получается. Просто я знаю, что это работает.

Дело быо так. Первый программатор - был на МК. Пришла идея сделать предельно простой такой же девайс, как раз для начинающих, без МК. Долго думал над проблемой задержек. А потом просто поставил эксперимент - в цикле переключал пин LPT порта и глянул осциллографом. Период был, кажется, около 1 мкс на пентиуме-порядка 800-го. Что явно не лезло в теорию.

Я тогда решил - ну и нафиг ее, теорию эту :)

Ну а вообще-то в этой задаче не нужно ТОЧНОЕ время. Нужно - чтобы период был НЕ МЕНЕЕ. А вот это на пнях решается опросом счетчика тиков процессора. То есть - при старте - задержка на 1 сек системными средствами. Перед и после - засечка этого счетчика. Далее, думаю, понятно.

Но вот на ноутбуке (HP 6100, PIV-1ГГц) это почему - то не работает. Видимо, ноутбучные процессоры несколько своеобразны (ну там экономия энергии и т.д.)

но я не встретил еще ни одного простого программатора (без МК) без существенных технических недостатков.
И на солнце есть пятна... Но мы с ними миримся как-то, тем более что особого влияния на нашу жизнь они не оказывают. Так и с программатором.
Да, кстати, а что считается СУЩЕСТВЕННЫМ недостатком?
 
Z

zubr

<!--QuoteBegin-nml+20:06:2006, 16:49 -->
<span class="vbquote">(nml @ 20:06:2006, 16:49 )</span><!--QuoteEBegin-->Я не скажу точно, КАК это получается. Просто я знаю, что это работает.

Дело быо так. Первый программатор - был на МК. Пришла идея сделать предельно простой такой же девайс, как раз для начинающих, без МК. Долго думал над проблемой задержек. А потом просто поставил эксперимент - в цикле переключал пин LPT порта и глянул осциллографом. Период был, кажется, около 1 мкс на пентиуме-порядка 800-го. Что явно не лезло в теорию.

Я тогда решил - ну и нафиг ее, теорию эту :)

Ну а вообще-то в этой задаче не нужно ТОЧНОЕ время. Нужно - чтобы период был НЕ МЕНЕЕ. А вот это на пнях решается опросом счетчика тиков процессора. То есть - при старте - задержка на 1 сек системными средствами. Перед и после - засечка этого счетчика. Далее, думаю, понятно.

Но вот на ноутбуке (HP 6100, PIV-1ГГц) это почему - то не работает. Видимо, ноутбучные процессоры несколько своеобразны (ну там экономия энергии и т.д.)
[snapback]38555" rel="nofollow" target="_blank[/snapback]​
[/quote]
Я решал проблему аналогичным способом + устанавливал высокий приоритет своему процессу. Но та точность, которую удалось получить не впечатлила. Да и алгоритм работы не очень-то рациональный: перед тем как что-то вывести через порт нужно сделать, что- то вроде калибровки (определить сколько тиков в единицу времени при текущей структуре задач системы), затем выводить данные при этом желательно сохранить те же условия работы системы при которых проводилась калибровка , причем не факт, что это на 100% поможет, ведь в момент калибровки может выполняться очередной цикл какого-нибудь фонового процесса, а в момент вывода данных он уже выполняться не будет (или наоборот). А тут еще выясняется, что это не везде работает (это я о мобильных процессорах). В общем не сильно красиво выходит. <!--QuoteBegin-nml+20:06:2006, 16:49 -->
<span class="vbquote">(nml @ 20:06:2006, 16:49 )</span><!--QuoteEBegin-->Ну а вообще-то в этой задаче не нужно ТОЧНОЕ время. Нужно - чтобы период был НЕ МЕНЕЕ
[snapback]38555" rel="nofollow" target="_blank[/snapback]​
[/quote]
Да, при последовательном программировании AVR-ов...
<!--QuoteBegin-nml+20:06:2006, 16:49 -->
<span class="vbquote">(nml @ 20:06:2006, 16:49 )</span><!--QuoteEBegin-->И на солнце есть пятна... Но мы с ними миримся как-то, тем более что особого влияния на нашу жизнь они не оказывают. Так и с программатором.
[snapback]38555" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может я чего путаю, но помоему пятна на солнце связаны с взрывами на этом самом солнце, в результате чего возникают магнитные бури и прочие неприятные явления, которые приводят к тому, что где-нибудь сбоит аппаратура (а то и вообще выходит из строя), а некоторые люди чувствуют недомогание ;) <!--QuoteBegin-nml+20:06:2006, 16:49 -->
<span class="vbquote">(nml @ 20:06:2006, 16:49 )</span><!--QuoteEBegin-->Да, кстати, а что считается СУЩЕСТВЕННЫМ недостатком?
[snapback]38555" rel="nofollow" target="_blank[/snapback]​
[/quote]
Мне проще привести несколько примеров этих самых недостатков (естественно это только мое мнение).
-Использование параллельного порта для подключения программатора.
-В адаптерах для com-портов отсутствие преобразования уровня сигнала cнимаемого с вывода MISO программируемого контроллера (этим недостатком страдает SIprog, да и тот адаптер, на который Вы ссылаетесь на своем сайте).
- Отсутствие возможности внутрисхемного программирования при низком напряжении питания контроллера (3,3 В).
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!