my504 Опубликовано 3 января, 2018 Поделиться Опубликовано 3 января, 2018 10 часов назад, dim3740 сказал: а в том, что типовая библиотека не может "пробиться" к МИДИ. Не совсем понятно что Вы называете "типовой" библиотекой. Есть USB-стек, который реализован в девайсе. Этот стек может работать и как один класс устройства и как несколько. Если Вы взяли в качестве "библиотеки" только HID-класс, то ясень пень, что работать как CDC или Mass Storage оно не будет. Каждый реализуемый в комбинированном устройстве класс требует отдельного endpoint-а. Каждый endpoint - суть есть порт в девайсе. Все зависит от доступного количества endpoint-ов в данном МК. А вообще, типовой стек USB под разные классы производители МК обычно дают. Но применять его как библиотечные функции совершенно невозможно. Его нужно допиливать под собственную задачу. Это собственно не библиотека, а референсный код. В таком случае нижние уровни стека общие для всех классов, а верхние разные. Достаточно несложно скомбинировать такого рода код под свою задачу. 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
si4karuk Опубликовано 5 января, 2018 Поделиться Опубликовано 5 января, 2018 Всем привет, имеется готовая плата с семисегментным дисплеем и Atmega8515. Хотел сделать часы на ds1307, но с удивлением обнаружил что аппаратного i2C, в данном контроллере нет. Может у кого есть программный драйвер для ds1307 написан на Си? Поиск в ГООГЛЕ, ничего толком не дал... Спасибо. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
IMXO Опубликовано 5 января, 2018 Поделиться Опубликовано 5 января, 2018 в компиляторе нет библиотеки i2c - не верю... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
ruhi Опубликовано 5 января, 2018 Поделиться Опубликовано 5 января, 2018 2 часа назад, si4karuk сказал: обнаружил что аппаратного i2C, в данном контроллере нет. на atmel-AVR-ах I2C называется TWI 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Ссылка на комментарий Поделиться на другие сайты Поделиться
si4karuk Опубликовано 5 января, 2018 Поделиться Опубликовано 5 января, 2018 Где в даташите указано, что данный контроллер, имеет аппаратный TWI интерфейс? Тыкните носом пожалуйста. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 6 января, 2018 Поделиться Опубликовано 6 января, 2018 12 часа назад, si4karuk сказал: но с удивлением обнаружил что аппаратного i2C, в данном контроллере нет. Может у кого есть программный драйвер для ds1307 написан на Си? Как то странно. Не обнаружили I2C в МК, а ищите код для ds1307. Где связь ? Ищите тогда уж код программного I2C, если аппаратного нет. А подобных примеров в гугле - тьма тьмущая. Не верю, что не смогли найти ничего. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
si4karuk Опубликовано 6 января, 2018 Поделиться Опубликовано 6 января, 2018 (изменено) По сути, мне именно ds1307, надо подключить к контроллеру... Поймите меня, я живу в селе, интернет слабый, зарплаты маленькие, не доедаю... Следственно мало витамин в мозг поступает. Отсюда и проблема с реализацией проекта Да, о какой мозговой активности можно говорить, после праздников... Изменено 6 января, 2018 пользователем si4karuk 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
si4karuk Опубликовано 6 января, 2018 Поделиться Опубликовано 6 января, 2018 Спасибо за помощь. Полез в даташит ds1307, трошки прочитал. Потом нашел программный I2C, и все получилось с первого раза. А я уж запаниковал. Еще раз спасибо за помощь и с праздниками всех. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Starichok Опубликовано 7 января, 2018 Поделиться Опубликовано 7 января, 2018 В 06.01.2018 в 13:15, si4karuk сказал: интернет слабый, зарплаты маленькие, не доедаю ага, живу бедно - сыр с плесенью, вино старое, машина без крыши и телефон без кнопок... 1 Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду. Ссылка на комментарий Поделиться на другие сайты Поделиться
Igor-air Опубликовано 12 января, 2018 Поделиться Опубликовано 12 января, 2018 Всем доброго времени суток! Есть необходимость научиться обходить защиту (залоченность) современных МК. Из того, что нашёл в нете у меня сложилась такая картина: Когда-то раньше производители использовали защиту от считывания прошивки из flash-памяти путём отжигания вывода записи. Теперь защиту (залоченность) делают в виде так называемых FUSES. Нашёл в нете: FUSES (с англ.: плавление, пробка, предохранитель) - специальные 4 байта(4*8=32 бит) данных, которые настраивают некоторые глобальные параметры микроконтроллера в процессе прошивки. После прошивки данные биты нельзя изменить через внутреннюю программу что записана в МК. Данной конфигурацией бит мы указываем микроконтроллеру вот что: • какой использовать задающий генератор (внешний или внутренний); • делить частоту генератора на коэффициент или нет; • использовать ножку сброса (RESET) для сброса или же как дополнительный пин ввода-вывода; • количество памяти для загрузчика; • другие настройки зависимо от используемого микроконтроллера. Вопрос первый: Правильно ли я понимаю, что FUSES – это и есть залоченность современных МК? Вопрос второй: Эти самые FUSES хранятся всё в той же flash-памяти? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 12 января, 2018 Поделиться Опубликовано 12 января, 2018 успехов. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Lexter Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 (изменено) 55 минут назад, Igor-air сказал: Вопрос первый: Правильно ли я понимаю ... Пока нет. 55 минут назад, Igor-air сказал: Вопрос второй: Эти самые FUSES хранятся в ... Это подробно написано в даташитах на конкретные контроллеры. 55 минут назад, Igor-air сказал: Есть необходимость научиться обходить защиту Есть необходимость получать ежедневно по 10 000 000 $. Поможете? Изменено 13 января, 2018 пользователем Lexter 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
солар Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 3 часа назад, Igor-air сказал: научиться обходить защиту Реинжиниринг дешевле. 0 Я не раздаю удочки. Я продаю рыбу. Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 6 часов назад, Igor-air сказал: Есть необходимость научиться обходить защиту (залоченность) современных МК. .................. Правильно ли я понимаю, что FUSES – это и есть залоченность современных МК? Вопрос второй: Эти самые FUSES хранятся всё в той же flash-памяти? Залоченность определяется лишь определенными фьюзами. Стирание именно этих фьюзов объединено со стиранием остальной флеш-памяти. В старых контроллерах фьюзы защиты прошивки находились в локальном месте, что позволяло вскрыть кристалл травлением пластика корпуса органическими травителями и защитив область основного флеша маской (УФ непроницаемой краской), стереть фьюзы защиты УФ излучением. В новых контроллерах фьюзы защиты распределены так, что это сделать технически невозможно. Кроме этого, даже для реализации стирания фьюзов по старой технологии, требуется иссследование топологии. То есть нужно вскрыть несколько кристаллов и методом проб и ошибок определить предполагаемые области конфигурационных регистров (фьюзов). Обычно за такую работу определенные компании берут от 5000 тыс долларов и выше. Современные контроллеры вскрываются зондами и такая работа уже стоит многие десятки тысяч долларов. 1 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 Что касается атмеловских контроллеров, то фузы это отдельная область памяти, но "стереть" их можно только с очисткой всей памяти контроллера причем намеренно устроено так что вся память очищается заведомо раньше чем фузы. Где-то читал, что отдельные контроллеры всё-таки взламывали чисто электрически - организовывали аатку на процесс стирания путём подбора напряжения питания и времени действия стирающих импульсов так что фузы стирались раньше основной памяти, но надо полагать что эту проблему всё-таки решили и новые ревизии контроллеров такому багу уже не подвержены. 1 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
Igor-air Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 Меня интересует конкретно МК R5F21258SN FP 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 14 января, 2018 Поделиться Опубликовано 14 января, 2018 (изменено) Renesas ни чем от других производителей в части защиты прошивок не отличается. За защиту флеша отвечает регистр OFS (0x00FFFF). Он может быть перезаписан только после стирания всего флеша (стирание происходит блоком, одновременно - это делается в автоматическом аппаратном цикле). Референс мануал семейства: https://www.renesas.com/en-eu/doc/products/mpumcu/001/rej09b0244_r8c2425hm.pdf?key=1fd6b653b22cc67a6acd05fcd18f56ff Смотрим страницу 401 на предмет значений бит фьюзов. Ваша затея очевидно пустопорожняя. Не для того производитель защищает флеш, чтобы его можно было прочесть дешевыми способами. Общий подход при разработке устройств на МК состоит в том, чтобы стоимость взлома прошивки превосходила дальнейшую рентабельность копирования изделий. Исходя из этого выбирают такую платформу МК, которая удовлетворяет этому требованию. В дорогих контроллерах уровней защиты кода несколько. Это позволяет не только защитить код от прямого чтения, но и запретить вычитывание кода внутренним же кодом. Для чего есть иерархия внутреннего доступа. 10 часов назад, Alexeyslav сказал: Что касается атмеловских контроллеров, то фузы это отдельная область памяти Не отдельная область памяти, а отдельная область АДРЕСОВ памяти. Физическое место расположения фьюзов и их поле адресов внутри адресного пространства флеша НИКАК НЕ СВЯЗАНЫ. Изменено 14 января, 2018 пользователем my504 1 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Demonrostov Опубликовано 17 января, 2018 Поделиться Опубликовано 17 января, 2018 Всем вечер добрый. Есть массив uint16_t Fone_ustavki[]={0x3184,0x39e5,0x3183,0x31a4,0x3aaa,0x8c4d,0xa510,0x946d,0xa531,0xa4f0,0xa511,0xc615,0x946e,0x946e,0x41a2,0x5203,0x3142,0x528a,0x2125}; Это постоянные величины, вот как сделать так чтобы при использовании имени из массива, компилятор это представил типа константы , по подобию #define (как применить к массиву не знаю, да и можно ли), почему так а не присвоить #define каждому значению, просто так я могу одним махом изменить значения массива как надо не меняя вручную каждый элемент. Например: функция fun1(a1,a2,a3, Fone_ustavki[0]); fun2(a2,a3,Fone_ustavki[1]); и т.д. т.е. эти значения будут константами прописаны в программе, но так чтобы не было самого массива в памяти. Надеюсь понятно объяснил. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 17 января, 2018 Поделиться Опубликовано 17 января, 2018 ну наверное прописать его как const uint16_t Fone_ustavki[]={0x3184,0x39e5,0x3183,0x31a4,0x3aaa,0x8c4d,0xa510,0x946d,0xa531,0xa4f0,0xa511,0xc615,0x946e,0x946e,0x41a2,0x5203,0x3142,0x528a,0x2125}; правила записи уточнить в мануале на компилятор 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
technik-1017 Опубликовано 17 января, 2018 Поделиться Опубликовано 17 января, 2018 3 часа назад, Demonrostov сказал: но так чтобы не было самого массива в памяти Компилятор со включенной оптимизацией должен сам сделать то, что вы хотите. Только проверьте потом, что получилось. Если всё же есть желание использовать #define, то можно сделать так #define Fone_ustavki(i) (((i) == 0x00) ? 0x3184 : \ ((i) == 0x01) ? 0x39e5 : \ ((i) == 0x02) ? 0x3183 : 0) // и так далее Вызов: aaa = Fone_ustavki(1); 1 Наработки Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 18 января, 2018 Поделиться Опубликовано 18 января, 2018 Возможно конечно что я скажу чтото не то, но программист(если он конечно не колхозник) должен писать как то так PhoneSettings, PhoneData, cPhoneArray ну или BackgroundSettings. Потому как что имелось в виду под словом Fone не совсем ясно. Человеку, читающему такой код будет не совсем очевидным назначение этих циферок. Хороший тон никто не отменял же вроде как, да? 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
Dr. West Опубликовано 18 января, 2018 Поделиться Опубликовано 18 января, 2018 Это вы ещё книжек Заеца Н. не видели. 0 "Я не знаю какой там коэффициент, я просто паять умею. " Ссылка на комментарий Поделиться на другие сайты Поделиться
Demonrostov Опубликовано 18 января, 2018 Поделиться Опубликовано 18 января, 2018 4 часа назад, mail_robot сказал: Возможно конечно что я скажу чтото не то, но программист(если он конечно не колхозник) должен писать как то так PhoneSettings, PhoneData, cPhoneArray ну или BackgroundSettings. Потому как что имелось в виду под словом Fone не совсем ясно. Человеку, читающему такой код будет не совсем очевидным назначение этих циферок. Хороший тон никто не отменял же вроде как, да? А почему "Ы"? А чтоб никто не догадался.....)) Спасибо всем за ответ буду пробовать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
dosikus Опубликовано 18 января, 2018 Поделиться Опубликовано 18 января, 2018 (изменено) Demonstrov, есть мнение что транслит указывает на то, что уровень кодописателя ниже плинтуса. Изменено 18 января, 2018 пользователем dosikus 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Demonrostov Опубликовано 19 января, 2018 Поделиться Опубликовано 19 января, 2018 19 часов назад, dosikus сказал: Demonstrov, есть мнение что транслит указывает на то, что уровень кодописателя ниже плинтуса. Ничего не понял, но код работает как надо...... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.