|
Программирование одного мк другим, Вопрос по программированию |
|
|
|
Dec 15 2006, 17:30
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Была такая идея, но говорю сразу - это только мысль и реализована она пока не была. Представьте себе некую маленькую коробочку, в которой кроме источника питания, разъёма ISP,пары светодиодов, кварца и, собственно кристалла больше ничего нет. В кристалл, в секцию бутлоадера зашит собственно программатор и закрыт всеми возможными для него, бутлоадера, битами защиты. Его задача - последовательно читать флэш с нулевого адреса и формировать сигналы программирования для внешнего кристалла. Т.е. кристалл в коробочке - это и есть автономный программатор. Так прелесть, помоему, в том, что берем эту коробочку, шьём ее как целевое устройство (секция бутлоадера защищена, значит он и не затрется при шитье) и забывам об этом. Далее, приезжаем на объект, вставляем коробочку в целевой девайс. Коробочка стартует с бутлоадера и начинает шить то, что в нее зашили "как в целевое устройство".
Извиняюсь за некую сумбурность, смерть как устал за неделю. :-)
|
|
|
|
|
Dec 15 2006, 17:55
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Igor26 @ Dec 15 2006, 21:30)  Была такая идея, но говорю сразу - это только мысль и реализована она пока не была. Представьте себе некую маленькую коробочку, в которой кроме источника питания, разъёма ISP,пары светодиодов, кварца и, собственно кристалла больше ничего нет. В кристалл, в секцию бутлоадера зашит собственно программатор и закрыт всеми возможными для него, бутлоадера, битами защиты. Его задача - последовательно читать флэш с нулевого адреса и формировать сигналы программирования для внешнего кристалла. Т.е. кристалл в коробочке - это и есть автономный программатор. Так прелесть, помоему, в том, что берем эту коробочку, шьём ее как целевое устройство (секция бутлоадера защищена, значит он и не затрется при шитье) и забывам об этом. Далее, приезжаем на объект, вставляем коробочку в целевой девайс. Коробочка стартует с бутлоадера и начинает шить то, что в нее зашили "как в целевое устройство". Извиняюсь за некую сумбурность, смерть как устал за неделю. :-) Идея хорошая, но зачем код для целевого девайса вгонять в МК программатора, для этого есть DataFlash или EEPROM. Дешевле получится и место столько же, если не меньше...
--------------------
|
|
|
|
|
Dec 16 2006, 18:30
|

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

|
Цитата(Igor26 @ Dec 15 2006, 16:30)  Так прелесть, помоему, в том, что берем эту коробочку, шьём ее как целевое устройство (секция бутлоадера защищена, значит он и не затрется при шитье) и забывам об этом. Далее, приезжаем на объект, вставляем коробочку в целевой девайс. Коробочка стартует с бутлоадера и начинает шить то, что в нее зашили "как в целевое устройство". Если ты едешь туда лично, то никаких таких фокусов не надо, а если не лично - то рано или поздно притулят впараллель SPI-slave только на приём, который сольёт куда сочтёт нужным всю последовательность и потом можно и вырезать нужное для дизассемблирования, и шо хош. Так что - правильно было сказано - шифрование. Только "дешифратор" - в ЦЕЛЕВОМ устройстве, а в "коробочке" - всего лишь AT45DBсколько_надо с зашифрованной программой. И пусть бутлоадер в целевом читает, декодирует, самопрошивается.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 17 2006, 00:30
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата Если ты едешь туда лично Если я поеду туда лично, то возьму свой лаптоп и залью. А если едет человек, которому пол дня нужно объяснять, что такое FUSE-биты? Плавали, знаем. Далее. О закрытии кода речи нет. Не нужно этого. Пусть разбираются в 20к кода, если хотят.
|
|
|
|
|
Dec 17 2006, 00:40
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Igor26 @ Dec 17 2006, 04:30)  Цитата Если ты едешь туда лично Если я поеду туда лично, то возьму свой лаптоп и залью. А если едет человек, которому пол дня нужно объяснять, что такое FUSE-биты? Плавали, знаем. Далее. О закрытии кода речи нет. Не нужно этого. Пусть разбираются в 20к кода, если хотят. А зачем разбираться? Клонировать достаточно инохда...)
--------------------
|
|
|
|
|
Jan 21 2008, 09:47
|
Местный
  
Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35

|
Я пытаюсь запрограммировать из Mega128 Tiny26. Вход в синхронизацию проходит, но при этом Flash заполняется какими-то значениями - память оказывается заполненной какими-то значениями даже после команды "Стирание памяти". В чем может быть загвоздка? Код char mark = 0; char temp = 0;
INITIALIZATION(); // инициализация портов
while ( mark == 0 ) // будем добиваться входа в синхронизацию { // вход в режим программирования CLEARBIT( DDRE, 6 ); // Reset = High DELAYMS( 1 ); // Reset = Low CLEARBIT( PORTE,6 ); SETBIT( DDRE, 6 ); CLEARBIT( PORTE,6 ); DELAYMS( 20 ); // вход в синхронизацию SEND_SPI( 0xAC ); SEND_SPI( 0x53 ); temp = SEND_SPI( 0xAA ); if( temp == 0x53 ) { SEND_SPI( 0xAA ); mark = 1; } } // стирание памяти SEND_SPI( 0xAC ); SEND_SPI( 0x80 ); SEND_SPI( 0x00 ); SEND_SPI( 0x00 ); ВОПРОС СНЯТ! этого не происходит, ошибка в мозгах была...
--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
|
|
|
|
Guest_=VRA=_*
|
Jan 21 2008, 09:59
|
Guests

|
Цитата(ILYCHOFF @ Oct 13 2006, 10:40)  Хочется посмотреть как делают грамотные люди Вот они - ключевые слова, на которые никто до сих пор не обратил внимания! А грамотные люди делают так, чтобы необходимость в таком извращении просто не возникала - тогда и не придется гланды через ж... вырезать
|
|
|
|
|
Jan 21 2008, 14:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата редставьте себе некую маленькую коробочку, в которой кроме источника питания, разъёма ISP,пары светодиодов, кварца и, собственно кристалла больше ничего нет. В кристалл, в секцию бутлоадера зашит собственно программатор и закрыт всеми возможными для него, бутлоадера, битами защиты. У нас так сделано уже лет 8. Только в коробочке в последних вариантах я ставлю панельку с нулевым усилием - для смены целевого устройства меняется только пишущий кристалл. Ну и еще небольшой совет. Кроме выше названного поставить пищалку для контроля завершения записи - хорошо помогает  .
|
|
|
|
|
Jan 27 2008, 12:15
|

Участник

Группа: Свой
Сообщений: 58
Регистрация: 17-01-07
Из: Одесса
Пользователь №: 24 523

|
Цитата(ILYCHOFF @ Oct 13 2006, 09:40)  ... Есть два мк ATMega128 связаны между собой ... чтобы один мк залил в другой свою прошивку... А если взять третий камень и управление заливкой/считыванием возложить на него?
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|