mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-14 02:26:59 -07:00
Implement version information storage and retrieval for the bootrom and the osimage.
Use perl to create the version information (thereby re-creating the perl dependency and adding an svn dependency) but fall back in case of missing perl or svn
This commit is contained in:
parent
42bc3be31c
commit
8a6aec16d8
13 changed files with 171 additions and 13 deletions
|
@ -236,10 +236,28 @@ void ReadMem(int addr)
|
|||
DbpIntegers(0, data[i], data[i+1]);
|
||||
}
|
||||
|
||||
/* osimage version information is linked in */
|
||||
extern struct version_information version_information;
|
||||
void SendVersion(void)
|
||||
{
|
||||
char temp[48]; /* Limited data payload in USB packets */
|
||||
DbpString("Prox/RFID mark3 RFID instrument");
|
||||
|
||||
/* Try to find the bootrom version information. For the time being, expect
|
||||
* to find a pointer at address 0x1001fc, perform slight sanity checks on
|
||||
* the pointer, then use it.
|
||||
*/
|
||||
void *bootrom_version = *(void**)0x1001fc;
|
||||
if( bootrom_version < (void*)0x100000 || bootrom_version > (void*)0x101000 ) {
|
||||
DbpString("bootrom version information appears invalid");
|
||||
} else {
|
||||
FormatVersionInformation(temp, sizeof(temp), "bootrom: ", bootrom_version);
|
||||
DbpString(temp);
|
||||
}
|
||||
|
||||
FormatVersionInformation(temp, sizeof(temp), "os: ", &version_information);
|
||||
DbpString(temp);
|
||||
|
||||
FpgaGatherVersion(temp, sizeof(temp));
|
||||
DbpString(temp);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue