docs: modify docs for riscv [1/1]

PD#SWPL-131748

Problem:
revise

Solution:
fix

Verify:
N/A

Change-Id: Ibadfe338b5373a81a3c52b784383ce15863100a0
Signed-off-by: shijie.xiong <shijie.xiong@amlogic.com>
diff --git a/docs/api/external.h b/docs/api/external.h
index 4b89bdd..32f3459 100644
--- a/docs/api/external.h
+++ b/docs/api/external.h
@@ -1,46 +1,14 @@
-/**
- * @defgroup librws librws
-
- * Tiny, cross platform websocket client C library.
- *
- * For more details, please refer to librws official documents: <a href="https://cocoapods.org/pods/librws">librws</a>
- *
- **/
 
 /**
- * @defgroup lwip lwIP
-
- * lwIP is a small independent implementation of the TCP/IP protocol suite.
- *
- * For more details, please refer to lwIP official documents: <a href="https://www.nongnu.org/lwip/2_1_x">lwIP</a>
- *
- **/
-
-/**
- * @defgroup mbedTLS mbedTLS
-
- * mbed TLS (formerly known as PolarSSL) makes it trivially easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) products,\n
- * facilitating this functionality with a minimal coding footprint.
- *
- * For more details, please refer to mbed official documents: <a href="https://tls.mbed.org/api/">mbedTLS</a>
- *
- **/
-
-/**
- * @defgroup nghttp2 nghttp2
-
- * nghttp2 is an implementation of HTTP/2 and its header compression algorithm HPACK in C.
- *
- * For more details, please refer to nghttp2 official documents: <a href="https://www.nghttp2.org/documentation/">nghttp2</a>
- *
- **/
-
-/**
- * @defgroup POSIX POSIX
-
- * The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems.\n
- * FreeRTOS+POSIX implements a subset of the POSIX threading API.
- *
- * For more details, please refer to lwIP official documents: <a href="https://www.freertos.org/Documentation/api-ref/POSIX/index.html">FreeRTOS+POSIX</a>
+ * @defgroup FreeRTOS FreeRTOS
+ * 
+ * Developed in partnership with the world's leading chip companies over an 18-year period,
+ * and now downloaded every 170 seconds, FreeRTOS is a market-leading real-time operating
+ * system (RTOS) for microcontrollers and small microprocessors. Distributed freely under the
+ * MIT open source license, FreeRTOS includes a kernel and a growing set of IoT libraries
+ * suitable for use across all industry sectors. FreeRTOS is built with an emphasis on
+ * reliability and ease of use.
+ * 
+ * For more details, please refer to FreeRTOS official documents: <a href="https://www.freertos.org/index.html">FreeRTOS</a>
  *
  **/
diff --git a/docs/contribution/add_library.md b/docs/contribution/add_library.md
index f5271ac..c3a5c25 100644
--- a/docs/contribution/add_library.md
+++ b/docs/contribution/add_library.md
@@ -64,35 +64,10 @@
 @endcode
 
 ### Step 4: Enable the new libs by default. ###
-Let's take ***products/speaker*** for example.
+Let's take ***products/aocpu*** for example.
 
-Add the following line to ***products/speaker/prj.conf***.
+Add the following line to ***products/aocpu/prj.conf***.
 
 @code
 CONFIG_ULOG=y
 @endcode
-
-### Step 5: Initialize the ulog. ###
-Add service startup with ***SERVICE_INIT***
-
-```c
-#ifdef CONFIG_ARM64
-#include "initcall.h"
-#endif
-
-void ulog_console_backend_init(void)
-{
-    ulog_init();
-    console.output = ulog_console_backend_output;
-
-    ulog_backend_register(&console, "console", RT_TRUE);
-
-    console_uart = iot_uart_open(0);
-
-}
-#ifdef CONFIG_ARM64
-SERVICE_INIT(ulog_console_backend_init);
-#endif
-...
-}
-```
diff --git a/docs/contribution/add_product.md b/docs/contribution/add_product.md
index a180222..ac272fe 100644
--- a/docs/contribution/add_product.md
+++ b/docs/contribution/add_product.md
@@ -6,7 +6,7 @@
 ### Step 1: Prepare your source code. ###
 Make directory ***products/aocpu***, and put your **main.c** into it.
 
-	mkdir -p products/speaker
+	mkdir -p products/aocpu
 
 ### Step 2: Add ***CMakeLists.txt***. ###
 Write ***CMakeLists.txt*** and put it into ***products/aocpu***.
diff --git a/docs/developer/build.md b/docs/developer/build.md
index 3d16e36..fa080c5 100644
--- a/docs/developer/build.md
+++ b/docs/developer/build.md
@@ -38,6 +38,6 @@
 
 ### Build Document ###
 
-	make docs
+	make docs DOCS_ARCH=riscv
 
-To view the local document, please open ***output/docs/html/index.html*** with any web browser.
+To view the local document, please open ***output/docs/riscv/html/index.html*** with any web browser.
diff --git a/docs/developer/debug_methods.md b/docs/developer/debug_methods.md
deleted file mode 100644
index 226dce4..0000000
--- a/docs/developer/debug_methods.md
+++ /dev/null
@@ -1,157 +0,0 @@
-How to use the debug methods    {#debug_methods}
-==========================
-
-At the FreeRTOS SDK,there are some debug methods supported.You could to use them to debug your program and find out the problem's root cause helpful.
-
-# debug methods list
-***
-## GCC option
-### finstrument-functions option
-* function:the linker link a function:it will invoke a hook function when enter the function,then invoke another function when exit the function.
-* The hook function has its fixed name _cyg_profile_func_enter and __cyg_profile_func_exit.
-* To be avoid invoke itself,the hook function need add no_instrument_function attribute.
-* example
-
-```c
-  void __attribute__((no_instrument_function))__cyg_profile_func_enter(void *this, void *call)
-  {
-        printf("enter func:0x%x, caller:0x%x\n", this, call);
-  }
-
-  void __attribute__((no_instrument_function))__cyg_profile_func_exit(void *this, void *call)
-
-  {
-        printf("exit func:0x%x, caller:0x%x\n", this, call);
-  }
-```
-* cmake option for **module**:set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finstrument-functions")
-* cmake option for **function**:set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finstrument-functions-exclude-function-list=instrument_function_hide")
-* cmake option for **file**:set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finstrument-functions-exclude-file-list=main.c")
-
-### __builtin_return_address function
-* function protype:void * __builtin_return_address (unsigned int level)
-* useage:This function returns the return address of the current function, or of one of its callers
-* note:It is used to 0 level to get return address of current function,other level is always return 0
-***
-## CLI command
-### task-stats command
-* enable the CLI support
-* type **task-stats** command:return the content of bellow title:
-
-  **name    number    state    priority    stack_depth    stack_watermark run(ms)     run(percent)**
-
-* name:task of name
-* number:task id
-* state:task status;X(running),B(blocked),R(ready to schedule),D(deleted)S(suspend)
-* priority:priority of task
-* stack_depth:stack depth of task
-* stack_watermark:the watermark of task stack;
-* run(ms):running time of this task;
-* run(percent) :running percent time of this task;
-***
-## backtrace
-### Step 1: How to enable Backtrace ###
-
-#### Choose your project
-
-If you already know the ***ARCH***, ***SOC***, ***BOARD*** and ***PRODUCT***,
-
-you could specify them by the command line parameters.
-
-	source scripts/env.sh [ARCH] [SOC] [BOARD] [PRODUCT]
-
-For ARCH arm64, SOC a1, BOARD ad401_a113l, PRODUCT speaker, you could type the following command.
-
-	source scripts/env.sh arm64 a1 ad401_a113l speaker
-
-Otherwise, you can choose the project interactively by the following command.
-
-	source scripts/env.sh
-
-#### Config your project
-
-	make menuconfig
-
-steps following:  **Libs Options** -> **Backtrace Support**
-
-### Step 2: How to enable sym table print ###
-
-If you use the following command:
-
-	make
-
-When an exception occurs, the output format is as follows:
-
-	ESR:     96000007
-	SPSR:    20000004
-	ELR:     13cb4
-	LR:      13cb4
-	========== Call stack ==========
-	[<0000000000013cb4>] N/A
-	[<000000000001b094>] N/A
-	[<000000000001c194>] N/A
-	[<fffffffffffffffc>] N/A
-	==========    End    ==========
-
-If you use the following command:
-
-	make backtrace
-
-When an exception occurs, the output format is as follows:
-
-	ESR:     96000007
-	SPSR:    20000004
-	ELR:     13cb4
-	LR:      13cb4
-	========== Call stack ==========
-	[<0000000000013cb4>] cmd_read32+0x154/0x250
-	[<000000000001b094>] FreeRTOS_CLIProcessCommand+0xa4/0x3b0
-	[<000000000001c194>] FreeRTOS_CLIEnterConsoleLoop+0x294/0x740
-	[<fffffffffffffffc>] N/A
-	==========    End    ==========
-
-### Step 3: How to via backtrace help for debug ###
-
-Backtrace default used when program crash (*Asynchronous exception)*) .
-
-Also you can use to other place like this:
-
-print current context stack when **dump_stack()** called by assertion.
-***
-## version management
-  when you compile your project complete,RTOS SDK will collect git information and general a report sheet in a output file.
-### source code
-The file's path is **output/project_fullname/freertos/sdk_ver.h**.You can use them to trace your source code version.The sheet is follow:
-
-        [cm_hash  remote_name  branch      ]
-        [f7e725c  boar riscv   amlogic-dev ]
-        [c9d7923  arch riscv   (HEAD       ]
-        [db5a75b  soc  riscv   (HEAD       ]
-        [cfc1e49  scripts      (HEAD       ]
-        [a341cbe  libc         (HEAD       ]
-        [e72fb29  freertos     (HEAD       ]
-        [601c9d0  prod aocpu   (HEAD       ]
-        [c6e9858  build        (HEAD       ]
-        [46573f9  drivers_aocp (HEAD       ]
-* col_1st:the locate newest commit short hash number
-* col_2nd:remote git repository name,first section+last section composite
-* col_3rd:locate branch name.HEAD,no means that not to build a branch at local
-
-### binary file
-  For binary file,it will enable the switch to output version message
-  * support arch:**arm64/riscv**
-  * select VERSION_FULL_INFO in the board name's Kconfig
-  * make distclean && make
-***
-## module size statistics
-  when you compile your project complete,it will calculate the module size and report them in a output file.
-* support arch:**arm64/riscv/xtensa**
-* statistics file path:**output/project_fullname/freertos/freertos_module_info.txt**
-* report contents:
-  + customer section size
-  + module size summary
-  + binary size summary
-* notes:There is few data error cause that xcc map file not to describe align data.It is less than 10 as far as we know
-* more details in freertos_module_info.txt
-***
-
diff --git a/docs/developer/developer.md b/docs/developer/developer.md
index c19c69f..705c969 100644
--- a/docs/developer/developer.md
+++ b/docs/developer/developer.md
@@ -3,12 +3,7 @@
 
 Content:
 
-- @subpage filesystem
 - @subpage sdk_arch
-- @subpage source_tree
-- @subpage memory_layout
 - @subpage sys_requirements
 - @subpage build
-- @subpage debug_methods
-- @subpage memory_error_detection
 - @subpage shell_functions
diff --git a/docs/developer/file_system.md b/docs/developer/file_system.md
deleted file mode 100644
index f50d55c..0000000
--- a/docs/developer/file_system.md
+++ /dev/null
@@ -1,132 +0,0 @@
-How to Use File System    {#filesystem}
-==========================
-
-If you want to use the filesystem, you need to include ***<sys_vfs.h>*** header files.
-
-### How to create/delete directory ###
-
-#### Create directory
-
-```c
-void directory_create(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-
-	int err = mkdir(DEMOPATH, 0755);
-	if (err)
-		printk("Error creating %s (%d)", DEMOPATH, err);
-}
-```
-
-#### Delete directory
-
-```c
-void delete_directory(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-
-	int err = remove(DEMOPATH);
-	if (err)
-		printk("Failed to remove %s (%d)", path, err);
-}
-```
-
-### How to create/delete file ###
-
-#### Create file
-
-```c
-void file_create(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-
-	int fd = open(DEMOPATH, O_RDWR | O_CREAT);
-	if (fd == -1)
-		printk("open %s error\r\n", DEMOPATH);
-	else
-		close(fd);
-}
-```
-
-#### Delete file
-
-```c
-void file_delete(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-
-	int err = remove(DEMOPATH);
-	if (err)
-		printk("Failed to remove %s (%d)", DEMOPATH, err);
-}
-```
-### How to write/read file ###
-
-#### Read file
-
-```c
-void file_read(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-	char buffer[81];
-	uint32_t length;
-	int fd = open(DEMOPATH, O_RDONLY);
-
-	if (fd == -1) {
-		printk("open %s error\r\n", DEMOPATH);
-		return;
-	}
-
-	do {
-	memset(buffer, 0, sizeof(buffer));
-	length = read(fd, buffer, sizeof(buffer) - 1);
-	if (length > 0)
-		printk("%s", buffer);
-	} while (length > 0);
-
-	close(fd);
-}
-```
-
-#### Write file
-
-```c
-void file_write(void)
-{
-#if defined(CONFIG_SPINAND)
-#define DEMOPATH "/data/demo"
-#else
-#define DEMOPATH "/user/demo"
-#endif
-
-	int fd = open(DEMOPATH, O_RDWR | O_CREAT);
-	if (fd == -1) {
-		printk("open %s error\r\n", DEMOPATH);
-		return;
-	}
-
-	write(fd, "amlogic demo", sizeof("amlogic demo"));
-
-	close(fd);
-}
-```
diff --git a/docs/developer/memory_error_detection.md b/docs/developer/memory_error_detection.md
deleted file mode 100644
index 3714904..0000000
--- a/docs/developer/memory_error_detection.md
+++ /dev/null
@@ -1,61 +0,0 @@
-How to Use Memory Error Detection {#memory_error_detection}
-===============
-
-To dynamic memory debug, please follow the procedure below:
-
-### Step 1: Memory out-of-bounds example ###
-
-Create a memory out-of-bounds case:
-
-```c
-void memory_test(void)
-{
-    static uint8_t *pBuf = NULL;
-    pBuf = malloc(5);
-    memset(pBuf, 0, 10);
-}
-```
-
-Execute the out-of-bounds scan command on the serial console:
-
-	ad409_a113l> heap overflow
-
-The scan results are as follows(compile by *make backtrace*):
-
-	ERROR!!! detected buffer overflow(TAIL)
-		Task owner:(console) buffer address:(2c3350) request size:(5) block size:(48)
-		CallTrace:
-		[<00000000000144ac>] total_heap_info+0x6c/0x90
-		[<000000000001b0a4>] FreeRTOS_CLIProcessCommand+0xa4/0x3b0
-		[<000000000001c1a4>] FreeRTOS_CLIEnterConsoleLoop+0x294/0x740
-		[<fffffffffffffffc>] N/A
-		[<00000000002d2bc0>] N/A
-	Memory out of bounds occurs (1) times
-
-### Step 2: Memory leak example ###
-
-Create a memory leak case:
-
-```c
-void memory_test(void)
-{
-    static uint8_t *pBuf = NULL;
-    pBuf = pvPortMalloc(5);
-    pBuf = NULL;
-}
-```
-
-Execute the memory leak scan command on the serial console:
-
-	ad409_a113l> heap leak
-
-The scan results are as follows(compile by *make backtrace*):
-
-	WARNING!!! detected buffer leak
-		Task owner:(console) buffer address:(2c3350) request size:(5) block size:(48)
-		CallTrace:
-		[<00000000000142cc>] total_heap_info+0x6c/0x80
-		[<000000000001b094>] FreeRTOS_CLIProcessCommand+0xa4/0x3b0
-		[<000000000001c194>] FreeRTOS_CLIEnterConsoleLoop+0x294/0x740
-		[<fffffffffffffffc>] N/A
-		[<00000000002d2bc0>] N/A
diff --git a/docs/developer/memory_layout.md b/docs/developer/memory_layout.md
deleted file mode 100644
index dd72015..0000000
--- a/docs/developer/memory_layout.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Memory Layout	{#memory_layout}
-=======================
-
-## RAM Layout ##
-
-Section		| Offset                    | Size(KB)|
--------------| ------------------------- | :-----------:
-ARM rtos 	|	0x00001000-0x0005ff000	| 6136(KB)
-
-
-## SRAM Layout ##
-
-
-## Flash Layout ##
diff --git a/docs/developer/source_tree.md b/docs/developer/source_tree.md
deleted file mode 100644
index edf5457..0000000
--- a/docs/developer/source_tree.md
+++ /dev/null
@@ -1,69 +0,0 @@
-Source Tree Structure	{#source_tree}
-=======================
-
-```c
-.
-├── arch			/* Architecture-specific code, including interrupt and cache operation. Each supported architecture has its own subdirectory. */
-│   ├── arm64			/* The specific architecture, which is chosen by ARCH environment variable */
-│   ├── riscv
-│   └── xtensa
-├── boards			/* Board related code and configuration files. */
-│   ├── arm64
-│   │   ├── ad401_a113l		/* The specific board, which is chosen by BOARD environment variable */
-│   │   │   ├── defconfig		/* Default board configuration, which is correspond to HW configuration. */
-│   │   │   ├── lscript.h		/* The input file for Link script */
-│   │   │   └── ...
-│   │   ├── ad403_a113l
-│   │   ├── ad409_a113l
-│   │   ├── CMakeLists.txt
-│   │   ├── Kconfig
-│   │   └── lscript			/* Link script */
-│   ├── riscv
-│   │   └── ...
-│   └── xtensa
-├── build_system	/* The Build system for the SDK, containing Kconfig and CMake rules, cross toolchain. */
-├── CMakeLists.txt	/* The top-level file for the CMake build system, which is automatically generated by scripts. */
-├── docs			/* Technical documentation source files used to generate the http://tee.amlogic.com:8000/Documents/Ecosystem/RTOS/rtos-sdk/ web content. */
-├── drivers			/* Device driver code. */
-├── examples		/* Example applications that demonstrate the use of Amlogic RTOS SDK features. */
-│   ├── benchmark
-│   ├── fota
-│   ├── hello
-│   ├── net
-│   ├── shell
-│   ├── unity_test
-│   └── ...
-├── Kconfig			/* The top-level Kconfig file, which is automatically generated by scripts. */
-├── kernel			/* RTOS kernel code. * /
-├── lib				/* Various library code. */
-│   ├── cli
-│   ├── common_io
-│   ├── libc
-│   ├── libcurl
-│   ├── librws
-│   ├── lwip
-│   ├── mbedtls
-│   ├── nghttp2
-│   ├── osal
-│   ├── posix
-│   ├── setting
-│   ├── stack_trace
-│   ├── ulog
-│   ├── unity
-├── Makefile		/* The top-level file for the build system, containing a lot of the logic required to build SDK. */
-├── products		/* Product related code and configuration files. */
-│   ├── speaker			/* The specific product, which is chosen by PRODUCT environment variable */
-│   │   ├── CMakeLists.txt
-│   │   ├── main.c				/* Main function */
-│   │   └── prj.conf			/* Default product configuration file, which is correspond to SW configuration. */
-│   └── ...
-├── scripts			/* Bash and python scripts files, which are necessary to build the SDK. */
-├── soc				/* SoC related code. */
-│   ├── arm64
-│   │   ├── a1				/* The specific SoC, which is chosen by SOC environment variable */
-│   │   └── ...
-│   ├── riscv
-│   └── xtensa
-├── third_party		/* Third-party code. */
-└── wcn				/* Amlogic wireless connectivity support, including Bluetooth and Wi-Fi. */
-```
diff --git a/docs/user/commands.md b/docs/user/commands.md
deleted file mode 100644
index d44bde7..0000000
--- a/docs/user/commands.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Commands	{#commands}
-========
-
-Content:
-
-- @subpage system_commands
\ No newline at end of file
diff --git a/docs/user/getting_started.md b/docs/user/getting_started.md
deleted file mode 100644
index 0e4c26f..0000000
--- a/docs/user/getting_started.md
+++ /dev/null
@@ -1,48 +0,0 @@
-Getting Started	{#getting_started}
-===============
-
-This section illustrates how to run a shell sample on the  board.
-
-### Step 1: Connect the board to your PC through UART, and check the name of the serial port. ###
-
-	$ sudo dmesg
-	...
-	[ 3446.774090] usb 1-5.5: new full-speed USB device number 12 using xhci_hcd
-	[ 3446.877423] usb 1-5.5: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
-	[ 3446.877444] usb 1-5.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
-	[ 3446.877454] usb 1-5.5: Product: CP2102 USB to UART Bridge Controller
-	[ 3446.877461] usb 1-5.5: Manufacturer: Silicon Labs
-	[ 3446.877467] usb 1-5.5: SerialNumber: 0001
-	[ 3446.885160] cp210x 1-5.5:1.0: cp210x converter detected
-	[ 3446.888694] usb 1-5.5: cp210x converter now attached to ttyUSB0
-
-You will see similar log messages as mentioned above.
-
-### Step 2: Open the first serial port (ttyUSB0) on your PC. ###
-
-### Step 3: POWER on the board. ###
-
-You should see the following output:
-
-## Booting kernel from Legacy Image at 00001000 ...
-	Image Name:   rtos
-	Image Type:   AArch64 U-Boot Standalone Program (uncompressed)
-	Data Size:    1903394 Bytes = 1.8 MiB
-	Load Address: 00001000
-	Entry Point:  00001000
-	Verifying Checksum ... OK
-	Loading Standalone Program ... OK
-	UART initialized
-
-	Amlogic FreeRTOS - projects/amlogic-dev (2022-01-14 13:44:08)
-	GIC initialized
-	[ARM] Mailbox initialized
-	Clock initialized
-	GPIO IRQ initialized
-	WCN initialized
-	Wi-Fi initialized
-	Clock source initialized
-
-	Welcome to speaker!
-
-Now the board is ready to use.
diff --git a/docs/user/net_cmd.md b/docs/user/net_cmd.md
deleted file mode 100644
index 5d643a4..0000000
--- a/docs/user/net_cmd.md
+++ /dev/null
@@ -1,171 +0,0 @@
-Network Commands	{#network_commands}
-================
-
-@tableofcontents
-
-@section net_ping ping(for w1 shell)
-#### Ping is a network software utility used to test the reachability of a host on an Internet Protocol (IP) network. ####
-
-Usage:
-	ping <hostname/ip address>
-	[-c count]
-	[-s packetsize(byte)] [-t ttl]
-
-	ping stop
-
-#### Here is an example. ####
-
-	ping www.baidu.com -c 5 -s 200
-
-	PING www.baidu.com (180.97.34.96) 200(228) bytes of data.
-	ping: recv 180.97.34.96 142 ms
-	208 bytes from 180.97.34.96 : icmp_seq=1 ttl=52 time=142 ms
-	ping: recv 180.97.34.96 57 ms
-	208 bytes from 180.97.34.96 : icmp_seq=2 ttl=52 time=57 ms
-	ping: recv 180.97.34.96 91 ms
-	208 bytes from 180.97.34.96 : icmp_seq=3 ttl=52 time=91 ms
-	ping: recv 180.97.34.96 63 ms
-	208 bytes from 180.97.34.96 : icmp_seq=4 ttl=52 time=63 ms
-	ping: recv 180.97.34.96 56 ms
-	208 bytes from 180.97.34.96 : icmp_seq=5 ttl=52 time=56 ms
-	--- www.baidu.com ping statistics ---
-	5 packets transmitted, 5 received, 0.00% packet loss
-
-	> ping www.baidu.com
-
-	PING www.baidu.com (180.97.34.96) 32(60) bytes of data.
-	ping: recv 180.97.34.96 99 ms
-	40 bytes from 180.97.34.96 : icmp_seq=1 ttl=52 time=99 ms
-	ping: recv 180.97.34.96 52 ms
-	40 bytes from 180.97.34.96 : icmp_seq=2 ttl=52 time=52 ms
-	ping: recv 180.97.34.96 61 ms
-	40 bytes from 180.97.34.96 : icmp_seq=3 ttl=52 time=61 ms
-	ping: recv 180.97.34.96 54 ms
-	40 bytes from 180.97.34.96 : icmp_seq=4 ttl=52 time=54 ms
-	--- www.baidu.com ping statistics ---
-	4 packets transmitted, 4 received, 0.00% packet loss
-
-	> ping stop
-	--- www.baidu.com ping statistics ---
-	4 packets transmitted, 4 received, 0.00% packet loss
-
-@section net_ping6 ping6(for w1 shell)
-#### Ping6 is a network software utility used to test the reachability of a host on an Internet Protocol (IPv6) network. ####
-
-Usage:
-	ping6 <hostname/ip address>
-	[-c count]
-	[-s packetsize(byte)] [-t ttl]
-
-	ping6 stop
-
-#### Here is an example. ####
-
-	> ping6 ipv6.ustb.edu.cn
-
-	PING ipv6.ustb.edu.cn (2001:DA8:208:10::14) 32(80) bytes of data.
-	40 bytes from 2001:DA8:208:10::14 : icmp_seq=1  time=154 ms
-	40 bytes from 2001:DA8:208:10::14 : icmp_seq=2  time=101 ms
-	40 bytes from 2001:DA8:208:10::14 : icmp_seq=3  time=79 ms
-	40 bytes from 2001:DA8:208:10::14 : icmp_seq=4  time=120 ms
-	--- ipv6.ustb.edu.cn ping statistics ---
-	4 packets transmitted, 4 received, 0.00% packet loss
-
-	> ping6 2400:3200::1
-
-	PING 2400:3200::1 (2400:3200::1) 32(80) bytes of data.
-	40 bytes from 2400:3200::1 : icmp_seq=1  time=89 ms
-	40 bytes from 2400:3200::1 : icmp_seq=2  time=82 ms
-	40 bytes from 2400:3200::1 : icmp_seq=3  time=75 ms
-	40 bytes from 2400:3200::1 : icmp_seq=4  time=79 ms
-	--- 2400:3200::1 ping statistics ---
-	4 packets transmitted, 4 received, 0.00% packet loss
-
-@section net_ifconfig ifconfig (for w1 shell)
-#### List all interfaces those are up.
-
-	ifconfig
-
-#### Here is an example. ####
-
-	> ifconfig
-      loopwl1:  flags=31<UP,BROADCAST,RUNNING>  mtu 1476
-      inet 10.98.32.208  netmask 255.255.255.0
-      gateway 10.98.32.1  broadcast 10.98.32.255
-	  (ethernet)      ether 08:09:0a:58:16:05
-	  lo0:  flags=5<UP,LOOPBACK,RUNNING>  mtu 0
-      inet 127.0.0.1  netmask 255.0.0.0
-      gateway 127.0.0.1
-      (loopback)
-
-@section net_ping_broadcom ping(for broadcom shell)
-
-#### Ping is a network software utility used to test the reachability of a host on an Internet Protocol (IP) network. ####
-
-Usage:
-	ping <hostname/ip address>
-	[-c count]
-	[-l packetsize(byte)] [-e terminate]
-
-#### Here is an example. ####
-
-	> ping www.baidu.com -c 10 -l 1300
-	PING www.baidu.com(14.215.177.38) 1300(1328) bytes of data.
-	1308 bytes from 14.215.177.38: icmp_seq=1 ttl=53 time=76ms
-	1308 bytes from 14.215.177.38: icmp_seq=2 ttl=53 time=90ms
-	1308 bytes from 14.215.177.38: icmp_seq=3 ttl=53 time=94ms
-	1308 bytes from 14.215.177.38: icmp_seq=4 ttl=53 time=97ms
-	1308 bytes from 14.215.177.38: icmp_seq=5 ttl=53 time=89ms
-	1308 bytes from 14.215.177.38: icmp_seq=6 ttl=53 time=93ms
-	1308 bytes from 14.215.177.38: icmp_seq=7 ttl=53 time=96ms
-	1308 bytes from 14.215.177.38: icmp_seq=8 ttl=53 time=99ms
-	1308 bytes from 14.215.177.38: icmp_seq=9 ttl=53 time=92ms
-	1308 bytes from 14.215.177.38: icmp_seq=10 ttl=53 time=95ms
-
-	--- www.baidu.com ping statistics ---
-	10 packets transmitted, 10 received, 0% packet loss, time 9978ms
-
-	> ping www.baidu.com
-
-	PING www.baidu.com(14.215.177.39) 64(92) bytes of data.
-	72 bytes from 14.215.177.39: icmp_seq=1 ttl=53 time=101ms
-	72 bytes from 14.215.177.39: icmp_seq=2 ttl=53 time=94ms
-	72 bytes from 14.215.177.39: icmp_seq=3 ttl=53 time=97ms
-	72 bytes from 14.215.177.39: icmp_seq=4 ttl=53 time=89ms
-
-	> ping -e
-	--- www.baidu.com ping statistics ---
-	4 packets transmitted, 4 received, 0% packet loss, time 4408ms
-
-@section net_iperf_broadcom iperf (for broadcom shell)
-#### iperf is used to perform speed test.
-
-Usage:
-	iperf-tx <hostname/ip address> time(in seconds)
-	iperf-rx start/stop
-
-#### Here is an example. ####
-
-	> iperf-tx 192.168.1.223 10
-	start iperf client, server ip = 192.168.1.232,time = 10s
-	start iperf client finished.
-	!!! enter function: lwiperf_tcp_close reason=1 !!!
-
-	> iperf-rx start
-	!!! enter function: lwiperf_tcp_accept !!!
-
-	> iperf-rx stop
-
-@section net_ifconfig_broadcom ifconfig (for broadcom shell)
-#### List all interfaces those are up.
-
-	ifconfig
-
-#### Here is an example. ####
-
-	> ifconfig
-	wi:
-	mac=28:ed:e0:64:37:50
-	ip=192.168.1.162
-	gw=192.168.1.1
-	mask=255.255.255.0
diff --git a/docs/user/run_a_cmd.md b/docs/user/run_a_cmd.md
deleted file mode 100644
index 3ff1c01..0000000
--- a/docs/user/run_a_cmd.md
+++ /dev/null
@@ -1,18 +0,0 @@
-How to Run a Shell Command	{#run_a_cmd}
-==========================
-
-### Step 1: Type ***help*** to see all available commands. ###
-
-	ad401_a113l> help
-	dhrystone  heap  hello  mem  reboot  sleep  ulog  echo_parameters task-stats
-
-Note that command completion and the subcommand completion is available by pressing **TAB**.
-
-## Step 2: Type a specific command. ###
-Let's take ***hello*** for example.\n
-If ***hello*** is already enabled , then you can type the following command on console.
-
-	ad401_a113l> hello
-	Hello World!
-
-For more commands, please refer to [Commands](commands.html).
diff --git a/docs/user/set_log_level.md b/docs/user/set_log_level.md
deleted file mode 100644
index e0b2547..0000000
--- a/docs/user/set_log_level.md
+++ /dev/null
@@ -1,83 +0,0 @@
-How to Dynamically Tweak Log	{#set_log_level}
-================================
-
-### Overview
-The Amlogic RTOS SDK uses *ulog* to trace the log. Users can tweak log config dynamically with console command.
-
-To get the usage, please use following command.
-
-	ad409_a113l> ulog
-	shell cmds of ulog
-	  tool            [1]: enable tool, [0]: disable tool.
-	  filter          show ulog filter settings.
-	  setkw           [keyword] set ulog global filter keyword.
-	  settag          [tag] set ulog global filter tag.
-	  setlvl          [level] set ulog global filter level(1~7).
-	  settaglvl       [tag][level] set ulog filter level(1~7) with [tag].
-
-### Note
-The sub command of *tool* is used to trace BT HCI log. It would add HEX header with each log data for HCI parsing log.
-
-Please ignore this section if you don't have BT module.
-### Show Filter
-Type *ulog filter* to show current filter setting. The default value are as follows.
-
-	ad409_a113l> ulog filter
-	--------------------------------------
-	ulog global filter:
-	level   : Debug
-	tag     : NULL
-	keyword : NULL
-	--------------------------------------
-	ulog tag's level filter:
-	settings not found
-
-### Tweak
-Type *setkw settag setlvl settaglvl* to tweak the tag and level of log string. The *level* value is listed below.
-| Level   | Name | Value|    Description |
-| :----- | :--: | :--: |:-------- |
-| LOG_LVL_ASSERT |  assertion | 0 | Unhandled and fatal errors occurred, so that the system could not continue to run. These are assertion logs. |
-| LOG_LVL_ERROR |  error | 3| The log that is output when a serious, unrepairable error occurs is an error level log. |
-| LOG_LVL_WARNING |  warning | 4 | These warning logs are output when there are some less important errors with repairability. |
-| LOG_LVL_INFO | information| 6 | A log of important prompt information that is viewed by the upper-level user of the module, for example, initialization success, current working status, and so on. This level of log is generally retained during mass production. |
-| LOG_LVL_DBG | debug | 7 | The debug log that is viewed by the developer of this module. This level of log is generally closed during mass production. |
-
-As can be seen from the above classification, the output level of the log can be set in the following four aspects of ulog:
-
-* **Global static** log level:Defined to the `ULOG_OUTPUT_LVL` macro, reference the ulog_def.h.
-* **Global Dynamics** log level:Use the *ulog setlvl* command to set it.
-* **Module static** log level:The `LOG_LVL` macro is defined in the module (file), similar to the way the log tag macro `LOG_TAG` is defined.
-* **Module dynamics** log level:Use the *ulog settaglvl* command to set it.
-
-Their scope of action is **Global Static**>**Global Dynamics**>**Module Static**>**Module Dynamic**.
-
-If you want to change the LOG_LVL.  Let's take `LOG_LVL_INFO` for Example.
-Please type the following command.
-
-	ad409_a113l> ulog settaglvl Example 6
-	ad409_a113l> ulog filter
-	--------------------------------------
-	ulog global filter:
-	level   : Debug
-	tag     : NULL
-	keyword : NULL
-	--------------------------------------
-	ulog tag's level filter:
-			Example: Info
-
-
-### Restore
-If you want to restore the default setting, please use the commands below.
-### Clear the config without parameters
-
-	ulog settag
-
-### Clear the keyword without parameters
-
-	ulog setkw
-
-### Set the global dynamics level to LOG_LVL_DBG
-
-	ulog setlvl 7
-
-Then use *ulog filter* to check whether the value was restored.
diff --git a/docs/user/system_commands.md b/docs/user/system_commands.md
deleted file mode 100644
index 2b90fa9..0000000
--- a/docs/user/system_commands.md
+++ /dev/null
@@ -1,24 +0,0 @@
-System Commands {#system_commands}
-===============
-
-@tableofcontents
-
-@section task-stats task-stats
-Show the state of each task.
-
-	task-stats
-
-@section run-time-stats run-time-stats
-Show how much processing time each task has used.
-
-	run-time-stats
-
-@section sleep sleep
-Sleep for the specified time(in seconds).
-
-	sleep
-
-@section reboot reboot
-Reboot the whole system.
-
-	reboot
diff --git a/docs/user/update_firmware.md b/docs/user/update_firmware.md
deleted file mode 100644
index b6be7ec..0000000
--- a/docs/user/update_firmware.md
+++ /dev/null
@@ -1,64 +0,0 @@
-How to Update Firmware {#update_firmware}
-===============
-
-To update firmware, please follow the procedure below:
-
-### Step 1: Choose your project ###
-
-Select the package target by the following command.
-
-	source scripts/pkg_env.sh
-
-### Step 2: Generate package file ###
-
-Please use the following command in project root directory.
-
-	make package
-
-Let's take ***ad401_a113l*** board for example.
-Once the compilation is completed, the images can be found in the directory ***output/package/arm64-xtensa-a1-ad401_a113l/aml_upgrade_package.img***
-
-### Step 3: Prepare the burning environment ###
-
-Connect your PC with board via serial tools(usb-ttl)
-
-Keep pressing *Enter* key till you see the command prompt when rebooting the board.
-
-Now type *adnl* to enter flashing mode.
-
-	Hit any key to stop autoboot:  0
-	ad401# 
-	ad401# 
-	ad401# adnl
-	GPIOH_6: not found
-	PHY2=0xfe004420
-
-	USB RESET
-	SPEED ENUM
-	sof
-
-### Step 4: Burn package ###
-
-#### For Windows, use *Aml_Burn_Tool* ####
-Open *Aml_Burn_Tool* to identify board (make sure the USB connected)
-
-Click **Setting** -> **Load Img** and select **Reset After Burn** checkbox and finally click **Start**
-
-#### For Ubuntu, use *adnl_burn_pkg* ####
-Please use the following command in project root directory.
-
-	adnl_burn_pkg -p output/package/arm64-xtensa-a1-ad401_a113l/aml_upgrade_package.img -r 1
-
-Once the process is completed, you should see similar output as follows.
-
-	UART initialized
-
-	Amlogic FreeRTOS - projects/amlogic-dev (2022-01-14 15:44:11)
-	GIC initialized
-	[ARM] Mailbox initialized
-	Clock initialized
-	GPIO IRQ initialized
-	WCN initialized
-	Clock source initialized
-
-	Welcome to speaker!
diff --git a/docs/user/user.md b/docs/user/user.md
deleted file mode 100644
index d7361db..0000000
--- a/docs/user/user.md
+++ /dev/null
@@ -1,10 +0,0 @@
-User Guide	{#user_guide}
-==========
-
-Content:
-
-- @subpage getting_started
-- @subpage run_a_cmd
-- @subpage set_log_level
-- @subpage update_firmware
-- @subpage commands
\ No newline at end of file