Японский WAV-плеер… по-русски

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Японский WAV-плеер… по-русски

Сообщение aurifer »

Добрый день всем. Вопрос собственно не столько о статье( http://radiokot.ru/circuit/digital/game/32/ ) сколько о схеме, которую применил автор: http://elm-chan.org/works/sd8p/report.html

Можно ли изменить прошивку для attiny45?

Захотел я собрать музыкальную шкатулку на основе этой схемы, но не смог найти attiny85. Даже в ближайших городах. Заказал в Москве, но почта россии как всегда "оказалась на высоте". И сейчас посылка задерживается... Хотел сделать подарок любимой девушке на день влюбленных, но теперь не успеваю:-( Плата уже готова, схема спаяна, нехватает только контроллера...
Помогите кто может с прошивкой. Сам я не силён в программировании, только учусь.
Реклама
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Японский WAV-плеер… по-русски

Сообщение blackx »

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

ЗЫ. Не поленился, скачал прошивку и посчитал размер. Там чуть меньше 7 килобайт. Облом :(
Изображение only pure true norwegian blackx Изображение
Реклама
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Дело в том, что на другом сайте писали что там можно что-то выкинуть из прошивки, что не используется. Но я там ничего не понял. И к тому же в оригинальной статье упоминается attiny45. И еще, я так понял, в прошивке содержатся значения фузов.(этот момент я вообще не понял).
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Японский WAV-плеер… по-русски

Сообщение blackx »

По поводу выкинуть - с трудом верится, но признаюсь я не сильно код курил.
Да, в HEX-файл зашиваются фьюзы (описаны в main.c), их прошивающая программа должна определить и зашить прошивку в МК вместе с фьюзами. А если программа это не умеет, то руками надо.
Изображение only pure true norwegian blackx Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Откопал перевод оригинальной статьи http://radioded.ru/skhema-na-mikrokontr ... e-attiny85 где в комментах написано следующее:
"В исходнике куча кода для работы с дисплеем (которого я что-то не вижу) если его выкинуть то получится вполне легковесная прошивка которая без проблем влезет в 45-ю"
Сейчас сижу читаю комментарии и потом форум там же, может чего прояснится.
Реклама
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Проблема для меня в том, что я более или менее могу пользоваться только CVavr. А он эти исходники не совсем понимает.
Реклама
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Японский WAV-плеер… по-русски

Сообщение blackx »

Ладно, попробую вам помочь чуть попозже, может получится собрать подходящий hex.
Изображение only pure true norwegian blackx Изображение
SSMix
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт окт 01, 2009 13:22:15

Re: Японский WAV-плеер… по-русски

Сообщение SSMix »

aurifer писал(а): "В исходнике куча кода для работы с дисплеем (которого я что-то не вижу) если его выкинуть то получится вполне легковесная прошивка которая без проблем влезет в 45-ю"
Я то же не видел в исходниках кода для работы с дисплеем. Даже и не знаю, что можно выкинуть из исходника для уменьшения объёма кода в 2 раза! По-моему, затея бесполезная.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: Японский WAV-плеер… по-русски

Сообщение Дрон »

http://www.getchip.net/posts/087-attiny ... ng-device/Может эта конструкция Вам поможет с мыслями?
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Спасибо всем, кто откликнулся. Про 45-ую подумал исходя из некоторых фраз на разных сайтах, но если никто так и не подтвердил такую возможность-значит не судьба. Тем более что 85-ая уже на подходе, надеюсь успею...

Возник ещё один вопрос: Как и чем из исходников Чана скомпилировать обычный hex, без фьюзов. Просто пользуюсь CVAVR, и он не понимает такие прошивки. И далее вопрос. Открыл файл main.c там есть такой кусок кода:

Код: Выделить всё

#ifndef MODE
#error Wrong make file.
#endif
#if   MODE == 0	/* Single output */
FUSES = {0xE1, 0xDD, 0xFF};	/* Fuse bytes for mono: Low, High and Extended */
#else			/* Dual output */
FUSES = {0xE1, 0x7D, 0xFF};	/* Fuse bytes for stereo and mono-HR: Low, High and Extended (*HVS mode only*) */
#endif
/* This is the fuse settings of this project. The fuse data will be included
in the output hex file with program code. However some old flash programmers
cannot load the fuse bits from hex file. If it is the case, remove this line
and use these values to program the fuse bits. */
Какую именно строчку нужно убрать, чтобы сделать hex без фьюзов? И как расшифровать данные здесь фьюзы?
Последний раз редактировалось aurifer Сб фев 09, 2013 10:41:12, всего редактировалось 1 раз.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: Японский WAV-плеер… по-русски

Сообщение Дрон »

aurifer,насколько я понял из приведённого Вами куска кода,это не биты конфигурации мк,а переключатель стерео -моно,поэтому если эти строки удалить то не услышите свою мелодию.Попробуйте авр студию.
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

И несколько вопросов к "SSMix", да, и ко всем тоже.

Вы делали свою прошивку на основе последней версии Чана (октября 2, 2012) или более ранней? Хочется ваш принцип управления и новые изменения от Чана.

Я так понимаю, в вашем проекте фьюзы выставляются обычным образом?
И объясните пожалуйста как правильно понять эти строки:

Код: Выделить всё

SUT10=00             14CK + 1K (1024) CK + 4 ms, BOD enabled
  CKSEL3..0=0001       High Frequency PLL Clock Operating Modes
  BODLEVEL2...0=101    Brown-Out Detection = 2.7V
Почему несколько нулей, или почему такая запись? С остальными понятно, либо да, либо нет.

"AVR Studio" и "Atmel Studio" это одно и тоже? Если да, тогда почему Atmel Studio не видит ИМЕННО проект, а только ОТДЕЛЬНЫЕ файлы?

И наконец, почему у вас в папке несколько файлов hex? Какой из них зашивать? И как правильно использовать прошивку, которую вы дали в текстовом виде?(применительно к CVAVR).
Спасибо, что смогли всё дочитать :)
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Дрон писал(а):это не биты конфигурации мк,а переключатель стерео -моно,поэтому если эти строки удалить то не услышите свою мелодию.
А как тогда понимать эту фразу:

"This is the fuse settings of this project. The fuse data will be included
in the output hex file with program code. However some old flash programmers
cannot load the fuse bits from hex file. If it is the case, remove this line
and use these values to program the fuse bits."

"Это параметры фьюзов этого проекта. Фьюз данные будут включены в выходной файл hex с кодом программы. Однако некоторые старые программаторы не смогут загрузить фьюзы из hex файла. Если это так, удалите эту строку и используйте эти значения, чтобы запрограммировать фьюзы."
Дрон писал(а):Попробуйте авр студию.
Пробовал Atmel Studio, но он видит только ОТдельные файлы(или я не догоняю). Вообще, как там компилировать проект?

Вот полностью исходники Чана(2 окт 2012).
sd8psrc_исходник.rar
(194.1 КБ) 723 скачивания
Последний раз редактировалось aurifer Сб фев 09, 2013 10:52:57, всего редактировалось 1 раз.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: Японский WAV-плеер… по-русски

Сообщение Дрон »

SUT10=00
CKSEL3..0=0001
Почему несколько нулей, или
почему такая запись?
SUT1_0,SUT0_0;SKSEL3_0,SKSEL2_0,SKSEL1_0,SKSEL0_1 и тп или вы о чёмто другом?атмел студией не пользовался,
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Так я спрашиваю, почему именно так "SUT10=00 " написано, а не просто "SUT1_0" Честно говоря я так и не понял как правильно выставить фьюзы, я понимаю только "запрограммировать" и "оставить как есть"(или ноль или единица)
Сильно не пинайте...
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: Японский WAV-плеер… по-русски

Сообщение Дрон »

aurifer,написать можно и так и так это одно и тоже,0_запрограмировать,1_стереть.например бешанной лошадь надо ставить галочки как я расписал,синой прог(я от неё тащусь) такой гемор не нужен .
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Японский WAV-плеер… по-русски

Сообщение blackx »

Отвечу я.
FUSES = {0xE1, 0xDD, 0xFF};
Таким образом задаются именно фьюзы МК, которые выставляются программатором (если он это поддерживает). Есть три фьюз байта -
lfuse, hfuse и efuse - low, high и extended. Они определяют вообще все фьюз биты МК.
Насколько я знаю, они заносятся в выходной *.elf файл, в hex не попадают (это фича avrgcc).
Список фьюзов можно посмотреть в файлах avr-gcc, вроде тут WinAVR/avr/include/avr. Подробнее можно почитать в мануале http://www.nongnu.org/avr-libc/user-man ... _fuse.html.
Почему в коде просят удалить эти строки, если программатор не поддерживает фузы не знаю. Придется как-то руками их заносить. В avrdude например это просто конструкциями типа hfuse:w:0xDD:m или lfuse:w:0xE1:m.
И наконец, почему у вас в папке несколько файлов hex?
Разные hex-ы собираются разными makefile-ами. Они различаются только установкой значения MODE (0, 1, 2, 3) при компиляции. Про них нашлось вот что:
Mode 0 : Level trigger
Plays a sound file corresponds to the input code in auto-repeat. When the input code is changed, the sound also be changed. When the input goes off(0), the audio output is stopped.
Mode 1 : Level trigger (sustained)
Same as mode 0 but the file is played until end of the file and then stopped when the input goes off.
Mode 2 : Edge trigger
Plays a sound file corresponds to the input code once. Any code change while a sound will be ignored.
Mode 3 : Edge trigger (re-triggerable)
Same as mode 2 but the code change is accepted while the sound. To re-rtigger with the same code, return 0 and input the code again.
ЗЫ. Почему-то сегодня код не хочет собираться через make :( наверное у меня карма испортилась
Изображение only pure true norwegian blackx Изображение
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

Ладно, пока я всё это переварю, изучу... Обещаю разобраться.
Расскажите пожалуйста пошагово как мне прошить контроллер этими прошивками. Как скомпилировать ОБЫЧНЫЙ hex файл и записать обычным образом фьюзы?
Помогите пожалуйста.
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Японский WAV-плеер… по-русски

Сообщение blackx »

А что у вас за программатор? Как скомпилить тут я не знаю, тут асм и Си вперемешку... пользуйтесь приложенными файлами Makefile для нужного режима. Для сборки нужна утилита make, которая входит в состав Cygwin (или msys):

$make -f Makefile_hr clean

затем

$make -f Makefile_hr

это запускает сборку hex-а.
Изображение only pure true norwegian blackx Изображение
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Японский WAV-плеер… по-русски

Сообщение aurifer »

А где можно почитать подробнее? Программатор stk500.
Ответить

Вернуться в «Статьи»