Clear SMFI regions and fix size of H2RAM window 1
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <common/macro.h>
|
||||||
|
|
||||||
volatile uint8_t __xdata __at(0x105A) HRAMWC;
|
volatile uint8_t __xdata __at(0x105A) HRAMWC;
|
||||||
volatile uint8_t __xdata __at(0x105B) HRAMW0BA;
|
volatile uint8_t __xdata __at(0x105B) HRAMW0BA;
|
||||||
volatile uint8_t __xdata __at(0x105C) HRAMW1BA;
|
volatile uint8_t __xdata __at(0x105C) HRAMW1BA;
|
||||||
@@ -10,8 +12,18 @@ volatile uint8_t __xdata __at(0xC00) smfi_cmd[256];
|
|||||||
volatile uint8_t __xdata __at(0xD00) smfi_dbg[256];
|
volatile uint8_t __xdata __at(0xD00) smfi_dbg[256];
|
||||||
|
|
||||||
void smfi_init(void) {
|
void smfi_init(void) {
|
||||||
// Semaphore
|
int i;
|
||||||
smfi_cmd[0] = 0x00;
|
|
||||||
|
// Clear command region
|
||||||
|
for (i = 0; i < ARRAY_SIZE(smfi_cmd); i++) {
|
||||||
|
smfi_cmd[i] = 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear debug region
|
||||||
|
for (i = 0; i < ARRAY_SIZE(smfi_dbg); i++) {
|
||||||
|
smfi_dbg[i] = 0x00;
|
||||||
|
}
|
||||||
|
|
||||||
// Signature
|
// Signature
|
||||||
smfi_cmd[1] = 0x76;
|
smfi_cmd[1] = 0x76;
|
||||||
smfi_cmd[2] = 0xEC;
|
smfi_cmd[2] = 0xEC;
|
||||||
@@ -24,7 +36,7 @@ void smfi_init(void) {
|
|||||||
|
|
||||||
// H2RAM window 1 address 0xD00 - 0xDFF, read/write
|
// H2RAM window 1 address 0xD00 - 0xDFF, read/write
|
||||||
HRAMW1BA = 0xD0;
|
HRAMW1BA = 0xD0;
|
||||||
HRAMW0AAS = 0x04;
|
HRAMW1AAS = 0x04;
|
||||||
|
|
||||||
// Enable H2RAM window 0 and 1 using LPC I/O
|
// Enable H2RAM window 0 and 1 using LPC I/O
|
||||||
HRAMWC |= 0x13;
|
HRAMWC |= 0x13;
|
||||||
|
Reference in New Issue
Block a user