add bulk copy and read buffer
This commit is contained in:
parent
1b2b7ecbed
commit
c24d6ceb81
@ -265,15 +265,66 @@ void sram_write(uint32_t addr, uint8_t data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void sram_bulk_copy(uint32_t addr, uint8_t * src, uint32_t len)
|
||||||
void sram_clear(uint32_t addr, uint32_t len)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
uint8_t *ptr = src;
|
||||||
|
#ifdef DEBUG_SRAM
|
||||||
|
printf("sram_copy: addr=0x%08lx src=0x%p len=%li\n\r", addr,src,len);
|
||||||
|
#endif
|
||||||
|
sram_bulk_write_start(addr);
|
||||||
|
for (i = addr; i < (addr + len); i++){
|
||||||
|
sram_bulk_write(*ptr++);
|
||||||
|
sram_bulk_write_next();
|
||||||
|
}
|
||||||
|
sram_bulk_write_end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sram_bulk_read_buffer(uint32_t addr, uint8_t * dst, uint32_t len)
|
||||||
|
{
|
||||||
|
|
||||||
|
uint32_t i;
|
||||||
|
uint8_t *ptr = dst;
|
||||||
|
#ifdef DEBUG_SRAM
|
||||||
|
printf("sram_bulk_read_buffer: addr=0x%08lx dst=0x%p len=%li\n\r", addr,dst,len);
|
||||||
|
#endif
|
||||||
|
sram_bulk_read_start(addr);
|
||||||
|
for (i = addr; i < (addr + len); i++) {
|
||||||
|
*ptr = sram_bulk_read();
|
||||||
|
sram_bulk_read_next();
|
||||||
|
ptr++;
|
||||||
|
}
|
||||||
|
sram_bulk_read_end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sram_bulk_clear(uint32_t addr, uint32_t len){
|
||||||
|
uint32_t i;
|
||||||
|
#ifdef DEBUG_SRAM
|
||||||
|
printf("sram_bulk_clear: addr=0x%08lx len=%li\n\r", addr,len);
|
||||||
|
#endif
|
||||||
|
sram_bulk_write_start(addr);
|
||||||
for (i = addr; i < (addr + len); i++) {
|
for (i = addr; i < (addr + len); i++) {
|
||||||
if (0 == i % 0xfff)
|
if (0 == i % 0xfff)
|
||||||
#ifdef DEBUG_SRAM
|
#ifdef DEBUG_SRAM
|
||||||
printf("sram_clear: addr=0x%08lx\n\r", i);
|
printf("sram_bulk_clear: addr=0x%08lx\n\r", i);
|
||||||
|
#endif
|
||||||
|
sram_bulk_write(0xff);
|
||||||
|
sram_bulk_write_next();
|
||||||
|
}
|
||||||
|
sram_bulk_write_end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void sram_clear(uint32_t addr, uint32_t len)
|
||||||
|
{
|
||||||
|
uint32_t i;
|
||||||
|
#ifdef DEBUG_SRAM
|
||||||
|
printf("sram_clear: addr=0x%08lx len=%li\n\r", addr,len);
|
||||||
|
#endif
|
||||||
|
for (i = addr; i < (addr + len); i++) {
|
||||||
|
if (0 == i % 0xfff)
|
||||||
|
#ifdef DEBUG_SRAM
|
||||||
|
printf("sram_clear: addr=0x%08lx\n\r", i);
|
||||||
#endif
|
#endif
|
||||||
sram_write(i, 0x00);
|
sram_write(i, 0x00);
|
||||||
}
|
}
|
||||||
@ -285,7 +336,7 @@ void sram_copy(uint32_t addr, uint8_t * src, uint32_t len)
|
|||||||
uint32_t i;
|
uint32_t i;
|
||||||
uint8_t *ptr = src;
|
uint8_t *ptr = src;
|
||||||
#ifdef DEBUG_SRAM
|
#ifdef DEBUG_SRAM
|
||||||
printf("sram_copy: addr=0x%08lx src=0x%p len=%li\n\r", addr,src,len);
|
printf("sram_copy: addr=0x%08lx src=0x%p len=%li\n\r", addr,src,len);
|
||||||
#endif
|
#endif
|
||||||
for (i = addr; i < (addr + len); i++)
|
for (i = addr; i < (addr + len); i++)
|
||||||
sram_write(i, *ptr++);
|
sram_write(i, *ptr++);
|
||||||
@ -297,18 +348,19 @@ void sram_read_buffer(uint32_t addr, uint8_t * dst, uint32_t len)
|
|||||||
uint32_t i;
|
uint32_t i;
|
||||||
uint8_t *ptr = dst;
|
uint8_t *ptr = dst;
|
||||||
#ifdef DEBUG_SRAM
|
#ifdef DEBUG_SRAM
|
||||||
printf("sram_read_buffer: addr=0x%08lx dst=0x%p len=%li\n\r", addr,dst,len);
|
printf("sram_read_buffer: addr=0x%08lx dst=0x%p len=%li\n\r", addr,dst,len);
|
||||||
#endif
|
#endif
|
||||||
for (i = addr; i < (addr + len); i++) {
|
for (i = addr; i < (addr + len); i++) {
|
||||||
*ptr = sram_read(i);
|
*ptr = sram_read(i);
|
||||||
ptr++;
|
ptr++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t sram_check(uint8_t * buffer, uint32_t len)
|
uint8_t sram_check(uint8_t * buffer, uint32_t len)
|
||||||
{
|
{
|
||||||
uint16_t cnt;
|
uint16_t cnt;
|
||||||
#ifdef DEBUG_SRAM
|
#ifdef DEBUG_SRAM
|
||||||
printf("sram_check: len=%li\n\r",len);
|
printf("sram_check: len=%li\n\r",len);
|
||||||
#endif
|
#endif
|
||||||
for (cnt = 0; cnt < len; cnt++)
|
for (cnt = 0; cnt < len; cnt++)
|
||||||
if (buffer[cnt])
|
if (buffer[cnt])
|
||||||
|
|||||||
@ -142,10 +142,12 @@
|
|||||||
void system_init(void);
|
void system_init(void);
|
||||||
void sreg_set(uint32_t addr);
|
void sreg_set(uint32_t addr);
|
||||||
|
|
||||||
|
|
||||||
uint8_t sram_read(uint32_t addr);
|
uint8_t sram_read(uint32_t addr);
|
||||||
void sram_write(uint32_t addr, uint8_t data);
|
void sram_write(uint32_t addr, uint8_t data);
|
||||||
void sram_clear(uint32_t addr, uint32_t len);
|
void sram_clear(uint32_t addr, uint32_t len);
|
||||||
void sram_copy(uint32_t addr,uint8_t *src, uint32_t len);
|
void sram_copy(uint32_t addr,uint8_t *src, uint32_t len);
|
||||||
|
void sram_read_buffer(uint32_t addr,uint8_t *dst, uint32_t len);
|
||||||
|
|
||||||
void sram_bulk_read_start(uint32_t addr);
|
void sram_bulk_read_start(uint32_t addr);
|
||||||
inline void sram_bulk_read_next(void);
|
inline void sram_bulk_read_next(void);
|
||||||
@ -157,7 +159,6 @@ inline void sram_bulk_read_next(void);
|
|||||||
inline void sram_bulk_write_end(void);
|
inline void sram_bulk_write_end(void);
|
||||||
void sram_bulk_write(uint8_t data);
|
void sram_bulk_write(uint8_t data);
|
||||||
|
|
||||||
|
void sram_bulk_copy(uint32_t addr, uint8_t * src, uint32_t len);
|
||||||
|
void sram_bulk_read_buffer(uint32_t addr, uint8_t * dst, uint32_t len);
|
||||||
void sram_read_buffer(uint32_t addr,uint8_t *dst, uint32_t len);
|
void sram_bulk_clear(uint32_t addr, uint32_t len);
|
||||||
uint8_t sram_check(uint8_t *buffer, uint32_t len);
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user