forked from M-Labs/artiq
test_mode: flash storage access
This commit is contained in:
parent
9fceae7515
commit
53055a045d
|
@ -5,8 +5,8 @@
|
||||||
#ifndef __FLASH_STORAGE_H
|
#ifndef __FLASH_STORAGE_H
|
||||||
#define __FLASH_STORAGE_H
|
#define __FLASH_STORAGE_H
|
||||||
|
|
||||||
|
void fs_erase(void);
|
||||||
void fs_write(char *key, void *buffer, unsigned int buflen);
|
void fs_write(char *key, void *buffer, unsigned int buflen);
|
||||||
unsigned int fs_read(char *key, void *buffer, unsigned int buflen, unsigned int *remain);
|
unsigned int fs_read(char *key, void *buffer, unsigned int buflen, unsigned int *remain);
|
||||||
void fs_erase(void);
|
|
||||||
|
|
||||||
#endif /* __FLASH_STORAGE_H */
|
#endif /* __FLASH_STORAGE_H */
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "mailbox.h"
|
#include "mailbox.h"
|
||||||
#include "messages.h"
|
#include "messages.h"
|
||||||
#include "dds.h"
|
#include "dds.h"
|
||||||
|
#include "flash_storage.h"
|
||||||
#include "test_mode.h"
|
#include "test_mode.h"
|
||||||
|
|
||||||
/* bridge access functions */
|
/* bridge access functions */
|
||||||
|
@ -323,22 +324,38 @@ static void ddstest(char *n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (defined CSR_SPIFLASH_BASE && defined SPIFLASH_PAGE_SIZE)
|
||||||
|
static void fsread(char *key)
|
||||||
|
{
|
||||||
|
char buf[256];
|
||||||
|
int r;
|
||||||
|
|
||||||
|
r = fs_read(key, buf, sizeof(buf)-1, NULL);
|
||||||
|
buf[r] = 0;
|
||||||
|
puts(buf);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void help(void)
|
static void help(void)
|
||||||
{
|
{
|
||||||
puts("ARTIQ DDS/TTL Tester");
|
|
||||||
puts("Available commands:");
|
puts("Available commands:");
|
||||||
puts("help - this message");
|
puts("help - this message");
|
||||||
puts("clksrc <n> - select RTIO clock source");
|
puts("clksrc <n> - select RTIO clock source");
|
||||||
puts("ttlout <n> <v> - output TTL");
|
puts("ttlout <n> <v> - output TTL");
|
||||||
puts("ddssel <n> - select a DDS");
|
puts("ddssel <n> - select a DDS");
|
||||||
puts("ddsinit - reset, config, FUD DDS");
|
puts("ddsinit - reset, config, FUD DDS");
|
||||||
puts("ddsreset - reset DDS");
|
puts("ddsreset - reset DDS");
|
||||||
puts("ddsw <a> <d> - write to DDS register");
|
puts("ddsw <a> <d> - write to DDS register");
|
||||||
puts("ddsr <a> - read DDS register");
|
puts("ddsr <a> - read DDS register");
|
||||||
puts("ddsfud - pulse FUD");
|
puts("ddsfud - pulse FUD");
|
||||||
puts("ddsftw <n> <d> - write FTW");
|
puts("ddsftw <n> <d> - write FTW");
|
||||||
puts("ddstest <n> - perform test sequence on DDS");
|
puts("ddstest <n> - perform test sequence on DDS");
|
||||||
puts("leds <n> - set LEDs");
|
puts("leds <n> - set LEDs");
|
||||||
|
#if (defined CSR_SPIFLASH_BASE && defined SPIFLASH_PAGE_SIZE)
|
||||||
|
puts("fserase - erase flash storage");
|
||||||
|
puts("fswrite <k> <v> - write to flash storage");
|
||||||
|
puts("fsread <k> - read flash storage");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void readstr(char *s, int size)
|
static void readstr(char *s, int size)
|
||||||
|
@ -412,6 +429,12 @@ static void do_command(char *c)
|
||||||
else if(strcmp(token, "ddsftw") == 0) ddsftw(get_token(&c), get_token(&c));
|
else if(strcmp(token, "ddsftw") == 0) ddsftw(get_token(&c), get_token(&c));
|
||||||
else if(strcmp(token, "ddstest") == 0) ddstest(get_token(&c));
|
else if(strcmp(token, "ddstest") == 0) ddstest(get_token(&c));
|
||||||
|
|
||||||
|
#if (defined CSR_SPIFLASH_BASE && defined SPIFLASH_PAGE_SIZE)
|
||||||
|
else if(strcmp(token, "fserase") == 0) fs_erase();
|
||||||
|
else if(strcmp(token, "fswrite") == 0) fs_write(get_token(&c), c, strlen(c));
|
||||||
|
else if(strcmp(token, "fsread") == 0) fsread(get_token(&c));
|
||||||
|
#endif
|
||||||
|
|
||||||
else if(strcmp(token, "") != 0)
|
else if(strcmp(token, "") != 0)
|
||||||
printf("Command not found\n");
|
printf("Command not found\n");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue