Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Для начинающих > Программирование микроконтроллеров

Программирование микроконтроллеров Темы касающиеся программированию микроконтроллеров разных производителей.

Ответ
 
Опции темы
Старый 23.10.2008, 06:22   #61
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,192 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Команда call несомненно понадобится, особенно когда будешь писать программу для алгоритмического кодграббера, когда нужно обращаться к таблице несколько раз, тут как не крути нет смысла ее переписывать несколько раз, а проще отработать подпрограмму) Я например, именно по мере надобности команды, ввожу ее в программу и изучаю. Так интересней, крутишь логику крутишь, а решения нет простого компактного, открываешь сводную таблицу команд и перечень регистров специального назначения и пытаешься найти выход. Очень сильно понравился прием с флагами, я завожу специальный регистр для флагов, если я в программе прыгаю в одно и тоже место постоянно, то нужно понять был я там или нет, для этого, как я отработал это место в программе, я ставлю флаг (бит в 1 в регистре для флагов) и перед тем как входить в это место снова, в программе тестирую этот бит и все. Этот прием мне понадобился, чтобы уменьшить код программы в кодподмене для KEELOQ. Кстати ZAN не парься с Брутом, это не актуально с 90 годов! Пиши программу под граббер, который построен на двух посылках, это действительно спортивно, думаю про эту теорию не нужно объяснять, все уже давно знают, что половина сигналок открывается двумя старыми пакетами. Я тебя научу как две кодировки обработать, можно два формата принимать, причем одним контроллером) Кстати, как дела у тебя обстоят с написанием приема? Это немного посложнее, чем выброс, но я уже собаку съел и вполне помогу. Тем более, если ты на ассемблере пишешь. Мне очень интересно а почему ты PIC18F252 не программируешь? Там все линейно, нет этих дурацких банков, не нужно их переключать и думать в каком банке находится твой регистр, не нужно переключать станицы памяти, просто садишься и пишешь программу не думая о лишнем, я тут на досуге программировал 16 пик, честно исплевался, 18 пик это самолет, а 16 пик самокат, одна команда movff чего стоит, можно стек переписывать (модифицировать), вообще не нарадуюсь, что на 18 пик перешел! В 18 пике развита математика, можно заниматься серьезными делами.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 23.10.2008, 14:09   #62
tako
гость
 
Аватар для tako
 
Регистрация: 06.07.2006
Сообщений: 150
Поблагодарил: 2
Поблагодарили 28 раз в 26 сообщениях
tako стоит на развилке
По умолчанию

Так как это тема для старта программирования, хочу задать вопрос по временным задержкам для 18 пика с кристалом 4 мгц.
Вот кусок кода:

movlw d'255'
movwf schet1

metka1
movlw d'10'
movwf schet2

metka2
decfsz schet2
bra metka2

decfsz schet1
bra metka1
-----------------------------------------------------------------
как я понимаю-кусок
metka2
decfsz schet2
bra metka2

один проход будет исполняться 1+2=3 коммандных такта, при выполнении условия и пропуске комманды bra кусок выполнится за 2 такта т.е. время исполнения decfsz при пропуске.
если перевести во время то 1 коммандный такт это 1мкс т.е. Fosc/4

те кусок будет выполняться 3 мкс и 2мкс ,правильно?
И тогда кусок
movlw d'10'
movwf schet2

metka2
decfsz schet2
bra metka2
будет исполняться 1+1+9х3+1х2=2+27+2=31 мкс ?
tako вне форума   Ответить с цитированием
Старый 23.10.2008, 16:24   #63
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,192 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

В данном контексте время будет такое.

----------movlw d'10'--------1 командный цикл
----------movwf schet2------1 командный цикл
metka2
----------decfsz schet2--------2 командных цикла (если результат 0) и 1 командный цикл (если результат не равен 0)
----------bra metka2-----------2 командных цикла

Вроде так) Скачай срочно датошит на русском языке, он на форум не лезет, я бы кинул. Тебе эта точность времен не нужна, так как все ровно лучше пристреливать все на осциллографе манипулируя константой, которую помещаешь в регистр ф. Ты кстати установил мп лаб? Я могу тебе кинуть проект готовый что бы ты не парился, к тому же написать конфигурационное слово и покажу как память распределять, твой schet2 присвоить надо, но это мелочи жизни. Позже все для тебя выложу.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 23.10.2008, 22:21   #64
ZAN
случайно влез
 
Регистрация: 01.04.2007
Адрес: Phreaker.Us
Сообщений: 49
Поблагодарил: 1
Поблагодарили 20 раз в 10 сообщениях
ZAN стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
Команда call несомненно понадобится, особенно когда будешь писать программу для алгоритмического кодграббера, когда нужно обращаться к таблице несколько раз, тут как не крути нет смысла ее переписывать несколько раз, а проще отработать подпрограмму) Я например, именно по мере надобности команды, ввожу ее в программу и изучаю. Так интересней, крутишь логику крутишь, а решения нет простого компактного, открываешь сводную таблицу команд и перечень регистров специального назначения и пытаешься найти выход. Очень сильно понравился прием с флагами, я завожу специальный регистр для флагов, если я в программе прыгаю в одно и тоже место постоянно, то нужно понять был я там или нет, для этого, как я отработал это место в программе, я ставлю флаг (бит в 1 в регистре для флагов) и перед тем как входить в это место снова, в программе тестирую этот бит и все. Этот прием мне понадобился, чтобы уменьшить код программы в кодподмене для KEELOQ. Кстати ZAN не парься с Брутом, это не актуально с 90 годов! Пиши программу под граббер, который построен на двух посылках, это действительно спортивно, думаю про эту теорию не нужно объяснять, все уже давно знают, что половина сигналок открывается двумя старыми пакетами. Я тебя научу как две кодировки обработать, можно два формата принимать, причем одним контроллером) Кстати, как дела у тебя обстоят с написанием приема? Это немного посложнее, чем выброс, но я уже собаку съел и вполне помогу. Тем более, если ты на ассемблере пишешь. Мне очень интересно а почему ты PIC18F252 не программируешь? Там все линейно, нет этих дурацких банков, не нужно их переключать и думать в каком банке находится твой регистр, не нужно переключать станицы памяти, просто садишься и пишешь программу не думая о лишнем, я тут на досуге программировал 16 пик, честно исплевался, 18 пик это самолет, а 16 пик самокат, одна команда movff чего стоит, можно стек переписывать (модифицировать), вообще не нарадуюсь, что на 18 пик перешел! В 18 пике развита математика, можно заниматься серьезными делами.

Брут я так написал, чтоб вспомнить программирование, а то в последнее время давно этим не занимался.
Да приём казался вроде простым, но на деле не таким уж и простым. Вчера вечер просидел вроде всё продумал, а до рабочей версии так и не дошел. Сегодня днём думал над ним, вроде есть пара вариантов, сейчас буду проверять. Если уж не будет получатся буду надоедать с вопросами).
С пика 16-го начал, так вышло не зная ничего про микроконтроллеры, решил с более простых, как мне казалось начать, накупил их. Но сам в последнее время начал задумываться, когда более менее в них начал разбираться, чтоб перейти на 18-й, они помощнее, есть даже со встроенным УСБ. Так что со временем обязательно перейду. А пока юзаю 16-е.


In Vino Veritas.
ZAN вне форума   Ответить с цитированием
Старый 24.10.2008, 00:57   #65
tako
гость
 
Аватар для tako
 
Регистрация: 06.07.2006
Сообщений: 150
Поблагодарил: 2
Поблагодарили 28 раз в 26 сообщениях
tako стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
В данном контексте время будет такое.

----------movlw d'10'--------1 командный цикл
----------movwf schet2------1 командный цикл
metka2
----------decfsz schet2--------2 командных цикла (если результат 0) и 1 командный цикл (если результат не равен 0)
----------bra metka2-----------2 командных цикла

Вроде так) Скачай срочно датошит на русском языке, он на форум не лезет, я бы кинул. Тебе эта точность времен не нужна, так как все ровно лучше пристреливать все на осциллографе манипулируя константой, которую помещаешь в регистр ф. Ты кстати установил мп лаб? Я могу тебе кинуть проект готовый что бы ты не парился, к тому же написать конфигурационное слово и покажу как память распределять, твой schet2 присвоить надо, но это мелочи жизни. Позже все для тебя выложу.

Спасибо,т.е. ты временные промежутки отмеряемые такими циклами подгонял по осцилу?
Даташит скачал. mp lab поставил хоть и не без сложностей.
Да,было бы интересно увидеть проект.
tako вне форума   Ответить с цитированием
Старый 24.10.2008, 05:04   #66
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,192 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Распакуй проект, помести на диск C или D, весь путь должен называться на английском, по этому далеко не прячь, а оставь просто на диске C например. В МП Лабе, в верху открой закладку (проект опен) и укажи путь на этот проект, открой. Там наглядные вложения, попутно во всем разберемся, если что-то не понятно. В МП Лабе нужно будет еще вывести кое-какие окна, но об этом позже. Я в проекте прокомментировал твою программу, маленько ее изменил, ты все поймешь. Даже видео работы выкладываю, наш совместный проект, пускай все завидуют)
Вложения
Тип файла: rar для tako,секретно!.rar (382.6 Кб, 485 просмотров)


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 24.10.2008, 05:24   #67
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,192 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от tako Посмотреть сообщение
Спасибо,т.е. ты временные промежутки отмеряемые такими циклами подгонял по осцилу?

Это очень удобно, особенно в приеме, потому что ты программу крутишь, переделываешь все постоянно, в циклы ожидания можно вставить тестирования таймера и еще всего чего угодно, зачем потом сидеть и считать, что ты там накрутил) Взял цепанул осцил да подогнал константу, мне так проще, это не обязательно правильно, но все же. В больших программах, большие специалисты очень часто так делают, что бы оценить время работы программы в некоторых участках, поддергивают ногу контроллера и смотрят длину периода. Удобно поджигать светодиод, если программа не идет в каком то месте, можно быстро понять какая строчка не правильная. Будешь заниматься программированием, сам придешь ко всяким там хитростям.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 24.10.2008, 17:31   #68
ZAN
случайно влез
 
Регистрация: 01.04.2007
Адрес: Phreaker.Us
Сообщений: 49
Поблагодарил: 1
Поблагодарили 20 раз в 10 сообщениях
ZAN стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
Это очень удобно, особенно в приеме, потому что ты программу крутишь, переделываешь все постоянно, в циклы ожидания можно вставить тестирования таймера и еще всего чего угодно, зачем потом сидеть и считать, что ты там накрутил) Взял цепанул осцил да подогнал константу, мне так проще, это не обязательно правильно, но все же. В больших программах, большие специалисты очень часто так делают, что бы оценить время работы программы в некоторых участках, поддергивают ногу контроллера и смотрят длину периода. Удобно поджигать светодиод, если программа не идет в каком то месте, можно быстро понять какая строчка не правильная. Будешь заниматься программированием, сам придешь ко всяким там хитростям.

Примерно так же делаю и я при написании задержек. Ток за не имением осциллографа использую StopWatch и брэк поинты. А в набросках к приему, симулируя на ноге импульс определенной длительности, считаю и составляю, что то типа соответствия счетчик - время. Хотя приблизительно все равно прикидую.


In Vino Veritas.
ZAN вне форума   Ответить с цитированием
Старый 24.10.2008, 21:23   #69
tako
гость
 
Аватар для tako
 
Регистрация: 06.07.2006
Сообщений: 150
Поблагодарил: 2
Поблагодарили 28 раз в 26 сообщениях
tako стоит на развилке
По умолчанию

Спасибо за проект и уделенное мне время
Хотел написать вопрос про кусок кода---

wibros2
btfss registr11,7
bcf STATUS,C
btfsc registr11,7
bsf STATUS,C

rlcf registr18
rlcf registr17
rlcf registr16
rlcf registr15
rlcf registr14
rlcf registr13
rlcf registr12
rlcf registr11
пока писал-понял ответ. циклическим сдвигом через флаг C регистра Status ты организовываешь считывание из массива данных registr11 -registr18
tako вне форума   Ответить с цитированием
Старый 25.10.2008, 03:47   #70
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,192 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Так и есть, ты все правильно понял.
btfss registr11,7
bcf STATUS,C
btfsc registr11,7
bsf STATUS,C
Вот этой процедурой, я тестирую старший бит (7) и делаю сдвижки влево, если делать сдвижки вправо, то нужно тестировать младший бит (0). Процедура хитрая, она не теряет данные, то есть если тупо все сдвигать и гнать в эфир, то это можно проделать один раз, а я кручу весь буфер без потери данных по кругу, раз кодграббер как алгоритмический) Получается, что первый бит который уйдет в эфир, я беру и кладу в хвост, все крутится как карусель) Перед этой процедурой ты заметил такую штуку
movlw d'64'
movwf bank0
Это счетчик на 64 бита. Ниже где я уже отработал выброс, я его декрементирую.
decfsz bank0,f
bra wibros2
Пака в bank0 не будет 0, то будем прыгать по условию, как только флаг ноля установится, мы перепрыгнем через команду ветвления bra wibros2. Смысл ассемблера и программирование, сводится к тестированию битов и перепрыгиванию команд, все просто, строй любую логику, программа на ассемблере, это конструктор, все понятно интуитивно.


уехал в клуб
oleg вне форума   Ответить с цитированием
Ответ

Метки
codegrabber.ru, кодграббер, программа, прошивка, схема


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Памятки по фциям, CMSIS, StdPerif, HAL, где чего и для чего AliStark ARM 0 19.12.2014 03:08
[Вопрос] код для кодграббера lexei Охранные системы 34 26.09.2014 13:18
[Вопрос] Рецепт кодграббера AMG Новички 2 18.12.2012 16:59
Модернизация Кодграббера Mamont Программирование микроконтроллеров 9 23.04.2011 21:16
фото кодграббера SlavaDve Флейм 10 16.02.2011 21:54


Текущее время: 08:26. Часовой пояс GMT +4.


Перевод: zCarot