diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/crt0.S')
-rwxr-xr-x | firmware/target/arm/tms320dm320/crt0.S | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S index 68c0d9e1c5..8c747f7a51 100755 --- a/firmware/target/arm/tms320dm320/crt0.S +++ b/firmware/target/arm/tms320dm320/crt0.S | |||
@@ -48,14 +48,19 @@ start: | |||
48 | str r0, [r1, #28] | 48 | str r0, [r1, #28] |
49 | #endif | 49 | #endif |
50 | 50 | ||
51 | /* Disable high vectors (at 0xffff0000 instead of 0x00000000) */ | 51 | /* Disable data and instruction cache, high vectors (at 0xffff0000 instead of 0x00000000) */ |
52 | mrc p15, 0, r0, c1, c0 | 52 | mrc p15, 0, r0, c1, c0, 0 |
53 | and r0, r0, #~(1<<13) | 53 | /* clear bits 13, 9:8 (--VI --RS) */ |
54 | mcr p15, 0, r0, c1, c0 | 54 | bic r0, r0, #0x00003300 |
55 | /* clear bits 7, 2:0 (B--- -C-M) */ | ||
56 | bic r0, r0, #0x00000085 | ||
57 | /* make sure bit 2 (A) Align is set */ | ||
58 | orr r0, r0, #0x00000002 | ||
59 | mcr p15, 0, r0, c1, c0, 0 | ||
55 | 60 | ||
56 | #if !defined(BOOTLOADER) | 61 | #if !defined(BOOTLOADER) |
57 | 62 | ||
58 | #if 0//!defined(STUB) | 63 | #if !defined(STUB) |
59 | /* Zero out IBSS */ | 64 | /* Zero out IBSS */ |
60 | ldr r2, =_iedata | 65 | ldr r2, =_iedata |
61 | ldr r3, =_iend | 66 | ldr r3, =_iend |
@@ -64,8 +69,7 @@ start: | |||
64 | cmp r3, r2 | 69 | cmp r3, r2 |
65 | strhi r4, [r2], #4 | 70 | strhi r4, [r2], #4 |
66 | bhi 1b | 71 | bhi 1b |
67 | #endif | 72 | |
68 | #if 1 | ||
69 | /* Copy the IRAM */ | 73 | /* Copy the IRAM */ |
70 | ldr r2, =_iramcopy | 74 | ldr r2, =_iramcopy |
71 | ldr r3, =_iramstart | 75 | ldr r3, =_iramstart |