make rum-ba reset the device after flashing

This commit is contained in:
Christian Daniel 2012-10-18 22:22:54 +02:00
parent d79e4f8dca
commit b17fd2ca39
5 changed files with 15 additions and 0 deletions

View File

@ -99,6 +99,8 @@ int main(int argc, char* argv[])
res = osmoSDRDetect(fd);
if(res >= 0)
res = osmoSDRFlashMCU(fd, bin, binSize);
if(res >= 0)
osmoSDRReset(fd);
serialClose(fd);
} else {
return printSyntax();

View File

@ -137,3 +137,8 @@ int osmoSDRFlashFPGA(HANDLE fd, const void* algo, size_t algoSize, const void* b
return 0;
}
int osmoSDRReset(HANDLE fd)
{
return sam3uReset(fd);
}

View File

@ -10,5 +10,6 @@ int osmoSDRBlink(HANDLE fd);
int osmoSDRRamLoad(HANDLE fd, const void* bin, size_t binSize);
int osmoSDRFlashMCU(HANDLE fd, const void* bin, size_t binSize);
int osmoSDRFlashFPGA(HANDLE fd, const void* algo, size_t algoSize, const void* bin, size_t binSize);
int osmoSDRReset(HANDLE fd);
#endif // INCLUDE_OSMOSDR_H

View File

@ -306,3 +306,8 @@ error:
printf(" -- ERROR\n");
return -1;
}
int sam3uReset(HANDLE fd)
{
return sam3uWrite32(fd, 0x400e1200, 0xa500000f);
}

View File

@ -17,4 +17,6 @@ int sam3uDetect(HANDLE fd, uint32_t* chipID);
int sam3uReadUniqueID(HANDLE fd, int bank, uint8_t* uniqueID);
int sam3uFlash(HANDLE fd, int bank, const void* bin, size_t binSize);
int sam3uReset(HANDLE fd);
#endif // INCLUDE_SAM3U_H