From 9e9b90627a539f490f0ab760f6e7551595be9d54 Mon Sep 17 00:00:00 2001 From: armink Date: Fri, 11 Sep 2015 09:51:34 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E3=80=90=E5=AE=8C=E5=96=84=E3=80=91s?= =?UTF-8?q?tm32f10x=E5=B9=B3=E5=8F=B0Demo=EF=BC=8C=E5=9C=A8finsh=E4=B8=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0EasyFlash=E5=B8=B8=E7=94=A8=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=EF=BC=9B=202=E3=80=81=E3=80=90=E5=AE=8C=E5=96=84=E3=80=91flash?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=A7=BB=E6=A4=8D=E6=96=87=E6=A1=A3=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: armink --- .../stm32f10x/app/src/user_finsh_cmd.c | 42 +++++++++++++++++++ docs/zh/port/flash.md | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) 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)) { /* 设置日志格式 */