Zheka

Начинающим О Фьюзах (Fuse Bits)

325 сообщений в этой теме

Xray    0

Подскажите пжлст прошил tiny13 с фьюзами Int.RC Osc. 128kHz; Start-up time 14CK + 4ms (CKSEL=11 SUT=01) Теперь программатор ее не видит. Программатор USBASP v2.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mixan23    28

Скорее всего у тебя частота прошивки программатором выше предела. Тактовая частота программирования должна быть минимум 4 раза ниже тактовой частоты МС. МС просто не успевает за программатором

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viktor26    307

Раз запрограммировали соответственно понизте частоту тактирования тиньки при программировании до 128кгц

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
intarez1    0

Здравствуйте.У меня такой вопрос-можно обойти фьюзы,допустим на stm8,чтобы слить прошивку камня???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Здравствуйте.У меня такой вопрос-можно обойти фьюзы,допустим на stm8,чтобы слить прошивку камня???

Если бы это можно было обойти, то грошь цена такой защиты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
intarez1    0

А какие именно мешают?

Ещё неизвестно,это я на будущее интересуюсь,т.е в принципе можно???

Здравствуйте.У меня такой вопрос-можно обойти фьюзы,допустим на stm8,чтобы слить прошивку камня???

Если бы это можно было обойти, то грошь цена такой защиты.

То есть без вариантов????

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sergey-Ufa    616

Наверное профессиональные специалисты по промышленному шпионажу это и смогли бы сделать каким-то образом, на на любительском уровне это невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

Конечно можно. Если не установлены фьюзы защиты от считывания кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
si4karuk    15

Привет. А как залочить контроллер? Ну типа уберечь прошивку от скачивания. Пользуюсь Atmel Studio

Изменено пользователем si4karuk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

А программируешь чем? Вот в настройках программатора и ищи эти опции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
si4karuk    15

Mcll... Да я как бы искал, но, че то очкую :crazy: ... Может можно про экспериментировать? Типа, что попало натыкать а потом проверить что скачается. В любом случае, можно потом вернуть все обратно... Наверно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

Нет ,камушек можно залочить так что понадобится фуз-доктор или честный параллельный программатор.

Вообще залочить можно в любой момент после прошивки. Другой програмой-программатором. Только надо внимательней быть, почитать доку на фьюзы твоего контроллера и сверить чему соответствует галочка в программаторе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
si4karuk    15

Да я этих докторов, в свое время, вагон наклепал... Так что, будем мучить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261

Если трогать только лок-биты, защитить от стирания не получится, а сами они вместе со стиранием кристалла и снимаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
si4karuk    15

Да, я розумію що потрібно використовувати лок біти, та я не знаю як. Але, як мені здається, нічого поганого ними не зробиш... :umnik2: Ага?

защитить от стирания не получится

Ні, я хочу, щоб ніхто не копіював моєї прошивки..

До этого по русски писал,а тут резко на "мову" перешёл?

Правила неоднозначно гласят: Пункт II.13. Сообщения с большим количеством ошибок. Уважайте русский язык. Если вы иностранец или плохо знаете русский язык, то напишите об этом в вашем профиле, чтобы к вам не было вопросов и претензий. Также пользуйтесь специальными программами (той же Word с проверкой орфографии) или специализированными плагинами для проверки орфографии "на лету":SpellChecker.

Изменено пользователем Hambaker

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Самое поганое - невозможность прочитать прошивку и изменить ее из области загрузчика. :)

Если Ваши программы не видоизменяются самопрограммированием и не загружаются с помощью загрузчика, то поганьте все лок-биты сразу. Хуже не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
si4karuk    15
Самое поганое - невозможность прочитать прошивку и изменить ее из области загрузчика. :)

В любом случае, программа будет фурычить?? Контроллер программируется только кнопками...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

Конечно. Фузы обрубают только стандартный интерфейс считывания прошивки, если сама программа передаст наружу содержимое прошивки, от этого ничто не остановит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

всем привет!

делаю

http://robocraft.ru/blog/2948.html

Но столкнулся с проблемой, в понипронг, не могу выставить фьюз CKOPT, его просто нету!(мне нужно что бы мк робил от кварца 12МГц)

шью через ЛПТ порт.

Окошко выглядит так же,как на картинке, только фьюзы "по родному" стоят.

п.с. по авторскому методу не прошивает(вернее прошивает но фьюзы не меняет, и прошивка заливается с ошибками)

ВСЁ СДЕЛАЛ!

просто убрал все галочки, и МК завелся с кварцем!

Правда амлитуда на кварце всего около 1В...(или это норма?)

post-170074-0-82407800-1435152613.jpg

Изменено пользователем Леонид:3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    631

там приводится строка для прошивки, состояние фьюзов передается в двоичном виде -

"hfuse:w:0xdf:m -U lfuse:w:0xef:m"

Установи в программе их точно так же, старший байт фьюзов 0xdf младший 0xef и все будет гарантировано правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...столкнулся с проблемой, в понипронг, не могу выставить фьюз CKOPT, его просто нету!...

Все правильно, "его просто нету" у Attiny2313. Поэтому Вы и не можете его выставить в ПониПрог. Зато можете легко залочить МК, если предварительно (перед редактированием) не прочитаете фьюзы из МК. Обратите внимание SPIEN не имеет "галочки" и не активен (невозможно изменить). После чтения фьюзов из МК "галочка" появится сама, т.к. в МК этот фьюз зашит производителем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?