From 6ccc0f05381c11f30f16367d4f6f7c2e4a94657b Mon Sep 17 00:00:00 2001 From: TuxSH Date: Fri, 19 May 2017 22:45:00 +0200 Subject: [PATCH] Add memset --- source/main.c | 7 +------ source/memory.c | 11 ++++++++++- source/memory.h | 3 ++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/source/main.c b/source/main.c index 7a7f976..22b40bb 100644 --- a/source/main.c +++ b/source/main.c @@ -33,7 +33,6 @@ #include "crypto.h" #include "fmt.h" #include "memory.h" -#include "i2c.h" extern CfgData configData; extern ConfigurationStatus needConfig; @@ -64,16 +63,12 @@ void main(int argc, char **argv) for(; i < 41; i++) launchedPath[i] = 0; - for(u32 i = 0; i < 8; i++) - launchedFirmTidLow[i] = 0; + memset(launchedFirmTidLow, 0, 16); break; } case 2: //Firmlaunch { - - i2cWriteRegister(I2C_DEV_MCU, 0x20, 1 << 0); - while(true); u32 i; u16 *p = (u16 *)argv[0]; for(i = 0; i < 40 && launchedPath[i] != 0; i++) diff --git a/source/memory.c b/source/memory.c index 4e29635..814e71b 100644 --- a/source/memory.c +++ b/source/memory.c @@ -36,6 +36,15 @@ void memcpy(void *dest, const void *src, u32 size) destc[i] = srcc[i]; } +void *memset(void *dest, u32 value, u32 size) +{ + u8 *destc = (u8 *)dest; + + for(u32 i = 0; i < size; i++) destc[i] = (u8)value; + + return dest; +} + void memset32(void *dest, u32 filler, u32 size) { u32 *dest32 = (u32 *)dest; @@ -80,4 +89,4 @@ u8 *memsearch(u8 *startPos, const void *pattern, u32 size, u32 patternSize) } return NULL; -} \ No newline at end of file +} diff --git a/source/memory.h b/source/memory.h index 3384757..04de7b2 100644 --- a/source/memory.h +++ b/source/memory.h @@ -30,6 +30,7 @@ #include "types.h" void memcpy(void *dest, const void *src, u32 size); +void *memset(void *dest, u32 value, u32 size) __attribute__((used)); void memset32(void *dest, u32 filler, u32 size); int memcmp(const void *buf1, const void *buf2, u32 size); -u8 *memsearch(u8 *startPos, const void *pattern, u32 size, u32 patternSize); \ No newline at end of file +u8 *memsearch(u8 *startPos, const void *pattern, u32 size, u32 patternSize);