Как работает этот код? Назначить TPID и другое неизвестное значение двум переменным? - PullRequest
0 голосов
/ 04 мая 2020

(A "Long Story Short" предоставлено в нижней части этого поста для быстрого просмотра.)

Здравствуйте, мне недавно было поручено просеивать и понимать элементы внешнее устройство памяти Fla sh (Intel Advanced + Boot Block Fla sh устройство памяти (C3), P / N: JS28F800C3TD70) для проекта. Я признаю, что кое-что из того, что меня попросили сделать, выше моего нынешнего уровня понимания, и я стремлюсь узнать больше. Я полагаю, что приведенный ниже код написан на C, но большая часть моего опыта написана на C ++ и Python.

Устройство Fla sh разбито на несколько разделов или блоков памяти ( Я считаю, что это практика памяти NAND). Устройство подключается параллельно с SRAM и взаимодействует со встроенным микроконтроллером. Поскольку мне поручено восстановление данных, я надеюсь получить некоторое понимание относительно очевидного (на мой взгляд) обращения, которое происходит с некоторыми кодами на борту.

Ниже у меня есть выдержка из код восстановлен с устройства fla sh. Ради конфиденциальности я отредактировал имена переменных для показанного примера. Мое намерение состоит в том, чтобы понять формат, поэтому я уверен, что имена var не имеют отношения к таким усилиям.

f_one[ION][%1i]=%6.3f s_one* s_two* pc_Flash l_Flash = %9ld (0x%08lx)
 foo_one foo_two = %9ld (0x%08lx)
 foo_two foo_three = %9ld (0x%08lx)
 foo_three foo_four = %9ld (0x%08lx)
 foo_four foo_five = %9ld (0x%08lx)
 foo_five foo_six = %9ld (0x%08lx)
 foo_six foo_seven = %9ld (0x%08lx)
 foo_seven foo_eight = %9ld (0x%08lx)
 foo_eight foo_nine = %5i (0x%04x)
 foo_nine foo_ten = %5i (0x%04x)
 foo_ten foo_eleven = %5i (0x%04x)
 foo_eleven foo_twelve = %5i (0x%04x)
 foo_twelve foo_thirteen = %5i (0x%04x)
 foo_thirteen foo_fourteen = %5i (0x%04x)
 foo_fourteen foo_fifteen = %5i (0x%04x)
 foo_fifteen foo_sixteen = %5i (0x%04x)
 foo_sixteen foo_seventeen = %5i (0x%04x)
 foo_seventeen foo_eighteen = %5i (0x%04x)
 foo_eighteen foo_nineteen = %5i (0x%04x)
 foo_nineteen foo_twenty = %5i (0x%04x)
 foo_twenty foo_twentyone = %5i (0x%04x)
 foo_twentyone foo_twentytwo = %5i (0x%04x)
 foo_twentytwo foo_twentythree = %5i (0x%04x)
 foo_twentythree foo_twentyfour = %5i (0x%04x)
 foo_twentyfour foo_twentyfive = %5i (0x%04x)
 foo_twentyfive foo_twentysix = %5i (0x%04x)
 foo_twentysix foo_twentyseven = %5i (0x%04x)
 foo_twentyseven foo_twentyeight = %5i (0x%04x)
 foo_twentyeight foo_twentynine = %5i (0x%04x)
 foo_twentynine foo_thirty = %5i (0x%04x)
 foo_thirty foo_thirtyone = %5i (0x%04x)
 foo_thirtyone foo_thirtytwo = %5i (0x%04x)
 foo_thirtytwo foo_thirtythree = %5i (0x%04x)
 foo_thirtythree foo_thirtyfour = %f (0x%08lx)
 foo_thirtyfour foo_thirtyfive = %5i (0x%04x)
 foo_thirtyfive foo_thirtysix = %5i (0x%04x)
 foo_thirtysix foo_thirtyseven = %5i (0x%04x)
 foo_thirtyseven foo_thirtyeight = %5i (0x%04x)
 foo_thirtyeight %s %f %s %p %i %x %x %x %x %x %x %x %i %f %i %f %f %i %f %i %03X %03X %04X %03X %03X %04X %03X

На основании моих предыдущих исследований, похоже, что одно из двух значений TPID заканчивается каждым строка кроме последней. Я очень мало знаю о TPID и IEEE 802.1Q, поэтому любые источники информации, которые вы сможете предоставить, помогут мне сэкономить время при исследовании!

Также важно отметить, что все значения foo_xxx появляются только в этом отрывке и больше нигде в памяти fla sh (если не зашифрованы?). Куда я должен направить свое внимание, чтобы научиться понимать этот код?

Long Story Short:

-Что относится к% 5i и% 9ld?

-Какой цели могут служить значения 0x% 08lx и 0x% 04x? Это даже TPID (идентификатор протокола тега)? (Правка: исправлено от 0x% 081x до 0x% 08lx, уточненный вопрос)

-Почему в двух строках, по-видимому, одновременно определены две переменные, казалось бы, только для того, чтобы снова определить вторую переменную с новой переменной в следующей? линия (ad nauseum)?

-У вас есть какой-нибудь совет, где я могу продолжить изучать ответы на эти вопросы?

Заранее благодарим вас за любую помощь, которую вы можете предоставить .

...