diff --git a/services/param/liteos/param_hal.c b/services/param/liteos/param_hal.c index 0b72ec8caa57be02da6fc62796ac0345efb0669f..7bad5c0129eda3c8dd62126fa44faca3a705c887 100644 --- a/services/param/liteos/param_hal.c +++ b/services/param/liteos/param_hal.c @@ -141,12 +141,17 @@ static int LoadPersistParam(void) PARAM_CHECK(ret >= 0, break, "Failed to read file %s", path); uint32_t currLen = 0; + char *tmp = buffer; while (currLen < fileSize) { if (buffer[currLen] == '\n') { // split line buffer[currLen] = '\0'; - ret = SplitParamString(buffer, NULL, 0, LoadOnePersistParam_, NULL); + ret = SplitParamString(tmp, NULL, 0, LoadOnePersistParam_, NULL); PARAM_CHECK(ret == 0, continue, "Failed to set param %d %s", ret, buffer); paramNum++; + if (currLen + 1 >= fileSize) { + break; + } + tmp = buffer + currLen + 1; } currLen++; } diff --git a/services/param/liteos/param_service.c b/services/param/liteos/param_service.c index 946e406323291fd3745af6dd805080f0ad960203..1b3f6cb97ec3130f96c2706f29d56ad189dde285 100644 --- a/services/param/liteos/param_service.c +++ b/services/param/liteos/param_service.c @@ -138,18 +138,6 @@ void LiteParamService(void) InitParamService(); // get persist param LoadPersistParams(); - osThreadAttr_t attr; - attr.name = "ParamServiceTask"; - attr.attr_bits = 0U; - attr.cb_mem = NULL; - attr.cb_size = 0U; - attr.stack_mem = NULL; - attr.stack_size = 0; - attr.priority = osPriorityBelowNormal; - - if (osThreadNew((osThreadFunc_t)ParamServiceTask, NULL, &attr) == NULL) { - PARAM_LOGE("Failed to create ParamServiceTask! %d", errno); - } } CORE_INIT(LiteParamService); #endif \ No newline at end of file