FreeCalypso > hg > freecalypso-tools
comparison target-utils/calversion/dsp_bringup.c @ 498:ca98f800bbf3
calversion utility: removed osmo_delay_ms()
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sat, 25 May 2019 21:30:23 +0000 |
| parents | 1dcc9e4b71fd |
| children |
comparison
equal
deleted
inserted
replaced
| 497:74610c4f10f7 | 498:ca98f800bbf3 |
|---|---|
| 151 //----------------------------------------------------------------- | 151 //----------------------------------------------------------------- |
| 152 // After RESET release, DSP is in SAM Mode ! while API_CNTR (0xF900) | 152 // After RESET release, DSP is in SAM Mode ! while API_CNTR (0xF900) |
| 153 // register is in reset state: HOM mode, PLL off, Bridge off. No ws | 153 // register is in reset state: HOM mode, PLL off, Bridge off. No ws |
| 154 // are applied for MCU<-->API access !!!!! So, MCU must wait for | 154 // are applied for MCU<-->API access !!!!! So, MCU must wait for |
| 155 // end of Leadboot execution before accessing API. | 155 // end of Leadboot execution before accessing API. |
| 156 //wait_ARM_cycles(convert_nanosec_to_cycles(10000)); // wait 10us | 156 /* |
| 157 osmo_delay_ms(10); | 157 * TI's firmware code waits 10 us, but we'll give it a more generous |
| 158 * 1 ms because our clocking setup is a little different, coming from | |
| 159 * the boot ROM: on platforms with 13 MHz CLKTCXO the DSP will run | |
| 160 * at the same frequency as the ARM, rather than the typical double. | |
| 161 */ | |
| 162 wait_ARM_cycles(13000); | |
| 158 | 163 |
| 159 // NO DOWNLOAD... | 164 // NO DOWNLOAD... |
| 160 { | 165 { |
| 161 // Wait for READY status from DSP. | 166 // Wait for READY status from DSP. |
| 162 printf("Waiting for DSP bootloader READY status\n"); | 167 printf("Waiting for DSP bootloader READY status\n"); |
| 214 printf("Booting DSP main code\n"); | 219 printf("Booting DSP main code\n"); |
| 215 *(volatile UWORD16 *) DOWNLOAD_SIZE = 0; // Size=0 to force DSP to start from address... | 220 *(volatile UWORD16 *) DOWNLOAD_SIZE = 0; // Size=0 to force DSP to start from address... |
| 216 *(volatile UWORD16 *) DOWNLOAD_ADDR = dsp_start_address; // Start address. | 221 *(volatile UWORD16 *) DOWNLOAD_ADDR = dsp_start_address; // Start address. |
| 217 *(volatile UWORD16 *) DOWNLOAD_STATUS = BLOCK_READY; // Start DSP... | 222 *(volatile UWORD16 *) DOWNLOAD_STATUS = BLOCK_READY; // Start DSP... |
| 218 | 223 |
| 219 osmo_delay_ms(50); | 224 /* give it a very generous 50 ms wait */ |
| 225 wait_ARM_cycles(13000 * 50); | |
| 220 printf("DSP reports version 0x%04X 0x%04X\n", | 226 printf("DSP reports version 0x%04X 0x%04X\n", |
| 221 dsp_ndb_ptr->d_version_number1, dsp_ndb_ptr->d_version_number2); | 227 dsp_ndb_ptr->d_version_number1, dsp_ndb_ptr->d_version_number2); |
| 222 } | 228 } |
