| Микроконтролери и електроника 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 |
Някой да е попадал на малка по обем, до десетина мегабайта програма за 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 |
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 | |||||||||
Може и да има, но ти си първия с такъв въпрос (обикновено М3 са заключени и няма какво да ревърсваш). За емулатор QEMU ама едва ли ще ти свърши работа... а и емулатори по принцип не се използват, защото са без емулация на перифериите, което в общия случаи ги прави безполезни. |
||||||||||
| Автор: | Garcor [ Пет Фев 16, 2018 9:15 pm ] | |||||||||
| Заглавие: | Re: Cortex-M33 | |||||||||
Аз програмата я имам като hex файлове в около 50 версии. В последните версии има някои инструкции които са от ARMv8-M. По принцип зная какво точно прави програмата и имам по старата схема с Cortex-M3. Виж снимката. Но ми трябва подходяща програма за да я доразнищя. |
||||||||||
| Автор: | miro_atc [ Пет Фев 16, 2018 9:30 pm ] |
| Заглавие: | Re: Cortex-M33 |
Сега остана да ми кажеш че и jtag/swd са ти оставили? и тогава няма да ти трябва емулатор |
|
| Автор: | Garcor [ Пет Фев 16, 2018 10:01 pm ] | |||||||||
| Заглавие: | Re: Cortex-M33 | |||||||||
Програмирам го чрез USART Е, нямам изходните файлове които са написани на С. Но асемблерът на Cortex-M3 до такава степен е адаптиран за удобство на С компилаторите, че не е толкова труден за разчитане. Това е схема на металдетектор работещ на принципа на индуктивния баланс. Трябва да променя някои от параметрите му. |
||||||||||
| Автор: | 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 | |||||||||
Не са изведени, но си прав, май най добре да ги изведа и да действам по класическия начин. |
||||||||||
| Автор: | michev [ Съб Фев 17, 2018 1:23 pm ] |
| Заглавие: | Re: Cortex-M33 |
Е можеше просто да ни пуснеш един линк до тук вместо да ни мъчиш с онази схема-тъмбнейл. |
|
| Автор: | Garcor [ Съб Фев 17, 2018 1:28 pm ] | |||||||||
| Заглавие: | Re: Cortex-M33 | |||||||||
Засега ги използват за 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/ |
|