реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> как с помощью stk500 отключить некоторые фьюзы, по SPI
Br.Misha
сообщение Sep 4 2010, 20:18
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Привет!
Мне до завтрашнего вечера нужно нужно запрограммировать несколько Atmega16. Прикол в том, что нужно защитить МК от считывания прошивки, при таком условии: разрешить LPM и SPM области основной программы, разрешить только LPM для области бутлоадера(тоесть SPM запретить), запретить считывание прошивки с помощью любого программатора(последовательного, паралельного, высоковольтного). Программатор у меня есть только STK500 в котором работает только SPI-режим. Ну я запустил программатор в AVR Studio, загрузил прошивку, поставил лок биты на флеш, установил значения лок-битов для области основной программы и загрузочной области. Далее я отключил JTAG и SPI, но АВР студио вообще не захотела отключать SPI, пишет что нету связи с МК но когда я считываю фьюз-биты, то МК откликается и програма показывает, что SPIEN установлен. Я решил отключить через кодевижен но там вовсе бита SPIEN нету.
Помню, что когда то, когда программил ЛПТ программатором, в кодевижине был этот бит, я бы сделал и сейчас ЛПТ программатор но ЛПТ порта нету и магазин, в котором я могу купить конектор находится в 50 км от меня.
Ну тут я еще подумал, что если установлены лок-биты на флеш, то прошивку нельзя будет считать, я попорбовал через студию и считать получилось, но считаная не соответствует той, которая была в АТмегу16 загружена(я сравнивал по адресам, которые указываются в hex файле). Я так понял, прошивку считать никто не сможет, но возможно я ошибаюсь...
Короче говоря, я прошу помощи!

Спасибо!
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Sep 5 2010, 07:14
Сообщение #2


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



разви никто не знает как SPI отключить?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 5 2010, 07:49
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Br.Misha @ Sep 5 2010, 10:14) *
разви никто не знает как SPI отключить?
"Читайте доки, они - рулез!". При последовательном программировании фуз SPIEN недоступен, об этом написано в описании этого бита в даташите.
А все, что вы хотите получить достигается фузами LB1, LB2, BLBxx.

Цитата(Br.Misha @ Sep 4 2010, 23:18) *
но считаная не соответствует той, которая была в АТмегу16 загружена
А не эту ли цель вы преследовали, когда хотели защитить от чтения?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Sep 5 2010, 18:42
Сообщение #4


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



просто я думал что если заблокировать флеш то программатор вообще не сможет ее считать, оказываеться что он считывает, но не флеш а какие то левые биты, этот вопрос решен.
Еще кое что интересует:
Я разработал устройсво и хочу сотрудничать с одним мастеркитовским магазином, они делают девайс а я продаю им запрограммированые микроконтроллеры. Проблема в том, что микроконтроллеры они будут мне давать, я их потом буду прошивать, лочить и отдавать им. А могут ли они дать мне какой то микроконтролер, с которого они потом смогут считать прошивку, даже когда я установлю лок-биты?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 5 2010, 21:34
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Br.Misha @ Sep 5 2010, 21:42) *
А могут ли они дать мне какой то микроконтролер, с которого они потом смогут считать прошивку, даже когда я установлю лок-биты?
"Даже если вы не параноик - это еще не значит, что Они за вами не следят" biggrin.gif Как вы думаете, фирма Атмел враг себе, чтобы выпускать такие кристаллы? А если кто-то смог разработать копию кристалла да еще и с закладкой - будет ли он мелочиться добыванием вашей програмы? Ходят слухи, что программу можно считать даже если вы купите контроллер сами. Но стоить такая операция будет многие тысячи зеленых денег. Стоит ли девчинка вые овчинка выделки?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Dimmix
сообщение Sep 6 2010, 07:35
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



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

Цитата(Br.Misha @ Sep 5 2010, 22:42) *
микроконтролер, с которого они потом смогут считать прошивку, даже когда я установлю лок-биты?


если заказать эмулятор контроллера на какой нить ПЛИС и сделать маркировку что это типа атмега то запрасто

Сообщение отредактировал Dimmix - Sep 6 2010, 08:48
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Sep 10 2010, 18:05
Сообщение #7


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Люди, еще вопрос:
если мне нужно запрограммить к примеру 100 микроконтроллеров (АТмега32), каким способом это можно сделать?
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Sep 10 2010, 20:26
Сообщение #8


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



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


--------------------
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 10 2010, 20:36
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Br.Misha @ Sep 10 2010, 21:05) *
запрограммить к примеру 100 микроконтроллеров (АТмега32), каким способом это можно сделать?
Ну, AvReal поддерживает функцию "программировать при нажатии внешней кнопки". Сделайте так, чтобы при подключении микросхемы замыкалась кнопка, 100 шт. запрограммируете сами за пару часов, на следующую 1000 наймете девочку, на следующие 10000 закажите прошивку прямо у Амела. Они даже напишут на корпусе "Слава Br.Misha, победителю драконов" smile.gif вместо "ATmega32"


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 10 2010, 20:49
Сообщение #10


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Каких пару часов? Час максимум.
Бум считать, что кварц 7.3728. Зашивка + верификация 128К в мегу128 при этом без проблем в 15 секунд укладывается. Т.е. мега32 будет ну секунд пять. Ещё пусть аж пятнадцать секунд на перетыкивание хвоста программатора с платы на плату и перекладывание плат с одного конца стола на другой. Итого три платы в минуту.
33 минуты на 100шт. Ещё 27 минут на чесание затылка, замену на столе коробок с платами, отвечание на телефон и джаббер. Итого час.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 10 2010, 20:59
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(ReAl @ Sep 10 2010, 23:49) *
Ещё пусть аж пятнадцать секунд на перетыкивание хвоста программатора с платы на плату
Я тоже сначала час написал - потом исправил. У Br.Misha, судя по сообщению №4, контроллеры не впаяны, а на установку в панельку потребуется существенно больше времени.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Sep 10 2010, 21:13
Сообщение #12


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Упс, забыл написать:
У меня не будет готового устройства, мне нужно запрограммировать микроконтроллеры и отдать их на завод, а там они будут устанавливатся на устройства. Поэтому надо сделать маленькую платку, в которую я буду устанавливать микроконтроллер, при этом, нельзя гнуть ножки микроконтроллера, поэтому плата с обычной панелькой отпадает.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 11 2010, 07:44
Сообщение #13


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Ну тогда нужна ZIF-панелька, обычная действительно не дело для большого количества втыков-вытыков, и с ногами возня (они же слегка разогнуты поначалу, просто так в панельку не воткнёшь), и риск погнуть, и панелька раздалбывается. Тут и двух часов может не хватить.
С ZIF будт тот же час.
С обычной панелькой - перед её впайкой выдернуть из неё все ноги, которые не нужны для программирования - будет гораздо легче вставлять-вынимать микросхему. Неплохо бы роликовоую ровнялку выводов. На производстве может быть такая.

p.s. или «нельзя гнуть» означает и «нельзя ровнять», они должны остаться слегка разведёнными в стороны?


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Sep 11 2010, 08:20
Сообщение #14


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Цитата
p.s. или «нельзя гнуть» означает и «нельзя ровнять», они должны остаться слегка разведёнными в стороны?

да, их нельзя ровнять, иначе они не подойдут для автоматического монтажа.
Я вот думаю сделать на плате какие то пружинистые контаты. Потом прижать к ним атмегу и запрограммировать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.03168 секунд с 7
ELECTRONIX ©2004-2016