Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Cortex-M33
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=15756
Страница 1 от 9

Автор:  Garcor [ Пет Фев 16, 2018 10:13 am ]
Заглавие:  Cortex-M33

Прикачени файлове:
CORTEXM3RP.jpg
CORTEXM3RP.jpg [ 939.46 KiB | Прегледано 6985 пъти ]
Някой да е попадал на малка по обем, до десетина мегабайта програма за Cortex-M33, която да може да чете hex и bin файлове?
Да ги реасемблира, да има вграден емулатор за Cortex-M33, да има прост редактор който да позволява промени в програмата и да има възможност после отново да запише протестваната и редактирана програма в hex или bin файл.
Имаше нещо подобно за Cortex-M3.
Вижте снимката в прикачения файл.

Автор:  Dimitar [ Пет Фев 16, 2018 3:05 pm ]
Заглавие:  Re: Cortex-M33

Просто ми стана любопитно - ако има, но е примерно 15 мегабайта какво правим тогава?

Автор:  miro_atc [ Пет Фев 16, 2018 6:59 pm ]
Заглавие:  Re: Cortex-M33

M33 си е Thumb2, т.е. всеки ARMv7 дизасемблер би трябвало да се справи, но като гледам другите изисквания се сещам само за IDA Pro.

Автор:  Garcor [ Пет Фев 16, 2018 7:03 pm ]
Заглавие:  Re: Cortex-M33

Прикачени файлове:
Pic.jpg
Pic.jpg [ 635.57 KiB | Прегледано 6898 пъти ]
Tази програма за Cortex-M3 от снимката беше само 2-3 мегабайта, попаднах на нея преди 5-6 години.
Беше заедно с още една подобна програма, но за PIC микроконтролери с много странен асемблер, някакъв микс между Z80 и 6502. Поне така ми изглежда на мен. Но машинният код във Hex файла който генерираше, съответстваше на малките PIC микроконтролери.
Тогава запазих само тази за PIC микроконтролерите, тази за Cortex-M3 само я пробвах и изтрих. Бях я взел от един руски сайт, но него вече го няма. Останали са само няколко скрийншота от програмата.
И тя щеше да ми свърши работа, защото разликите между асемблера на Cortex-M3 и Cortex-M33 са само няколко инструкции (ако изключим dsp & fpu) но не мога да я открия никъде.
Тази за PIC микроконтролерите е още по малка.
Виж снимката.
Затова предполагам, че и други подобни програми няма да са много по големи като обем.

Автор:  Garcor [ Пет Фев 16, 2018 7:15 pm ]
Заглавие:  Re: Cortex-M33

Ако е само за дизасемблер IDA Pro върши работа, но на мен ми трябва да има и емулатор(симулатор) с възможност да се правят корекции в програмата и после да се запишат обратно в bin или hex файл.
Иначе в интернет има онлайн АRМ асемблери и дизасемлери, но нямат емулатор който да може да изпълнява кода на програмата, за да се види какво точно прави.
http://armconverter.com
http://armconverter.com/hextoarm/

Автор:  Garcor [ Пет Фев 16, 2018 7:29 pm ]
Заглавие:  Re: Cortex-M33

Сега пуснах IDA Pro и виждам, че има някаква опция за debugger, но изглежда ползва външна програма за тази цел.
Няма ли някоя специализирана програма за Reverse engineering за Cortex-M3?

Автор:  miro_atc [ Пет Фев 16, 2018 8:02 pm ]
Заглавие:  Re: Cortex-M33

Garcor написа:
Няма ли някоя специализирана програма за Reverse engineering за Cortex-M3?


Може и да има, но ти си първия с такъв въпрос (обикновено М3 са заключени и няма какво да ревърсваш).
За емулатор QEMU ама едва ли ще ти свърши работа... а и емулатори по принцип не се използват, защото са без емулация на перифериите, което в общия случаи ги прави безполезни.

Автор:  Garcor [ Пет Фев 16, 2018 9:15 pm ]
Заглавие:  Re: Cortex-M33

Прикачени файлове:
MD.jpg
MD.jpg [ 190.49 KiB | Прегледано 6866 пъти ]
miro_atc написа:

Може и да има, но ти си първия с такъв въпрос (обикновено М3 са заключени и няма какво да ревърсваш).

Аз програмата я имам като hex файлове в около 50 версии.
В последните версии има някои инструкции които са от ARMv8-M.
По принцип зная какво точно прави програмата и имам по старата схема с Cortex-M3.
Виж снимката.
Но ми трябва подходяща програма за да я доразнищя.
:D

Автор:  miro_atc [ Пет Фев 16, 2018 9:30 pm ]
Заглавие:  Re: Cortex-M33

Сега остана да ми кажеш че и jtag/swd са ти оставили?
и тогава няма да ти трябва емулатор ;-)

Автор:  Garcor [ Пет Фев 16, 2018 10:01 pm ]
Заглавие:  Re: Cortex-M33

miro_atc написа:
Сега остана да ми кажеш че и jtag/swd са ти оставили?
и тогава няма да ти трябва емулатор ;-)

Програмирам го чрез USART
Е, нямам изходните файлове които са написани на С.
Но асемблерът на Cortex-M3 до такава степен е адаптиран за удобство на С компилаторите, че не е толкова труден за разчитане.
:)
Това е схема на металдетектор работещ на принципа на индуктивния баланс.
Трябва да променя някои от параметрите му.
Прикачени файлове:
QMD.jpg
QMD.jpg [ 126.94 KiB | Прегледано 6825 пъти ]

Автор:  miro_atc [ Съб Фев 17, 2018 10:16 am ]
Заглавие:  Re: Cortex-M33

На снимката не се вижда какъв е чепа, но предполагам ти си го знаеш, така че може да проследиш jtag/swd пиновете дали са изведени на някой конектор или в краен случай ти да си ги изведеш.
След това ти трябва openocd или jlink или там каквото намериш. Те си имат конзола (за jlink-a и приложения), та през конзолата може да четеш/пишеш памети/регистри въобще имаш пълен достъп до проца. Може и да дебъгваш през конзолата, но по-удобно е с нормален дебъгер.
При варианта с openocd то си отваря два порта 3333 и 4444 мисля бяха, единият ти е за конзола за теб (ако искаш) другия е gdb server (remote). При jlink се пускаше jserver или нещо подобно за да ти направи gdb server. Към тоя сървър може да се закачаш с всякакви GDB базирани дебъгери. Включително и IDA-та би трябвало да го поддържа. Така че закачаш се, дебъгваш, може да слагаш брейкпоинти там където си мислиш че е интересно. Примерно някъде се зарежда константа в някой регистър, след зареждането ти може да промениш регистъра все едно че константата е била друга и да видиш нататък как ще се държи програмата. Но ти сигурно си наясно как стават тия работи ;-)

Автор:  bobihot [ Съб Фев 17, 2018 12:35 pm ]
Заглавие:  Re: Cortex-M33

Добре де- какви чепове М23-33 са се появили, че не съм срещал още?

Автор:  Garcor [ Съб Фев 17, 2018 12:53 pm ]
Заглавие:  Re: Cortex-M33

miro_atc написа:
На снимката не се вижда какъв е чепа, но предполагам ти си го знаеш, така че може да проследиш jtag/swd пиновете дали са изведени на някой конектор или в краен случай ти да си ги изведеш.

Не са изведени, но си прав, май най добре да ги изведа и да действам по класическия начин.

Автор:  michev [ Съб Фев 17, 2018 1:23 pm ]
Заглавие:  Re: Cortex-M33

Е можеше просто да ни пуснеш един линк до тук вместо да ни мъчиш с онази схема-тъмбнейл.

Автор:  Garcor [ Съб Фев 17, 2018 1:28 pm ]
Заглавие:  Re: Cortex-M33

bobihot написа:
Добре де- какви чепове М23-33 са се появили, че не съм срещал още?

Засега ги използват за IoT, но сигурно скоро ще ги пуснат и за масова употреба, защото големите производители на микроконтролери вече са купили лиценза.
Иначе документацията за ARMv8-M я има отдавна.
Arm Cortex‑M33 Processor Technical Reference Manual
https://developer.arm.com/docs/100230/0003
The ARMv8-M Baseline offers improvements over previous M-profile
architectures in the following areas:
• The optional Security Extension.
• An improved, optional, Memory Protection Unit (MPU) model.
• Alignment with ARMv8-A and ARMv8-R memory types.
• Stack pointer limit checking.
• Improved support for multi-processing.
• Better alignment with C11 and C11++ standards.
• Enhanced debug capabilities.
The ARMv8-M architecture introduces a number of new instructions to the M-profile architecture to support asset
protection. These instructions are only available to implementations that support the Security Extension'
The ARMv8-M architecture adds instructions to support:
• Improved facilitation of execute-only code generation.
• Improved code optimization.
• Exclusive memory access instructions to enhance support for multiprocessor systems.
• Semaphores and atomics (Load-Acquire/Store-Release instructions).

Страница 1 от 9 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/