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

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

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


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

Сообщение aurifer »

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

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

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

Сообщение blackx »

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

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

Сообщение aurifer »

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

Сообщение blackx »

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

Сообщение aurifer »

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

Сообщение aurifer »

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

Сообщение blackx »

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

Сообщение SSMix »

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

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

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

Сообщение 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
Откуда: Курск-сити

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

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

Сообщение 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).
Спасибо, что смогли всё дочитать :)
Грызет канифоль
Аватара пользователя
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Сообщение 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 КБ) 724 скачивания
Последний раз редактировалось aurifer Сб фев 09, 2013 10:52:57, всего редактировалось 1 раз.
Вымогатель припоя
Аватара пользователя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

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

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

Сообщение aurifer »

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

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

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

Сообщение 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 Изображение
Грызет канифоль
Аватара пользователя
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Сообщение aurifer »

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

Сообщение blackx »

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

$make -f Makefile_hr clean

затем

$make -f Makefile_hr

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

Сообщение aurifer »

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

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