Перейти к содержанию

crazz

Рекомендуемые сообщения

Снимаю шляпу, есть такое. :wub:

Скачанный HEX приложен.

Также приложен ASM, полученный софтом PIC-Disasm (http://www.hagi-online.org/picmicro/picmicro.html)

Похоже?

 

12F508.asm

12F508.HEX

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

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

не знаю что вы там читаете, но последовательности

; Program

    Org 0x0000

;   Reset-Vector
    MOVWF OSCCAL
    GOTO LADR_0x0083
    GOTO LADR_0x0007
    GOTO LADR_0x0020
    GOTO LADR_0x0032
    GOTO LADR_0x003F
    GOTO LADR_0x0041

быть не может. :spiteful:

 

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Есть еще дизассемблеры, но в них 12F508 нет, есть 12С508.

Можно ли импользовать эти дизассемблеры для 12F508?

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

можно, только смысл, будет тоже самое.

ну не может быть для 508го в дампе памяти программ последовательности

:100000002500830A070A200A320A3F0A410A070C20

по этой последовательности в осцилятор загружается константа, после МК переходит в пустую область и через 380 тактов ресетится и так по кругу.

 

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

9 часов назад, IMXO сказал:

можно, только смысл, будет тоже самое.

Это тоже самое?

;***********************************
; disassembled by HellFire v3.01.5
;       10 May 19 09:21:32
;***********************************

;--Register Definitions--
W    EQU    0x00
F    EQU    0x01

;--Register Files--
INDF        EQU    0x00
TMR0        EQU    0x01
PCL        EQU    0x02
STATUS        EQU    0x03
FSR        EQU    0x04
OSCCAL        EQU    0x05
GPIO        EQU    0x06

;--STATUS bits--
C        EQU    0x00
DC        EQU    0x01
Z        EQU    0x02
NOT_PD        EQU    0x03
NOT_TO        EQU    0x04
PA0        EQU    0x05
GPWUF        EQU    0x07

    org    0x0180
    db    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00


;*** Programm dump ***

    org    0x0000        ;Start address

    nop
    movwf    OSCCAL
    goto    L_0083
    goto    L_0007
    goto    L_0020
    goto    L_0032
    goto    L_003F
    goto    L_0041
L_0007:
    movlw    0x07        ;b'0000 0111',' ',.07
    movwf    0x07
    btfss    0x07,3
    goto    L_000F
    movlw    0x07        ;b'0000 0111',' ',.07
    clrf    TMR0
    movlw    0x0F        ;b'0000 1111',' ',.15
    option
L_000F:
    clrwdt

..........................................

12С508.asm

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

У 12C и у 12F  одна и та же система команд.

Я тут взглянул на бинарник в хекс-вьюере. Ни одна из представленных версий дизасма ему не соответствует.

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

Ну и Вы не ответили на вопрос о ЦЕЛИ всего этого мероприятия. Как Вы собираетесь изменить постоянную времени фильтра? Какой это фильтр? Что за сигнал на входе (его параметры, а не откуда он следует)?

 

 

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

戦う前に相手のベルトの色に注目

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

33 минуты назад, my504 сказал:

 

Ну и Вы не ответили на вопрос о ЦЕЛИ всего этого мероприятия. Как Вы собираетесь изменить постоянную времени фильтра? Какой это фильтр? Что за сигнал на входе (его параметры, а не откуда он следует)?

В связи с тем, что МК не реагирует на дребезг датчика вибрации, полагаю что его сигнал подвергается программной обработке, например в в виде многократного считывания со сравнением результатов. Если это так, то количество таких считываний и их частота являются параметрами, которые можно изменить. 

Сигнал на входе - это по сути механический ключ, состояние которого определяется его положением в пространстве.

44 минуты назад, my504 сказал:

 

Я тут взглянул на бинарник в хекс-вьюере. Ни одна из представленных версий дизасма ему не соответствует.

Насколько я понимаю, дизасмы  для PIC расчитаны на микрочип хекс, а не на интел хекс. Один из них при загрузке об этом предупреждает.

 

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

1 час назад, ART_ME сказал:

В связи с тем, что МК не реагирует на дребезг датчика вибрации, полагаю что....

Футынуты... :lol:

Это же элементарно...

Алгоритм фильтрации дребезга примитивен как 2 пальца об асфальт.

Могу скинуть исходник такого фильтра для PIC12F1571, но он может быть реализован на любом другом МК, поскольку не содержит использования какой либо периферии, кроме одного таймера, чтения ног и ногодрыга. Но исходник на АСМе 8-битных ПИКов с расширенной системой команд.

Однако алгоритм такой.

Делаем программный регистр сдвига с тактированием от некоей частоты (интервал сдвига фиксированный).

Проверяем содержимое последних N бит регистра после каждого сдвига. Если там все 1, то выводим единицу, если все 0, то ноль. В остальных случаях на выходе остается то, что было ранее. То есть НИЧЕГО не делаем.

Длина регистра сдвига или тактовая частота сдвига и определяют постоянную времени.

Вот и все.

Так устроены поголовно все приемники УАРТов. На входе стоит фильтр из ТРЕХ тапов. Точнее из двух, поскольку третий - это входной сигнал как есть.

Кстати, это разновидность НЕЛИНЕЙНОГО фильтра.

1 час назад, ART_ME сказал:

Насколько я понимаю, дизасмы  для PIC расчитаны на микрочип хекс, а не на интел хекс. Один из них при загрузке об этом предупреждает.

Вы понимаете неправильно. В части сплошного кода хекс интела и хекс микрочипа ничем не отличаются. А код в представленном бинарнике СПЛОШНОЙ.

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

戦う前に相手のベルトの色に注目

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

На 12F508 в случае установки бита защиты будет прочитана только последняя ячейка памяти?

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

Нет, еще 64 первых инструкции и, по видимому, 64 последних, патамушта именно они заполнены не нулевым кодом.

Но В ТРЕТИЙ РАЗ я задаю вопрос - ЗАЧЕМ ВСЕ ЭТО?

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

Отсюда второй вопрос: зачем разбирать чужой код на АСМе, если на этом же самом АСМе можно написать свой? Тем более, что алгоритм очевиден и прост.

И еще один момент. Для УМЕНЬШЕНИЯ постоянной времени потребуется увеличить ЧАСТОТУ выборки данных. Не факт, что длина буфера вообще позволит ее сократить. А увеличить частоту выборок не выйдет, поскольку она связана с тактовой частотой МК. Я, например, взял упомянутый ранее МК именно потому, что  его производительность 8 МИПС (осциллятор с PLL дает 32 МГц). При меньшей скорости программный фильтр не позволил бы мне реализовать нужные параметры фильтрации.

戦う前に相手のベルトの色に注目

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

Несколько лет назад я ковырял утюг Philips GC4851 с функцией auto power off, не включался утюг.

Там в рукоятке как раз-таки и был залитый компаундом маленький модуль с 12F508 и датчиком вибрации (или как он там называется, шариковый такой?). Помнится, я даже прошивку с него считал и разбирал. Но потом необходимость в ремонте отпала.

Может этот "прибор" и имелся в виду @ART_ME ?

:)

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

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

2 часа назад, my504 сказал:

 

В ТРЕТИЙ РАЗ я задаю вопрос - ЗАЧЕМ ВСЕ ЭТО?

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

Нет, написать прошивку заново не проще, т.к. для этого придется досконально изучить работу оборудования. А для этого надо ехать в село, где оно стоит. И не один раз. С теми же последстствиями я сделал бы функциональный аналог этой платы вообще без МК. 

Не считаю, что при правильном дизассемблировании разобраться с прошивкой будет сложно, т.к. алгоритм  в общих чертах известен, а сама рабочая программа, если верить программатору,  очень маленькая. 

 

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

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

17 часов назад, ART_ME сказал:

, есть такое. Скачанный HEX приложен.Похоже? 12F508.asm  12F508.HEX

пришлось качать спецификацию программирования  и детально изучать хекс, и так:

1. в хексе есть строка :0207FE00E20F08  , красное поле перевернутый бит конфигурации 0x0FE2 , красное адрес расположения 0x7FF (в большинстве пыков адрес конфига 0x2007 поэтому дизасм его не берет, айсипрог кстати то же)   , согласно СП соответствует пых12ф509,

2. согласно СП раздел 4.0 в бите конфигурации: выключены внешний сброс и собака, включен внутренний осциллятор и установлен бит защиты кода програмы.

3 согласно СП раздел 5.0 при бите зашиты доступны для чтения первые 64 команды

5.0 CODE PROTECTION 
For   the   PIC12F508/509,   once   code   protection   is
enabled,  all  program  memory  locations  0x040-0x1FE(F508)
and 0x040-0x3FE (F509) inclusive, read all 0s.
Program   memory   locations   0x000-0x03F,   0x1FF(F508)
and 0x3FF (F509) are always unprotected. The user  ID  locations,
backup  OSCCAL  location  and  the Configuration Word 
read out in an unprotected fashion.
It is possible to program the user ID locations, backup
OSCCAL  location  and  the  Configuration  Word  after
code-protect is enabled.

4. бит защиты без стирания всего кода не стирается

итого МК залочен и как писал @my504 код совершенно бессмысленный.

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

По идее искомый подавитель дребезга должен быть в этих первых 64 командах. Если это вдруг так и есть,  то даст ли установленный бит защиты возможность этот подавитель отключить/изменить?

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

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

даже если оный и находится в первых 64 командах , при перепошивке на место защищенного кода запишутся нули и как писал уже выше

17 часов назад, IMXO сказал:

по этой последовательности в осцилятор загружается константа, после МК переходит в пустую область и через 380 тактов ресетится и так по кругу.

в итоге вы получите мертвый камень .

PS "отока фигня малята"-дiд Панас...

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

Спасибо.

Тогда вопрос на будущее.

Если я куплю на али копеешный Pickit, то установив на комп MPLAB, увижу ли я, что бит защиты в моем PIC установлен?

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

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

45 минут назад, ART_ME сказал:

По идее искомый подавитель дребезга должен быть в этих первых 64 командах. Если это вдруг так и есть

Не так, и не вдруг, и не есть.

Вам уже сказали, что прошивка защищена и переписать даже открытую ее часть ПРИНЦИПИАЛЬНО НЕВОЗМОЖНО. Во флеш не пишутся единицы. Во флеш пишутся ТОЛЬКО НУЛИ. Единицы там возникают во время СТИРАНИЯ. Все стерли - все единицы. Где нули - там записали.

Но даже если прошивка была бы открыта, Вы бы ничего там не смогли исправить БЕЗ ПОЛНОГО ВОССТАНОВЛЕНИЯ АЛГОРИТМА. Это АСМ, а не Си. И к тому же АСМ на самой примитивной из ныне существующих платформ МК. Любые простые вещи на ней делаются через задницу. Иначе невозможно при такой куцей системе команд и отсутствии прерываний.

18 минут назад, ART_ME сказал:

увижу ли я, что бит защиты в моем PIC установлен?

Увидите, конечно. Конфиг всегда читаем.

 

ЗЫ. Изменение прошивки можно сделать и "в поле". Я иногда с ноутом даже алгоритм в изделии правлю. Это в коде примерно на 5000 строк ...  Иначе невозможно, если невозможно воссоздать условия "поля" у себя на столе.

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

戦う前に相手のベルトの色に注目

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

3 минуты назад, ART_ME сказал:

Если я куплю на али копеешный Pickit, то установив на комп M , увижу ли я, что бит защиты в моем PIC установлен?

на счет копеечного не знаю, а фирменным пыхкыт 2 или 3 вполне, только смысл? ваш прогер тоже должен видеть  конфиг, в проге над памятью программ должна быть кнопка конфиг

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

28 минут назад, IMXO сказал:

 ваш прогер тоже должен видеть  конфиг, в проге над памятью программ должна быть кнопка конфиг

Кнопка есть, а вот бит защиты...

Просветите плиз.

 

Снимок.JPG

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

Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта.

 

 

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

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...