diff --git a/demo/os/rt-thread/stm32f10x/app/src/user_finsh_cmd.c b/demo/os/rt-thread/stm32f10x/app/src/user_finsh_cmd.c index 02b7a7b..41813b5 100644 --- a/demo/os/rt-thread/stm32f10x/app/src/user_finsh_cmd.c +++ b/demo/os/rt-thread/stm32f10x/app/src/user_finsh_cmd.c @@ -10,6 +10,7 @@ #include #include "cpuusage.h" #include "elog_flash.h" +#include "easyflash.h" static void reboot(uint8_t argc, char **argv) { NVIC_SystemReset(); @@ -24,6 +25,47 @@ static void get_cpuusage(void) { } MSH_CMD_EXPORT(get_cpuusage, Get control board cpu usage); +void setenv(uint8_t argc, char **argv) { + uint8_t i; + char c_value = NULL; + char *value = &c_value; + if (argc > 3) { + /* environment variable value string together */ + for (i = 0; i < argc - 2; i++) { + argv[2 + i][rt_strlen(argv[2 + i])] = ' '; + } + } + if (argc == 1) { + ef_set_env(value, value); + } else if (argc == 2) { + ef_set_env(argv[1], value); + } else { + ef_set_env(argv[1], argv[2]); + } +} +MSH_CMD_EXPORT(setenv, Set an envrionment variable.); + +void printenv(uint8_t argc, char **argv) { + ef_print_env(); +} +MSH_CMD_EXPORT(printenv, Print all envrionment variables.); + +void saveenv(uint8_t argc, char **argv) { + ef_save_env(); +} +MSH_CMD_EXPORT(saveenv, Save all envrionment variables to flash.); + +void getvalue(uint8_t argc, char **argv) { + char *value = NULL; + value = ef_get_env(argv[1]); + if (value) { + rt_kprintf("The %s value is %s.\n", argv[1], value); + } else { + rt_kprintf("Can't find %s.\n", argv[1]); + } +} +MSH_CMD_EXPORT(getvalue, Get an envrionment variable by name.); + static void elog(uint8_t argc, char **argv) { if (argc > 1) { if (!strcmp(argv[1], "on") || !strcmp(argv[1], "ON")) { diff --git a/docs/zh/port/flash.md b/docs/zh/port/flash.md index 60403dd..7823917 100644 --- a/docs/zh/port/flash.md +++ b/docs/zh/port/flash.md @@ -92,7 +92,7 @@ void elog_flash_port_unlock(void) 每次使用前,务必核心功能都已经初始化完成,再调用`elog_flash_init()`方法对Flash插件进行初始化,保证初始化没问题后,再调用`elog_start()`方法启动EasyLogger,最后就可以使用Flash插件自带的API方法进行测试。如果使用的RT-Thread的Demo,则可以按照[这里的命令要求](https://github.com/armink/EasyLogger/tree/master/demo/os/rt-thread/stm32f10x#22-flash-log将日志保存到flash中),接上finsh串口,输入finsh命令即可测试。 摘取自STM32平台下RT-Thread Demo中的初始化过程([点击查看全部](https://github.com/armink/EasyLogger/blob/master/demo/os/rt-thread/stm32f10x/app/src/app_task.c)): -``` +```c /* 初始化EasyFlash及EasyLogger */ if ((easyflash_init() == EF_NO_ERR)&&(elog_init() == ELOG_NO_ERR)) { /* 设置日志格式 */