mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
FIX: good solution for enabling 512kb memory, instead of a #define. It reads the chipId and detects memsize based on it.
This commit is contained in:
parent
7810dac62d
commit
6598e12752
1 changed files with 15 additions and 12 deletions
|
@ -80,7 +80,7 @@ static void ConfigClocks(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Fatal(void) {
|
static void Fatal(void) {
|
||||||
for(;;);
|
for(;;) {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void UsbPacketReceived(uint8_t *packet, int len) {
|
void UsbPacketReceived(uint8_t *packet, int len) {
|
||||||
|
@ -272,10 +272,14 @@ void BootROM(void)
|
||||||
LED_B_OFF();
|
LED_B_OFF();
|
||||||
LED_A_OFF();
|
LED_A_OFF();
|
||||||
|
|
||||||
|
// Set the first 256kb memory flashspeed
|
||||||
AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS | MC_FLASH_MODE_MASTER_CLK_IN_MHZ(48);
|
AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS | MC_FLASH_MODE_MASTER_CLK_IN_MHZ(48);
|
||||||
#ifdef HAS_512_FLASH
|
|
||||||
|
// 9 = 256, 10+ is 512kb
|
||||||
|
uint8_t id = ( *(AT91C_DBGU_CIDR) & 0xF00) >> 8;
|
||||||
|
if ( id > 9 )
|
||||||
AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS | MC_FLASH_MODE_MASTER_CLK_IN_MHZ(48);
|
AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS | MC_FLASH_MODE_MASTER_CLK_IN_MHZ(48);
|
||||||
#endif
|
|
||||||
// Initialize all system clocks
|
// Initialize all system clocks
|
||||||
ConfigClocks();
|
ConfigClocks();
|
||||||
|
|
||||||
|
@ -287,9 +291,8 @@ void BootROM(void)
|
||||||
case AT91C_RSTC_RSTTYP_SOFTWARE:
|
case AT91C_RSTC_RSTTYP_SOFTWARE:
|
||||||
case AT91C_RSTC_RSTTYP_USER:
|
case AT91C_RSTC_RSTTYP_USER:
|
||||||
/* In these cases the common_area in RAM should be ok, retain it if it's there */
|
/* In these cases the common_area in RAM should be ok, retain it if it's there */
|
||||||
if(common_area.magic == COMMON_AREA_MAGIC && common_area.version == 1) {
|
if(common_area.magic == COMMON_AREA_MAGIC && common_area.version == 1)
|
||||||
common_area_present = 1;
|
common_area_present = 1;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default: /* Otherwise, initialize it from scratch */
|
default: /* Otherwise, initialize it from scratch */
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue