Японский WAV-плеер… по-русски
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Японский WAV-плеер… по-русски
Добрый день всем. Вопрос собственно не столько о статье( http://radiokot.ru/circuit/digital/game/32/ ) сколько о схеме, которую применил автор: http://elm-chan.org/works/sd8p/report.html
Можно ли изменить прошивку для attiny45?
Захотел я собрать музыкальную шкатулку на основе этой схемы, но не смог найти attiny85. Даже в ближайших городах. Заказал в Москве, но почта россии как всегда "оказалась на высоте". И сейчас посылка задерживается... Хотел сделать подарок любимой девушке на день влюбленных, но теперь не успеваю:-( Плата уже готова, схема спаяна, нехватает только контроллера...
Помогите кто может с прошивкой. Сам я не силён в программировании, только учусь.
Можно ли изменить прошивку для attiny45?
Захотел я собрать музыкальную шкатулку на основе этой схемы, но не смог найти attiny85. Даже в ближайших городах. Заказал в Москве, но почта россии как всегда "оказалась на высоте". И сейчас посылка задерживается... Хотел сделать подарок любимой девушке на день влюбленных, но теперь не успеваю:-( Плата уже готова, схема спаяна, нехватает только контроллера...
Помогите кто может с прошивкой. Сам я не силён в программировании, только учусь.
- Реклама
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Японский WAV-плеер… по-русски
Для Attiny45 ничего и менять не придется, если прошивка влезает в 4 килобайта и не использует более 256 байт RAM. А если памяти не хватает - то увы, очень врядли вы сможете это исправить.
ЗЫ. Не поленился, скачал прошивку и посчитал размер. Там чуть меньше 7 килобайт. Облом
ЗЫ. Не поленился, скачал прошивку и посчитал размер. Там чуть меньше 7 килобайт. Облом
only pure true norwegian blackx 
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Дело в том, что на другом сайте писали что там можно что-то выкинуть из прошивки, что не используется. Но я там ничего не понял. И к тому же в оригинальной статье упоминается attiny45. И еще, я так понял, в прошивке содержатся значения фузов.(этот момент я вообще не понял).
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Японский WAV-плеер… по-русски
По поводу выкинуть - с трудом верится, но признаюсь я не сильно код курил.
Да, в HEX-файл зашиваются фьюзы (описаны в main.c), их прошивающая программа должна определить и зашить прошивку в МК вместе с фьюзами. А если программа это не умеет, то руками надо.
Да, в HEX-файл зашиваются фьюзы (описаны в main.c), их прошивающая программа должна определить и зашить прошивку в МК вместе с фьюзами. А если программа это не умеет, то руками надо.
only pure true norwegian blackx 
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Откопал перевод оригинальной статьи http://radioded.ru/skhema-na-mikrokontr ... e-attiny85 где в комментах написано следующее:
"В исходнике куча кода для работы с дисплеем (которого я что-то не вижу) если его выкинуть то получится вполне легковесная прошивка которая без проблем влезет в 45-ю"
Сейчас сижу читаю комментарии и потом форум там же, может чего прояснится.
"В исходнике куча кода для работы с дисплеем (которого я что-то не вижу) если его выкинуть то получится вполне легковесная прошивка которая без проблем влезет в 45-ю"
Сейчас сижу читаю комментарии и потом форум там же, может чего прояснится.
- Реклама
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Проблема для меня в том, что я более или менее могу пользоваться только CVavr. А он эти исходники не совсем понимает.
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Японский WAV-плеер… по-русски
Ладно, попробую вам помочь чуть попозже, может получится собрать подходящий hex.
only pure true norwegian blackx 
Re: Японский WAV-плеер… по-русски
Я то же не видел в исходниках кода для работы с дисплеем. Даже и не знаю, что можно выкинуть из исходника для уменьшения объёма кода в 2 раза! По-моему, затея бесполезная.aurifer писал(а): "В исходнике куча кода для работы с дисплеем (которого я что-то не вижу) если его выкинуть то получится вполне легковесная прошивка которая без проблем влезет в 45-ю"
Re: Японский WAV-плеер… по-русски
http://www.getchip.net/posts/087-attiny ... ng-device/Может эта конструкция Вам поможет с мыслями?
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
выход, земля и питание.
Но трогать её не моги:
получится замыкание
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Спасибо всем, кто откликнулся. Про 45-ую подумал исходя из некоторых фраз на разных сайтах, но если никто так и не подтвердил такую возможность-значит не судьба. Тем более что 85-ая уже на подходе, надеюсь успею...
Возник ещё один вопрос: Как и чем из исходников Чана скомпилировать обычный hex, без фьюзов. Просто пользуюсь CVAVR, и он не понимает такие прошивки. И далее вопрос. Открыл файл main.c там есть такой кусок кода:
Какую именно строчку нужно убрать, чтобы сделать hex без фьюзов? И как расшифровать данные здесь фьюзы?
Возник ещё один вопрос: Как и чем из исходников Чана скомпилировать обычный 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. */
Последний раз редактировалось aurifer Сб фев 09, 2013 10:41:12, всего редактировалось 1 раз.
Re: Японский WAV-плеер… по-русски
aurifer,насколько я понял из приведённого Вами куска кода,это не биты конфигурации мк,а переключатель стерео -моно,поэтому если эти строки удалить то не услышите свою мелодию.Попробуйте авр студию.
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
выход, земля и питание.
Но трогать её не моги:
получится замыкание
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
И несколько вопросов к "SSMix", да, и ко всем тоже.
Вы делали свою прошивку на основе последней версии Чана (октября 2, 2012) или более ранней? Хочется ваш принцип управления и новые изменения от Чана.
Я так понимаю, в вашем проекте фьюзы выставляются обычным образом?
И объясните пожалуйста как правильно понять эти строки:
Почему несколько нулей, или почему такая запись? С остальными понятно, либо да, либо нет.
"AVR Studio" и "Atmel Studio" это одно и тоже? Если да, тогда почему Atmel Studio не видит ИМЕННО проект, а только ОТДЕЛЬНЫЕ файлы?
И наконец, почему у вас в папке несколько файлов hex? Какой из них зашивать? И как правильно использовать прошивку, которую вы дали в текстовом виде?(применительно к CVAVR).
Спасибо, что смогли всё дочитать
Вы делали свою прошивку на основе последней версии Чана (октября 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-плеер… по-русски
А как тогда понимать эту фразу:Дрон писал(а):это не биты конфигурации мк,а переключатель стерео -моно,поэтому если эти строки удалить то не услышите свою мелодию.
"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).
Последний раз редактировалось aurifer Сб фев 09, 2013 10:52:57, всего редактировалось 1 раз.
Re: Японский WAV-плеер… по-русски
SUT1_0,SUT0_0;SKSEL3_0,SKSEL2_0,SKSEL1_0,SKSEL0_1 и тп или вы о чёмто другом?атмел студией не пользовался,SUT10=00
CKSEL3..0=0001
Почему несколько нулей, или
почему такая запись?
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
выход, земля и питание.
Но трогать её не моги:
получится замыкание
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Так я спрашиваю, почему именно так "SUT10=00 " написано, а не просто "SUT1_0" Честно говоря я так и не понял как правильно выставить фьюзы, я понимаю только "запрограммировать" и "оставить как есть"(или ноль или единица)
Сильно не пинайте...
Сильно не пинайте...
Re: Японский WAV-плеер… по-русски
aurifer,написать можно и так и так это одно и тоже,0_запрограмировать,1_стереть.например бешанной лошадь надо ставить галочки как я расписал,синой прог(я от неё тащусь) такой гемор не нужен .
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
выход, земля и питание.
Но трогать её не моги:
получится замыкание
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Японский WAV-плеер… по-русски
Отвечу я.
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.
наверное у меня карма испортилась
Таким образом задаются именно фьюзы МК, которые выставляются программатором (если он это поддерживает). Есть три фьюз байта -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-ы собираются разными makefile-ами. Они различаются только установкой значения MODE (0, 1, 2, 3) при компиляции. Про них нашлось вот что:И наконец, почему у вас в папке несколько файлов hex?
ЗЫ. Почему-то сегодня код не хочет собираться через makeMode 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.
only pure true norwegian blackx 
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
Ладно, пока я всё это переварю, изучу... Обещаю разобраться.
Расскажите пожалуйста пошагово как мне прошить контроллер этими прошивками. Как скомпилировать ОБЫЧНЫЙ hex файл и записать обычным образом фьюзы?
Помогите пожалуйста.
Расскажите пожалуйста пошагово как мне прошить контроллер этими прошивками. Как скомпилировать ОБЫЧНЫЙ hex файл и записать обычным образом фьюзы?
Помогите пожалуйста.
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: Японский WAV-плеер… по-русски
А что у вас за программатор? Как скомпилить тут я не знаю, тут асм и Си вперемешку... пользуйтесь приложенными файлами Makefile для нужного режима. Для сборки нужна утилита make, которая входит в состав Cygwin (или msys):
$make -f Makefile_hr clean
затем
$make -f Makefile_hr
это запускает сборку hex-а.
$make -f Makefile_hr clean
затем
$make -f Makefile_hr
это запускает сборку hex-а.
only pure true norwegian blackx 
- aurifer
- Грызет канифоль
- Сообщения: 286
- Зарегистрирован: Ср ноя 28, 2012 05:16:37
- Откуда: Новотроицк Оренбургской обл.
Re: Японский WAV-плеер… по-русски
А где можно почитать подробнее? Программатор stk500.


