Daydya_vanya91 1 May 27 Posted May 27 · Report post Я начинающий! И прошу меня подтолкнуть в нужном направлении. Имеются контроллеры по заряду/разряду АКБ (аккумуляторов) на базе TMS320F28335 и его F RAM FM24W256. Принцип такой: контроллер загружает в себя рецепт (инструкции) с компьютера и с этими инструкциями управляет базами групп транзисторов, тем самым заряжая или разрежая АКБ, при этом меряет ток с шунта и снимает замеры напряжения с клейм АКБ. Проблема такова: одна ячейка рассчитанная на ток в 2000Ампер с таким контроллером изначально не работала (с шунтом 2000А/75mV). Но если поставлю в эту ячейку рабочий контроллер от 300Ампер (её шунт 300А/75mV), ячейка работает, но неправильно считывает ток от шунта соответственно. Я снял дампы в BIN формате с этих 2х контроллеров с адреса 0х300000 по 0х33FFFF получилось 512кб. Сравнил эти 2 дампа HEX редактором, они идентичны. Считал с них F RAM, на них дампы разные. Флэш с TMS320F28335 считал через CCStudio UniFlash 9.5.0 и через Code Composer Studio 9.2.0 прогером XDS100V3 (c алика). Dump FM24W256 снял с 2х программаторов, через Iprog + (китайский клон) и через SVOD4 оригинал по I2C. Вопрос: как мне отредактировать данные шунтов и правильно ли я мыслю что данные шунтов хранятся в FM24W256? в этих бинарниках у меня не получается ничего понять. Я ищу значения привычные для чтения. Пытался сравнивать дампы программой imhex и декомпилировать их. Но у меня уже 3й день ничего не выходит) Могу отправить дампы если нужно. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 364 May 27 Posted May 27 · Report post 30 минут назад, Daydya_vanya91 сказал: Вопрос: как мне отредактировать данные шунтов и правильно ли я мыслю что данные шунтов хранятся в FM24W256? в этих бинарниках у меня не получается ничего понять. Вобщем случае - дизассемблировать код прошивки и разобраться в нём. Найти в нём участки, которые обрабатывают считанные данные АЦП. Без навыков программирования МК тут никак. И это ещё при условии, что у вас действительно есть код прошивки, а не пустышка. 30 минут назад, Daydya_vanya91 сказал: Я ищу значения привычные для чтения. И зря. Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post 33 минуты назад, jcxz сказал: Вобщем случае - дизассемблировать код прошивки и разобраться в нём. Найти в нём участки, которые обрабатывают считанные данные АЦП. подскажите хотябы чем дизассемблировать. Я пробывал IDA Free 9.0 и ghidra но в них нет поддежки TMS320F28335. А FM24W256 вообще незнаю какой программой понять код. Я упорный, просто пните и все получиться). Может есть какие нибудь учебники. по моей теме с них и начну! В ПЛК тоже ничего непонимал, но теперь хоть могу решить множество проблемм на работе. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 364 May 27 Posted May 27 · Report post 26 минут назад, Daydya_vanya91 сказал: Я пробывал IDA Free 9.0 и ghidra но в них нет поддежки TMS320F28335. Зачем дизассемблеру поддержка конкретного микроконтроллера? Дизассемблер должен поддерживать ядро. На котором МК сделан. TMS320F28335 видимо построен на ядре C2000. Точно убедиться - прочитать даташит на него. 26 минут назад, Daydya_vanya91 сказал: А вообще незнаю какой программой понять код. Какой вы там "код" ожидаете? Это чип FRAM-памяти. В котором очевидно хранится какой-то конфиг, установки. Возможно что и установки для шунта там есть (но тоже не факт). 26 минут назад, Daydya_vanya91 сказал: Я упорный, просто пните и все получиться). Может есть какие нибудь учебники. Начинать с того же, с чего и изучение любого МК: Зайти на сайт производителя, ввести в поиске название МК и скачать всю инфу по нему. И изучать её. Конкретно по вашему - всё находится с полпинка: https://www.ti.com/product/TMS320F28335 Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд). PS: 26 минут назад, Daydya_vanya91 сказал: Я пробывал Что это за модное поветрие ныне??? "пробывал"... или просто безграмотность? Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post Спасибо за ваш откровенный ответ. Я думаю он мне очень поможет. 15 минут назад, jcxz сказал: Начинать с того же, с чего и изучение любого МК: Зайти на сайт производителя, ввести в поиске название МК и скачать всю инфу по нему. И изучать её. Конкретно по вашему - всё находится с полпинка: https://www.ti.com/product/TMS320F28335 Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд). именно с этого и начну. 15 минут назад, jcxz сказал: Что это за модное поветрие ныне??? "пробывал"... или просто безграмотность? Вы правы безграмотность! У меня нет высшего образования. Я самоучка. Есть только свои пути к развитию. Так что извените) Quote Share this post Link to post Share on other sites More sharing options...
SSerge 10 May 27 Posted May 27 · Report post 23 minutes ago, jcxz said: Качать и изучать в первую очередь: даташит, TRM ("Technical Reference Manual"), а также документацию на ядро C2000 (описание архитектуры и системы команд). И "Understanding Security Features for C2000 Real-Time Control MCUs" изучить тоже не помешает. Что-то не верится что в контроллере не установлена защита от считывания флеш-памяти. Что читается по адресам 0x33 FFF8 - 0x33 FFFF ? Quote Share this post Link to post Share on other sites More sharing options...
jcxz 364 May 27 Posted May 27 · Report post 13 минут назад, SSerge сказал: Что-то не верится что в контроллере не установлена защита от считывания флеш-памяти. Вы правы. Но не будем пока разочаровывать ТСа. Пусть надеется что 2 часа назад, Daydya_vanya91 сказал: дампы в BIN формате с этих 2х контроллеров с адреса 0х300000 по 0х33FFFF получилось 512кб это не мусор. Может он действительно 1 час назад, Daydya_vanya91 сказал: Я упорный и обнаружив, что его 512КБ состоят из одних 0xFF или 0x00, сам с нуля напишет прошивку. PS: 512КБ это как-то запредельно много для простого "контроллера заряда". Даже 128КБ - много. Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post может я чегото недопонимаю но открыв дамп 512кб данные встречаються в 3х местах с 00040000 по 00046475 с 00050000 по 0005fffd с 00070000 по 0007ffef а на 24w256 вообще мало данных 2000.bin 24w256.bin может я чегото недопонимаю но открыв дамп 512кб данные встречаються в 3х местах с 00040000 по 00046475 с 00050000 по 0005fffd с 00070000 по 0007ffef а на 24w256 вообще мало данных Забыл добавить по адресам 30 минут назад, SSerge сказал: Что читается по адресам 0x33 FFF8 - 0x33 FFFF ? тут пусто. одни F-ки Quote Share this post Link to post Share on other sites More sharing options...
jcxz 364 May 27 Posted May 27 · Report post 12 минут назад, Daydya_vanya91 сказал: открыв дамп 512кб данные встречаються в 3х местах с 00040000 по 00046475 с 00050000 по 0005fffd с 00070000 по 0007ffef Ну вот - теперь, скачав даташит/TRM, из них выясняете стартовый адрес и дизассемблируете нужный участок вашего 2000.bin. И разбираетесь в нём. В первую очередь - отделяете данные от кода. Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post Quote Share this post Link to post Share on other sites More sharing options...
jcxz 364 May 27 Posted May 27 · Report post 16 минут назад, Daydya_vanya91 сказал: тут пусто. одни F-ки Я же писал, что 512КБ и даже 128КБ - запредельно много для вашего зарядника. А значит там используется малая часть из ваших 512КБ. Да и в 512КБ кода вы бы утонули на неск.лет. Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post Только что, jcxz сказал: Ну вот - теперь, скачав даташит/TRM, из них выясняете стартовый адрес и дизассемблируете нужный участок вашего 2000.bin. И разбираетесь в нём. В первую очередь - отделяете данные от кода. Проблемма в том что все дампы с этих МК одинаковы. 3 разных контроллера у всех разные шунты. Но дампы одинаковы. Поэтому я подумал что данные шунтов в F RAM, только они разные. Или может эти данные в одугой области МК могут находиться?? Quote Share this post Link to post Share on other sites More sharing options...
_Neofit 105 May 27 Posted May 27 · Report post 2 часа назад, Daydya_vanya91 сказал: Проблема такова: одна ячейка рассчитанная на ток в 2000Ампер с таким контроллером изначально не работала (с шунтом 2000А/75mV). Но если поставлю в эту ячейку рабочий контроллер от 300Ампер (её шунт 300А/75mV), ячейка работает, но неправильно считывает ток от шунта соответственно. Как именно "изначально не работала"? Может быть - дело в "аналоге", а не в "цифре". Указание наименований и комплектаций - также может помочь. Может быть - кто-то уже имел дело с этими зарядниками. Quote Share this post Link to post Share on other sites More sharing options...
Daydya_vanya91 1 May 27 Posted May 27 · Report post Связи с установщиками этого оборудования у нас нет. Но как я уже писал ранее. Если я вместо нерабочего контроллера ставлю рабочий с другой ячейки, то он работает! Но приходится пересчитывать ток в рецепте к шунту от трехсотой ячейки по формуле (300/75× на показания мультиметра с шунта в mV DC) и тогда данные по току совпадают. Quote Share this post Link to post Share on other sites More sharing options...
SSerge 10 May 27 Posted May 27 · Report post 33 minutes ago, Daydya_vanya91 said: Однако, по адресам 0x33 FFF8 - 0x33 FFFF читаются FFFF. А это значит что защита от чтения, от трассировки и прочего не установлена. Поздравляю! PS. С этим контроллером живьем я дела не имел, только читал про него. Quote Share this post Link to post Share on other sites More sharing options...