Я сбрасываю свою оперативную память (часть ее - только сегмент кода), чтобы найти, где находится какая функция C. У меня нет файла карты, и я не знаю, что именно делают процедуры загрузки / инициализации.
Я загружаю свою программу в ОЗУ, затем, если я сбрасываю ОЗУ, очень трудно точно определить, где какая функция. Я хотел бы использовать различные шаблоны, встроенные в источник C, чтобы распознать их в дампе памяти.
Я пытался запустить каждую функцию с другой первой переменной, содержащей имя функции, например:
char this_function_name[]="main";
но это не работает, потому что эта строка будет помещена в сегмент данных.
У меня есть простой 16-битный RISC-процессор и экспериментальный проприетарный компилятор (без GCC или любого другого известного). Система имеет 16 МБ оперативной памяти, которая используется совместно с другими приложениями (загрузчик, загрузчик). Почти невозможно найти, например, уникальную последовательность N NOP или чего-то еще. как 0xABCD. Я хотел бы найти все функции в оперативной памяти, поэтому мне нужны уникальные идентификаторы функций, видимых в RAM-дампе.
Каким будет лучший шаблон для сегмента кода?