diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 2c398669d2257a73f5ad4a78f4806a17f7162973..bcae9fe5576a8edcebf59883aaff479d32c8b7b7 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -9,6 +9,13 @@
- [STM32工程示例](project_stm32.md)
- [Hi3861V100 WiFi IoT工程示例](project_wifiiot.md)
-
+
+- 调测工具
+
+ - [Trace工具](trace.md)
+ - [栈估算工具](stackAnalysis.md)
+ - [镜像分析工具](buildAnalysis.md)
+ - [回溯栈分析工具](backTrace.md)
+
- [Windows常用快捷操作](studio_usage.md)
- [常见问题](studio_qa.md)
diff --git a/docs/backTrace.md b/docs/backTrace.md
new file mode 100644
index 0000000000000000000000000000000000000000..d41e3ee8f93ebd5a33a641a5db35c4d1c30ff907
--- /dev/null
+++ b/docs/backTrace.md
@@ -0,0 +1,23 @@
+
+
回溯栈分析工具
+
+
+LiteOS Studio可对输出的backtrace文件进行解析,自动标记回溯栈地址,支持快速解析出对应函数、文件行数,且支持文件跳转。
+
+
+### 1、回溯栈分析页面入口
+> 打开Liteos Studio工具,点击调测工具里的回溯栈分析tab页签,设置编译器、可执行文件路径等,选择backtrace文件(目前仅支持后缀为.backtrace的文件),然后点击确定进入回溯栈分析页面。
+
+
+
+> 或者直接打开backtrace文件
+
+### 2、回溯栈分析相关配置
+回溯栈分析依赖工程的elf文件、编译器类型、编译器路径,需在调测工具设置界面进行相关设置。
+
+### 3、回溯栈分析页面介绍
+如果配置好回溯栈分析的相关依赖,打开backtrace文件,回溯栈地址会高亮显示,鼠标移动到地址上时会显示代码行号,Ctrl+鼠标移动到地址上会显示函数名称且点击时可跳转到对应的代码行号。
+
+
+
+
\ No newline at end of file
diff --git a/docs/buildAnalysis.md b/docs/buildAnalysis.md
new file mode 100644
index 0000000000000000000000000000000000000000..ea5ab9381bd256f6916a1c28c54608aa1fd9c3b7
--- /dev/null
+++ b/docs/buildAnalysis.md
@@ -0,0 +1,46 @@
+
+
镜像分析工具
+
+
+LiteOS Studio对构建出的elf文件进行内存占用分析,支持LiteOS开发者快速评估内存段、符号表使用情况。
+
+
+### 1、镜像分析页面入口
+> 打开Liteos Studio工具,点击调测工具里的镜像分析tab页签,设置编译器、可执行文件路径等,然后点击确定进入镜像分析页面。
+
+
+
+> 或者通过打开命令行输入`build`找到`Build Analyzer`点击进入。
+
+
+
+### 2、镜像分析相关配置
+镜像分析依赖工程的elf文件、map文件、编译器类型、编译器路径,需在调测工具设置界面进行相关设置。镜像分析结果展示界面可修改elf文件路径,配置好elf文件路径后,可点击右边的按钮重新执行镜像分析。
+
+
+
+### 3、镜像分析页面介绍
+如果在调测工具中点击镜像分析时没有选择Map文件或者镜像分析依赖的Map文件中内存区域的数据为空时,进入镜像分析页面只有一个详细信息页签,否则有内存区域和详细信息两个页签。
+
+
+
+
+#### 内存区域
+内存区域包括每个内存区域数据的一个表格,包含了起始地址和结束地址以及内存占用。
+表格下面默认显示内存占比最高的前三个区域内容。
+点击不同的行会在下面仪表盘中显示点击行的数据。
+
+
+
+
+#### 详细信息
+详细信息里显示了Section和Symbol的信息。通过树表格展示层级关系,名称,VMA和LMA。双击Symbol子节点会跳转到具体的代码行号。
+
+页面也支持搜索Name定位到具体的行,然后通过键盘Enter键跳转到下一个符合搜索条件的行。
+
+
+
+
+同时,点击表头的每列会对该列数据进行排序。
+
+
\ No newline at end of file
diff --git a/docs/images/addBoard.png b/docs/images/addBoard.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c5d2603f2fa5d08b992d998fb362f3060381bee
Binary files /dev/null and b/docs/images/addBoard.png differ
diff --git a/docs/images/backtrace/backtraceEntry.png b/docs/images/backtrace/backtraceEntry.png
new file mode 100644
index 0000000000000000000000000000000000000000..9922efbe03786885b9cecc864fab4e464c8639b8
Binary files /dev/null and b/docs/images/backtrace/backtraceEntry.png differ
diff --git a/docs/images/backtrace/backtraceRes1.png b/docs/images/backtrace/backtraceRes1.png
new file mode 100644
index 0000000000000000000000000000000000000000..6de4d4c655c3b87f8831bb3b39998ae5463e6a03
Binary files /dev/null and b/docs/images/backtrace/backtraceRes1.png differ
diff --git a/docs/images/backtrace/backtraceRes2.png b/docs/images/backtrace/backtraceRes2.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d82d317ef9baf6382f864246ea32e04496288f9
Binary files /dev/null and b/docs/images/backtrace/backtraceRes2.png differ
diff --git a/docs/images/backtrace/backtraceRes3.png b/docs/images/backtrace/backtraceRes3.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f372892f57fd6b847ab39eb3abf8ce5da7e2dd1
Binary files /dev/null and b/docs/images/backtrace/backtraceRes3.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisConfig.png b/docs/images/buildAnalysis/buildAnalysisConfig.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e2a337fecf696a20bfd67efc021773e1299230b
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisConfig.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage1.png b/docs/images/buildAnalysis/buildAnalysisPage1.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c513e9ff8d1d39c0bf32f301de237e867eb8cfa
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage1.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage2.png b/docs/images/buildAnalysis/buildAnalysisPage2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ed3dc55e039c7e80d71b8e9e585408d9d2c37d0
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage2.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage3.png b/docs/images/buildAnalysis/buildAnalysisPage3.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9933ad6e72f8a4347dfe832b2a1cc394a2ccb62
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage3.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage4.png b/docs/images/buildAnalysis/buildAnalysisPage4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f43a8b08209c1bd4ec4e791cbd43ebea00838a5
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage4.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage5.png b/docs/images/buildAnalysis/buildAnalysisPage5.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fa4620496f623a7fe53acaa616c83e4e6985ca1
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage5.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisPage6.png b/docs/images/buildAnalysis/buildAnalysisPage6.png
new file mode 100644
index 0000000000000000000000000000000000000000..39a07457427aac65b12e431b5ae6d46b77a3101a
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisPage6.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisStart.png b/docs/images/buildAnalysis/buildAnalysisStart.png
new file mode 100644
index 0000000000000000000000000000000000000000..00ee27e90fd649d3556f8ecdcbc8fc21b2b16560
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisStart.png differ
diff --git a/docs/images/buildAnalysis/buildAnalysisStart2.png b/docs/images/buildAnalysis/buildAnalysisStart2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a61c0344c24c88d34f2df447a93c87040ab215f
Binary files /dev/null and b/docs/images/buildAnalysis/buildAnalysisStart2.png differ
diff --git a/docs/images/burn-succ4.png b/docs/images/burn-succ4.png
new file mode 100644
index 0000000000000000000000000000000000000000..d43f2f3e3025921eb17b303d50c1c6d89248ff7f
Binary files /dev/null and b/docs/images/burn-succ4.png differ
diff --git a/docs/images/burner-openocd.png b/docs/images/burner-openocd.png
new file mode 100644
index 0000000000000000000000000000000000000000..319ffb301560ae33b89b5dd1e4749fde061bbf58
Binary files /dev/null and b/docs/images/burner-openocd.png differ
diff --git a/docs/images/compilerConfig.png b/docs/images/compilerConfig.png
index a50ff60bf9b3f7442c780e660c1801d49423f79d..eda15f38b12cc6c8661bbe24ff429b9649c95298 100644
Binary files a/docs/images/compilerConfig.png and b/docs/images/compilerConfig.png differ
diff --git a/docs/images/componentConfig.png b/docs/images/componentConfig.png
index a12039f26b97b1ac7086faaa5a3eae9295646313..2309bcb9c0992a32d185d91e411ec59e64ae1393 100644
Binary files a/docs/images/componentConfig.png and b/docs/images/componentConfig.png differ
diff --git a/docs/images/debugTools.png b/docs/images/debugTools.png
new file mode 100644
index 0000000000000000000000000000000000000000..b560139c01ab02f13d2206c136a5a25a9fe484f1
Binary files /dev/null and b/docs/images/debugTools.png differ
diff --git a/docs/images/debuggerConfig2.png b/docs/images/debuggerConfig2.png
new file mode 100644
index 0000000000000000000000000000000000000000..500d9146db8b2e351984d310ff65aa9c6a7602c7
Binary files /dev/null and b/docs/images/debuggerConfig2.png differ
diff --git a/docs/images/hi3861/debuggerView2.png b/docs/images/hi3861/debuggerView2.png
new file mode 100644
index 0000000000000000000000000000000000000000..2527dfa864ee32ff1d472ce1e3ac4e90b038ff91
Binary files /dev/null and b/docs/images/hi3861/debuggerView2.png differ
diff --git a/docs/images/hi3861/debuggingView2.png b/docs/images/hi3861/debuggingView2.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3cd4be2bf16a71736898882e4fcf8b094d39883
Binary files /dev/null and b/docs/images/hi3861/debuggingView2.png differ
diff --git a/docs/images/newProject.png b/docs/images/newProject.png
index 162e98ed0c7ae749c22b95428603aaa156d3c8b6..a4fdc6c8c32e3ec7128d2939466ecfa53ac88d6d 100644
Binary files a/docs/images/newProject.png and b/docs/images/newProject.png differ
diff --git a/docs/images/setBurner_dropdown_openocd.png b/docs/images/setBurner_dropdown_openocd.png
new file mode 100644
index 0000000000000000000000000000000000000000..9479e9702fbcc53019242e2826b8eb9076d5031d
Binary files /dev/null and b/docs/images/setBurner_dropdown_openocd.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysis.png b/docs/images/stackAnalysis/stackAnalysis.png
new file mode 100644
index 0000000000000000000000000000000000000000..61bff382ac63d5c5a294db50d105f7f17bc20d1d
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysis.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisConfig.png b/docs/images/stackAnalysis/stackAnalysisConfig.png
new file mode 100644
index 0000000000000000000000000000000000000000..511eaeca2d57a0f419e282dc8660731a132f7f14
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisConfig.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisConfig2.png b/docs/images/stackAnalysis/stackAnalysisConfig2.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8e6aab430f4460e22c81ea8873ac1908e3c0ab0
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisConfig2.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisConfig3.png b/docs/images/stackAnalysis/stackAnalysisConfig3.png
new file mode 100644
index 0000000000000000000000000000000000000000..3aa7d59b34759ea22c15dab8304ed03e2093c65e
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisConfig3.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisConfig4.png b/docs/images/stackAnalysis/stackAnalysisConfig4.png
new file mode 100644
index 0000000000000000000000000000000000000000..1419158cf679c0c40502cccf11ed82f168c775d4
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisConfig4.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisEntry.png b/docs/images/stackAnalysis/stackAnalysisEntry.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1d82a8124d013c1a04d794bbf1672989c9720a6
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisEntry.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisRes1.png b/docs/images/stackAnalysis/stackAnalysisRes1.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4db6f6ad3db41d4faa36aca020b898ce8ddfc65
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisRes1.png differ
diff --git a/docs/images/stackAnalysis/stackAnalysisRes2.png b/docs/images/stackAnalysis/stackAnalysisRes2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9199fad20403c1711227680b032a3da17b2f61cd
Binary files /dev/null and b/docs/images/stackAnalysis/stackAnalysisRes2.png differ
diff --git a/docs/images/stm/componentConfig.png b/docs/images/stm/componentConfig.png
new file mode 100644
index 0000000000000000000000000000000000000000..c3818a5ba453c4b57b865e4dbeae82196413bf49
Binary files /dev/null and b/docs/images/stm/componentConfig.png differ
diff --git a/docs/images/stm/debugger.png b/docs/images/stm/debugger.png
index 8aa76a86ec1d76fc50c8fe44f5bf08773779e9bd..595d3f7e15861dd3c1b9e1120296948ad4c6da7d 100644
Binary files a/docs/images/stm/debugger.png and b/docs/images/stm/debugger.png differ
diff --git a/docs/images/stm/jlink_remote_burnner.png b/docs/images/stm/jlink_remote_burnner.png
new file mode 100644
index 0000000000000000000000000000000000000000..15d7d56d27680fd9fbba21f7e4d0f99374dd0cdc
Binary files /dev/null and b/docs/images/stm/jlink_remote_burnner.png differ
diff --git a/docs/images/stm/jlink_remote_debugger.png b/docs/images/stm/jlink_remote_debugger.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c41f5a414cbcd45b87d27771064cae3441ad400
Binary files /dev/null and b/docs/images/stm/jlink_remote_debugger.png differ
diff --git a/docs/images/stm/jlink_remote_server_1.png b/docs/images/stm/jlink_remote_server_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..6737042002a46a2347b8b736e00435e695652e67
Binary files /dev/null and b/docs/images/stm/jlink_remote_server_1.png differ
diff --git a/docs/images/stm/jlink_remote_server_2.png b/docs/images/stm/jlink_remote_server_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f85a54bae38cbbd6a8ef04fb5a9e2ad16a2b6873
Binary files /dev/null and b/docs/images/stm/jlink_remote_server_2.png differ
diff --git a/docs/images/stm/stm_burner.png b/docs/images/stm/stm_burner.png
index 56e5defe0e2afbed03a9fa5505b29b8e62777f72..7390d3e37e9358a4fb440714e27f5441244a65eb 100644
Binary files a/docs/images/stm/stm_burner.png and b/docs/images/stm/stm_burner.png differ
diff --git a/docs/images/stm/stm_clean_succ.png b/docs/images/stm/stm_clean_succ.png
index 39cfa79004118e999a1e8b6fc4e25663fac94c53..94f630d923f358065a8ddff5d0c4d6973a44b96b 100644
Binary files a/docs/images/stm/stm_clean_succ.png and b/docs/images/stm/stm_clean_succ.png differ
diff --git a/docs/images/stm/stm_compile_succ.png b/docs/images/stm/stm_compile_succ.png
index 1e8558949722ee1d9f24d755635f1be692d91967..8e34c9584a530233fbcb70db35f8281f9599b3c2 100644
Binary files a/docs/images/stm/stm_compile_succ.png and b/docs/images/stm/stm_compile_succ.png differ
diff --git a/docs/images/stm/stm_compiler.png b/docs/images/stm/stm_compiler.png
index 4be1e752e897d2712561d74a46607c0685e5665d..8d2e8f81b37b7e4d8b33db40dcd3a6b32ca2a467 100644
Binary files a/docs/images/stm/stm_compiler.png and b/docs/images/stm/stm_compiler.png differ
diff --git a/docs/images/toolbarview.png b/docs/images/toolbarview.png
index 013d9623523d62a34a4fec70db6bcf9cc32cac79..079db34ddd0af98f26a5642f22ad543ddce78a29 100644
Binary files a/docs/images/toolbarview.png and b/docs/images/toolbarview.png differ
diff --git a/docs/images/trace/Server/traceAgent.png b/docs/images/trace/Server/traceAgent.png
new file mode 100644
index 0000000000000000000000000000000000000000..402d290c07e3774dccd096f68afd9b9c59f19cfe
Binary files /dev/null and b/docs/images/trace/Server/traceAgent.png differ
diff --git a/docs/images/trace/Server/traceEnable.png b/docs/images/trace/Server/traceEnable.png
new file mode 100644
index 0000000000000000000000000000000000000000..663d7fcf61cdbe3005daf5946374561633595e13
Binary files /dev/null and b/docs/images/trace/Server/traceEnable.png differ
diff --git a/docs/images/trace/Server/traceHook.png b/docs/images/trace/Server/traceHook.png
new file mode 100644
index 0000000000000000000000000000000000000000..dab4a418279d08ed8b96e7221be44b9d1377e4e2
Binary files /dev/null and b/docs/images/trace/Server/traceHook.png differ
diff --git a/docs/images/trace/Server/traceMask.png b/docs/images/trace/Server/traceMask.png
new file mode 100644
index 0000000000000000000000000000000000000000..52ef4e2b3c897e7f452d7414d1f7965ae438bc45
Binary files /dev/null and b/docs/images/trace/Server/traceMask.png differ
diff --git a/docs/images/trace/Server/traceOpt.png b/docs/images/trace/Server/traceOpt.png
new file mode 100644
index 0000000000000000000000000000000000000000..6644098644efd9273b835e7a2400dbaeeda34d83
Binary files /dev/null and b/docs/images/trace/Server/traceOpt.png differ
diff --git a/docs/images/trace/Server/traceParams.png b/docs/images/trace/Server/traceParams.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ca1426d179835dc26f946a4550c82711052ff25
Binary files /dev/null and b/docs/images/trace/Server/traceParams.png differ
diff --git a/docs/images/trace/Server/tracePipeline.png b/docs/images/trace/Server/tracePipeline.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb14d8c8299e9b86fa22a9a68b08befe143384fb
Binary files /dev/null and b/docs/images/trace/Server/tracePipeline.png differ
diff --git a/docs/images/trace/Server/tracePipelineInit.png b/docs/images/trace/Server/tracePipelineInit.png
new file mode 100644
index 0000000000000000000000000000000000000000..b52cc89f7f361f80b49c089664ab01f1326ec183
Binary files /dev/null and b/docs/images/trace/Server/tracePipelineInit.png differ
diff --git a/docs/images/trace/Server/traceType.png b/docs/images/trace/Server/traceType.png
new file mode 100644
index 0000000000000000000000000000000000000000..74109099619a807a9f0216ec5167e60e3e8daf20
Binary files /dev/null and b/docs/images/trace/Server/traceType.png differ
diff --git a/docs/images/trace/Server/traceWorkMode.png b/docs/images/trace/Server/traceWorkMode.png
new file mode 100644
index 0000000000000000000000000000000000000000..dba7d5c916d9c7e37c31bf69b83f4de1f88e2b86
Binary files /dev/null and b/docs/images/trace/Server/traceWorkMode.png differ
diff --git a/docs/images/trace/traceCpu1.png b/docs/images/trace/traceCpu1.png
new file mode 100644
index 0000000000000000000000000000000000000000..068d8f2e48999f6b2e073f3903914e62421e784c
Binary files /dev/null and b/docs/images/trace/traceCpu1.png differ
diff --git a/docs/images/trace/traceCpu2.png b/docs/images/trace/traceCpu2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6d884c4e2a7ca61d31131bf2ab6bc144fddecd7
Binary files /dev/null and b/docs/images/trace/traceCpu2.png differ
diff --git a/docs/images/trace/traceEntry.png b/docs/images/trace/traceEntry.png
new file mode 100644
index 0000000000000000000000000000000000000000..1805430013c4f2ed6044ee2b19aca21dbb1bb121
Binary files /dev/null and b/docs/images/trace/traceEntry.png differ
diff --git a/docs/images/trace/traceEvent.png b/docs/images/trace/traceEvent.png
new file mode 100644
index 0000000000000000000000000000000000000000..13b79172b4cc32f12e9d7bfdf9652708165c00e6
Binary files /dev/null and b/docs/images/trace/traceEvent.png differ
diff --git a/docs/images/trace/traceMem.png b/docs/images/trace/traceMem.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa5958c4bafe606cbffeef0c5b4f6073b167593f
Binary files /dev/null and b/docs/images/trace/traceMem.png differ
diff --git a/docs/images/trace/traceSettings.png b/docs/images/trace/traceSettings.png
new file mode 100644
index 0000000000000000000000000000000000000000..986a77e60a984245608922203a79706015b79212
Binary files /dev/null and b/docs/images/trace/traceSettings.png differ
diff --git a/docs/images/trace/traceSettings2.png b/docs/images/trace/traceSettings2.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbc477a41db7256aa6d2cadf671d36d5653765df
Binary files /dev/null and b/docs/images/trace/traceSettings2.png differ
diff --git a/docs/images/trace/traceSettings3.png b/docs/images/trace/traceSettings3.png
new file mode 100644
index 0000000000000000000000000000000000000000..491f0be539abf601bb5ca39f13e502da5eb5d179
Binary files /dev/null and b/docs/images/trace/traceSettings3.png differ
diff --git a/docs/images/trace/traceTimeline.png b/docs/images/trace/traceTimeline.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba72f2de121d00449b051defb8409071f6b129ed
Binary files /dev/null and b/docs/images/trace/traceTimeline.png differ
diff --git a/docs/images/trace/traceTools.png b/docs/images/trace/traceTools.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf09caa0c1a598b00bdd068079c9556367fbae10
Binary files /dev/null and b/docs/images/trace/traceTools.png differ
diff --git a/docs/images/trace/traceViews.png b/docs/images/trace/traceViews.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c99bc455f6e26ab6f5942cf91428a637e58a240
Binary files /dev/null and b/docs/images/trace/traceViews.png differ
diff --git a/docs/images/workspace.png b/docs/images/workspace.png
index 4f693528e446b609852baeabc832e8cd717cf918..e1f67acfd5b1fff43616bec6cc6c7a76d9abfacb 100644
Binary files a/docs/images/workspace.png and b/docs/images/workspace.png differ
diff --git a/docs/install.md b/docs/install.md
index df4c1705c574e4d6f09c6db8278b82e0c3694e6b..5625069f04524ed65a6082ece56153a4f4c865c3 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -68,13 +68,11 @@
建议将`JLink.exe`所在目录加入`PATH`环境变量。
-#### 中文语言包与C/C++扩展安装
+#### 中文语言包安装
为了更直观地向中文用户介绍`HUAWEI LiteOS Studio`,本文档所用`HUAWEI LiteOS Studio`安装了中文语言包扩展`vscode-language-pack-zh-hans`。当前用户能够获取的`HUAWEI LiteOS Studio`默认不预置中文语言包,因此界面默认显示为英文。
-C/C++扩展能够提供`HUAWEI LiteOS Studio`对C/C++语言的支持,包括了C/C++语言代码高亮、转到定义等功能。
-
-用户可以通过执行本站提供的扩展自动下载程序下载中文语言包和C/C++扩展,默认下载到`C:\Users\\.huawei-liteos-studio\extensions\extension-collections`目录,可参考[扩展安装](/extension?id=扩展安装)完成安装。
+用户可以通过执行本站提供的扩展自动下载程序下载中文语言包扩展,默认下载到`C:\Users\\.huawei-liteos-studio\extensions\extension-collections`目录,可参考[扩展安装](/extension?id=扩展安装)完成安装。
**注意:通过本站提供的下载程序下载`中文语言包`,需要先安装`git for windows`工具,并加入环境变量。**
diff --git a/docs/introduction.md b/docs/introduction.md
index 25248c85f87091f78e479793c334da23f1618ee4..6465305ad58f6dd6266f85254bca9daa708c1471 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -51,6 +51,8 @@
**串口终端** 单击, 打开串口终端界面。
+**调测工具** 单击, 打开调测工具界面。
+
**工程配置** 单击 (`F4`),打开工程配置界面。
@@ -114,11 +116,16 @@
通过添加厂商、内核名称两个筛选条件,也可以展示筛选后支持的开发板信息。
+目标板配置界面支持用户自行添加目标板信息,点击信息面板上的`+`号,即可增添一行空行,其中`厂商`、`目标板名称`、`设备名称`、`内核名称`四栏必须填写,填写完成后,单击回车,鼠标选中刚添加的一行,点击确认保存,即可使用新增的目标板信息进行后续配置。对于自行添加的信息行,鼠标移至行上时,`操作`栏将出现`-`号,点击即可删除该行,同时,在自行添加的行上双击,即可重新对该行进行编辑。
+
+ 
+
+ **注意:**
+ 新增目标板需要在编译、烧录、调试等方面满足`HUAWEI LiteOS Studio`所支持的工具与架构,当前版本`HUAWEI LiteOS Studio`仅支持`arm/riscv32`的编译方式,`JLink/Hiburn`的烧录方式和`JLink`的调试方式。同时,对应的工程源码也应完成在windows上的适配,如所使用的工具、架构或编译、烧录、调试等流程所使用的命令与预置的几款开发板有明显差异,则不支持自行添加开发板。
-#### 组件配置界面介绍
-点击工程配置页面左侧的`组件配置`选项进入组件配置界面,首次启动仅展示本地已有的组件。点击左侧组件列表,在右侧组件属性栏通过勾选为组件使能,或输入具体的参数值,点击确认按钮保存后,`HUAWEI LiteOS Studio`将在后台打开组件对应的宏开关,将使能的组件与更新后的属性值加入编译。
-**注意:** 目前仅`WiFi IoT`开发板`Hi3861V100`支持组件化配置。
+#### 组件配置界面介绍
+点击工程配置页面左侧的`组件配置`选项进入组件配置界面,首次启动仅展示本地已有的组件。点击左侧组件列表,在右侧组件属性栏通过勾选为组件使能,或输入具体的参数值,点击确认按钮保存后,`HUAWEI LiteOS Studio`将在后台打开组件对应的宏开关,将使能的组件与更新后的属性值加入编译。用户可以使用`CTRL` + `F`键调出组件搜索框,填入关键字进行搜索,若匹配成功,右侧组件属性区域将显示搜索结果,用户能够点击向上、向下箭头切换搜索结果,搜索框提供了区分大小写、全字匹配、使用正则表达式三种模式。

diff --git a/docs/project_stm32.md b/docs/project_stm32.md
index cc6fa3535170579358d8b4c4d4f94db560fb995f..b479254488beddef6f0e92f80d00ee620968a04a 100644
--- a/docs/project_stm32.md
+++ b/docs/project_stm32.md
@@ -7,7 +7,13 @@
### 搭建Windows开发环境
-用户需要根据实际情况,安装`git for windows`工具、`GNU Arm Embedded Toolchain`编译交叉工具链、`Make.exe`构建工具、`JLink`仿真器。如果用户使用`OpenOCD`烧录,还需要安装`OpenOCD`烧录工具。
+`STM32`工程使用`Makefile`进行构建管理, 需要安装`Python`和`Kconfiglib`库、`Make.exe`构建工具, 推荐`Python 3.7`以上版本。
+
+`STM32`工程使用`GNU Arm Embedded Toolchain`编译交叉工具链,使用`JLink`仿真器。
+
+如果使用`OpenOCD`烧录,还需要安装`OpenOCD`烧录工具。
+
+如果需要新建工程,还应该安装`git for windows`工具。
对于一些`STM32`开发板,用户可能还需要安装USB转串口驱动。
@@ -15,14 +21,14 @@
如果用户需要使用新建工程功能下载开源工程SDK,则应根据情况安装`git for windows`工具,可参考[安装Git工具](/install?id=安装Git工具)。
-#### 安装GNU Arm Embedded Toolchain软件
-
-`开源LiteOS`工程使用`ARM GCC`编译器进行编译,需要安装编译器软件,可参考[安装arm-none-eabi软件](/install?id=安装arm-none-eabi软件)。
-
#### 安装GNU Make等构建软件
`开源LiteOS`工程使用`Makefile`文件组织编译和链接程序,需要安装`GNU Make`工具,可参考[安装Make构建软件](/install?id=安装Make构建软件)。
+#### 安装GNU Arm Embedded Toolchain软件
+
+`开源LiteOS`工程使用`ARM GCC`编译器进行编译,需要安装编译器软件,可参考[安装arm-none-eabi软件](/install?id=安装arm-none-eabi软件)。
+
#### 安装JLink仿真器软件
如果开发板使用`JLink`仿真器,则应根据情况安装`JLink`软件,可参考[安装JLink仿真器软件](/install?id=安装JLink仿真器软件)。
@@ -44,11 +50,11 @@
**步骤 3** 选择SDK版本号,当前STM32工程被维护在`https://gitee.com/`,支持最新版本`master`分支
-**步骤 4** 在开发板信息表点选开发板所在行,目前默认提供`STM32F103ZE`、`STM32F429IG`、`STM32L431RC`、`STM32F769NI`四种开发板
+**步骤 4** 在开发板信息表点选开发板所在行,目前默认提供`STM32F429IG`、`STM32L431RC`、`STM32F769NI`三种开发板
点击`确认`按钮,后台将下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开新建的工程。
-
+
#### 打开工程
@@ -62,6 +68,12 @@

+#### 组件配置-组件使能与属性修改(可选)
+
+如需对LiteOS开放可配置的组件与属性进行使能,而不是仅使用默认的配置,用户可以点击工程配置界面上的`组件配置`,在左侧的`选择组件`中点击想要使能或修改的组件,在右侧的`组件属性`栏勾选需要使能的组件,或更改组件属性值,点击确认按钮保存。
+
+
+
#### 编译配置-编译代码
**步骤 1** 点击工程配置界面上的`编译器`
@@ -74,11 +86,13 @@
**步骤 4** `Make构建器`用户需要自行下载`Make.exe构建工具`,已提供默认路径。通过本站提供的自动下载程序,`Make.exe构建工具`就会安装到该路径下。用户也可自行指定安装目录,点击图标设置为`make.exe`所在路径
-**步骤 5** `Makefile脚本`路径需要用户自行填入,对于STM32工程,通常在`工程根目录`下的`Makefile`文件上`点击右键->设置为Makefile文件`,或点击图标进行自定义设置,也可使用按钮自动搜索脚本文件
+**步骤 5** `Makefile脚本`路径已填入默认值,用户也可以自行更改。对于STM32工程,在`工程根目录`下的`Makefile`文件上`点击右键->设置为Makefile文件`,或点击图标进行自定义设置,也可使用按钮自动搜索脚本文件
-**步骤 6** 配置好后点击确认按钮进行保存
+**步骤 6** `Make参数`已填入默认值,用户也可自行修改,编译`STM32`工程时若发现概率性编译失败的问题,可尝试修改参数为`-j 12`
-**步骤 7** 点击工具栏上的编译图标 开始编译,也可以点击重新构建图标 进行清理和重新编译
+**步骤 7** 配置好后点击确认按钮进行保存
+
+**步骤 8** 点击工具栏上的编译图标 开始编译,也可以点击重新构建图标 进行清理和重新编译
编译成功的截图示例如下:
@@ -109,19 +123,7 @@
**步骤 5** `连接方式`、`连接速率`、`加载地址`等保持默认,或根据开发板进行调整。配置好后点击确认按钮保存
-**步骤 6** 点击工程配置界面上的`串口配置`
-
-
-
-**步骤 7** 根据实际情况设置`端口`,比如下图使用的`USB`转串口的端口为`19`:
-
-
-
-**步骤 8** 设置`波特率`为`921600`, `数据位`、`停止位`、`奇偶`、`流控`保持默认即可
-
-**步骤 9** 配置好后点击确认按钮保存
-
-**步骤 10** 点击工具栏上的图标进行烧录
+**步骤 6** 点击工具栏上的图标进行烧录
烧录成功的截图如下:
@@ -274,3 +276,33 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务
正常执行调测,如图:

+
+### JLink远程烧录、调测
+
+#### 环境准备
+
+服务器端和客户端均需要安装`JLink`软件,且保持网络畅通
+
+#### 启动JLink远程服务器
+
+拥有开发板的一方,连接开发板,在JLink安装目录下,手动启动`JLinkRemoteServer.exe`应用程序,进行如下设置,即可等待用户连入:
+
+
+
+
+
+#### 使用HUAWEI LiteOS Studio远程烧录
+
+无开发板的一方,在编译生成烧录文件后,打开`工程配置`->`烧录器`,选择`JLink`烧录方式,选择端口为`IP`,并填入`远程JLink地址`,`远程JLink地址`填写远程服务器IPv4地址
+
+
+
+烧录器界面配置完成后点击确认按钮,再点击工具栏上的烧录按钮即可执行远程烧录任务
+
+#### 使用HUAWEI LiteOS Studio远程调试
+
+同上,打开`工程配置`->`调试器`,选择`JLink`调试方式,选择端口为`IP`,并填入`远程JLink地址`,`远程JLink地址`填写远程服务器IPv4地址
+
+
+
+同样,完成配置并确认后,点击调试按钮执行远程调试任务
\ No newline at end of file
diff --git a/docs/project_wifiiot.md b/docs/project_wifiiot.md
index 4ebec95661071ba1135189079fd748c2f8e10d25..26a513e996d47de5a769c41bbbf9d5b2f2c43eb7 100644
--- a/docs/project_wifiiot.md
+++ b/docs/project_wifiiot.md
@@ -61,6 +61,10 @@ pip install scons
请联系我们获取 `WiFi IoT SDK`,解压到本地工作目录。
+#### 安装OpenOCD软件
+
+请联系我们获取适配`WiFi IoT`开发板的`OpenOCD`软件, 解压放到本地工作目录。
+
### 使用入门
演示如何新建工程、编译、烧录、串口调试等功能。
@@ -81,11 +85,13 @@ pip install scons
**步骤 5** `工程参考`中可以填入本地路径,也可以填入远程gitee地址。使用远程gitee下载的方式时,需要联网,确保可以访问[润和 HiHope社区](https://gitee.com/hihopeorg)。如果联网需要代理,请提前配置好代理,否则新建工程会失败。配置代理方法参考[常见问题](/studio_qa?id=新建工程失败问题)。同时,需要确保本地已安装`git for windows`工具。
-填入远程gitee地址时,需要填入标签或分支的完整地址,例如`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-DevKit/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_Dev_Kit_SPC021_V1.0.1`(DevKit案例)或`https://gitee.com/hihopeorg/HiSpark-WiFi-IoT-OC/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_OC_Kit_SPC021_V1.0.1`(OC案例)
+**注意:由于润和社区为私有仓库,用户需要确保个人gitee账号已被润和社区加入仓库成员,才能通过远程下载方式新建工程,否则,请通过其他途径获取压缩包至本地,通过打开工程方式使用。**
+
+填入远程gitee地址时,需要填入标签或分支的完整地址,同时,在地址中加入gitee账号与密码,例如`https://%username%:%password%@gitee.com/hihopeorg/HiSpark-WiFi-IoT-DevKit/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_Dev_Kit_SPC021_V1.0.1`(DevKit案例)或`https://%username%:%password%@gitee.com/hihopeorg/HiSpark-WiFi-IoT-OC/tree/HiSpark_WiFi-IoT_VER_A_Hi3861_OC_Kit_SPC021_V1.0.1`(OC案例)
**步骤 6** 在开发板信息表点选开发板所在行,目前默认提供`Hi3861V100`开发板
-点击`确认`按钮后可能会弹出对话框,让填写gitee的账号和密码,提交后,后台会下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开带有工程参考的新建工程。
+点击`确认`按钮后,后台会下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开带有工程参考的新建工程。

@@ -221,6 +227,42 @@ pip install scons

+#### 烧录配置-OpenOCD烧录
+
+`WiFi IoT`开发板现已支持`OpenOCD`烧录,首先需要保证`WiFi IoT`开发板连接正常,拨码开关全部远离`ON`,使用获取的`openocd`根目录下的`drivers\zadig-2.4.exe`工具,点击`Options->List All Devices`并将`Dual RS232`转化为`WinUSB`
+
+**步骤 1** 点击工程配置界面上的`烧录器`
+
+
+
+**步骤 2** `烧录方式`选择`OpenOCD`
+
+**步骤 3** `烧录器目录`已提供默认路径, 用户可以将`OpenOCD`烧录器安装到该路径下,也可以自行指定路径安装后,点击图标填入`openocd.exe`所在路径
+
+**步骤 4** 当前支持两线与五线的`OpenOCD`烧录、调测方法,通过在`interface目录`、`target目录`下拉菜单中选择不同的文件来切换两线与五线方式
+
+五线烧录配置:`interface目录`下拉菜单中选择`scripts\interface\Hi-ft2232d-ftdi-swd.cfg`,`target目录`下拉菜单中选择`scripts\target\Hi3861-RISCV\Hi3861-RISCV-JTAG`,开发板上第一第二个跳帽连接到1、2,第三个跳帽盖上。
+
+两线烧录配置:`interface目录`下拉菜单中选择`scripts\interface\Hi-ft2232d-ftdi.cfg`,`target目录`下拉菜单中选择`scripts\target\Hi3861-RISCV\Hi3861-RISCV-SWD-CORESIGHT`,开发板上第一第二个跳帽,连接到2、3,第三个跳帽去掉。
+
+**步骤 5** 点击`烧录文件`后的图标  浏览选择编译生成的BIN文件, 也可以选中要烧录的文件,右键->设置为烧录文件,如下图所示
+
+ 
+
+在编译过程中会自动识别出编译输出件`bin、hex、fwpkg`, 在`烧录文件`下拉选择框, 选择烧录文件`Hi3861_demo_burn.bin`:
+
+ 
+
+**步骤 6** `加载地址`使用默认值`0x400000`。
+
+**步骤 7** 配置好后点击进行保存
+
+**步骤 8** 点击工具栏上的图标进行烧录
+
+在`终端`窗口输出烧录进度, 烧录成功的截图如下:
+
+
+
#### 调试器-执行调试
`HUAWEI LiteOS Studio` 调测配置非常简单,只需要几步,即可支持`WiFi-IoT` 图形化单步调试。由于`WiFi IoT`的`ROM`、封库特性,有些源码无法单步调测。对于没有对应源代码的文件,可以使用反汇编文件进行展示。
@@ -328,6 +370,42 @@ LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务

+#### 调试器-OpenOCD调试
+
+`HUAWEI LiteOS Studio`支持`OpenOCD`调试方法,调试配置步骤如下:
+
+**步骤 1** 点击工程配置界面上的`调试器`
+
+
+
+**步骤 2** `调试器`选择`OpenOCD`
+
+**步骤 3** `interface目录`、`target目录`的配置与上文`OpenOCD`烧录配置相同
+
+**步骤 4** `调试器目录`配置与上文`OpenOCD`烧录器目录配置相同
+
+**步骤 5** `GDB目录`可以默认, 或者自行指定
+
+**步骤 6** `可执行文件路径`选择输出目录下的`.out`文件, 可在编译后从下拉菜单点选, 或者自行指定
+
+**步骤 7** `调试配置`根据需要, 选择`复位调试`或`附加调试`
+
+***`复位调试`*** 会自动重启开发板, 并停止在main函数
+
+***`附加调试`*** 不重启开发板, 附加到当前运行代码行
+
+配置好后点击确认按钮进行保存
+
+**步骤 8** 在`HUAWEI LiteOS Studio`左侧的活动栏点击`运行`视图, 可以看到默认已经配置好调试配置`Openocd Debug`, 点击绿色三角按钮, 开始调试
+
+
+
+**步骤 9** 调试界面如下:
+
+
+
+`OpenOCD`调试界面其余功能与`JLink`调测相同
+
### 炫彩灯工程案例
演示如何新建/打开工程, 编译、烧录、效果演示等功能。
diff --git a/docs/stackAnalysis.md b/docs/stackAnalysis.md
new file mode 100644
index 0000000000000000000000000000000000000000..983e947c9e2240ac845f251ac692813f5f7376ce
--- /dev/null
+++ b/docs/stackAnalysis.md
@@ -0,0 +1,36 @@
+
+
栈估算工具
+
+
+栈估算工具是基于静态二进制分析手段,提供任务栈开销估算值和函数调用关系图示,为栈内存使用、分析、优化、问题定位等开发场景提供较为准确的静态内存分析数据参考。
+
+### 1、使能栈估算功能
+打开Liteos Studio工具,在设置界面打开栈估算开关,开启后当工程执行编译时会自动进行栈估算。
+
+
+
+### 2、栈估算相关配置
+栈估算依赖工程的asm文件,需在栈估算结果展示界面指定asm文件路径。配置好asm文件路径后,可点击右边的按钮重新执行栈估算。
+
+
+
+如果需要解析函数对应的代码行号,则需要在工程配置中准确配置编译器类型、编译器路径、可执行文件路径,如下图所示。
+
+
+
+
+### 3、栈估算入口
+点击工具栏上的栈估算按钮,可以查看栈估算的数据。
+
+
+
+### 4、结果展示
+栈估算结果按函数列表和调用关系展示,如下图所示。
+
+函数列表界面显示每个函数的函数名称、函数内部栈开销、代码行号。支持函数名称过滤功能。
+
+
+
+调用关系界面显示每个函数的调用关系、函数名称、调用深度、函数最大栈开销、函数内部栈开销、代码行号。如果函数调用中存在回环,则会用回环图标标记,对应调用关系用“?”表示。同时,界面支持函数名称搜索和代码行号跳转。
+
+
\ No newline at end of file
diff --git a/docs/trace.md b/docs/trace.md
new file mode 100644
index 0000000000000000000000000000000000000000..cfac5d91da5462c350a54547297f12263401e5ae
--- /dev/null
+++ b/docs/trace.md
@@ -0,0 +1,250 @@
+
+
Trace工具
+
+
+可视化Trace工具支持对LiteOS系统关键数据进行实时跟踪,保存与回放。Trace Server实现轻量级LiteOS事件监测,Trace Client可以让用户在任意时刻开始和停止记录Trace,并且可以图形化展示事件、CPU、内存、运行轨迹等信息。
+
+### Trace Server使用说明
+
+#### 使能Trace功能
+
+make menuconfig 进入模块配置界面,如下,开启扩展内核下的trace模块
+
+
+
+选择trace工作模式
+
+
+
+1.online实时输出模式,在该模式下,trace默认为停止状态,用户需主动调用trace start来启动trace功能,且触发的trace事件会立即从传输口输出(如串口), 通过调用trace stop来停止trace功能;
+
+2.offline离线缓存模式,在该模式下,trace默认为启动状态,且触发的trace事件会缓存在buffer中,用户可进行线下工具导出(Jlink JMem)或者调用trace dump接口从传输口输出, 通过调用trace stop来停止trace功能、通过调用trace reset来清除buffer中的记录;
+
+3.系统默认trace为offline模式
+
+选择trace数据输出方式
+
+
+
+Trace数据输出方式目前仅支持串口输出,后续可扩展为TCPIP输出、蓝牙输出、JLINK输出等多种方式
+
+#### Trace流程控制
+
+三种方式:
+
+1. 用户可自行在代码中插入trace 对外API:LOS_TraceStart\LOS_TraceStop(los_trace.h)
+
+2. 在具备shell模块的开发环境中,开启shell, 则可通过shell命令控制trace流程,目前已支持的shell trace命令包括:trace_start 、trace_stop、trace_mask、trace_reset、trace_dump
+
+3. 在无shell模块的开发环境中,注册uart中断回调,也可实现trace流程控制,如下:
+
+
+
+上述2、3种方式也交由Trace Client调用,用户可直接在Client端控制trace启动、停止流程。
+
+
+#### Trace流程控制之驱动适配
+TraceAgent用于响应trace 客户端的请求, 包括:启动、停止、设置事件掩码、dump离线trace的缓存数据等功能。
+
+下面以uart适配为例,介绍如何实现响应客户端请求:
+
+1. 实现SerialPiplineInit(void),必要的资源创建等,如创建uart接受中断;
+
+2. 实现SerialPiplineReceive(unsigned char *data, unsigned int len, unsigned int timeout), 提供读取uart接受到的数据到data中的功能;
+
+3. 实现SerialDataSend(unsigned short len, unsigned char *data),提供uart发送data数据的功能;
+
+4. 实现SerialWait(void),提供等待信号,等到后再去读取uart数据的功能;
+
+5. 实现OsTracePipelineInit接口,将上述串口功能通过OsTracePipelineReg注册到系统中, 并初始化之,如下图所示:
+
+
+
+注意:客户端会发送以0xD 0xA 结束的数据串,如 “01 00 00 00 00 00 0d 0a”, SerialPiplineReceive需要将0xA之前的数据赋值给data, 如“01 00 00 00 00 00 0d”
+
+当trace发送数据流较频繁时,可能存在丢失数据的情况,可能存在Client控制命令丢失的情况。
+
+建议:1. 减少发送数据流; 2.使用更高传输速率的其他通道。
+
+#### Trace代码桩
+
+##### 简易插桩
+提供给用户极简的一句话插桩:
+
+LOS_TRACE_EASY(Type, Identity, params...);
+
+Type 有效取值范围为[0, 0xF], 表示不同的事件类型;
+
+Identity 类型UINTPTR,表示事件描述的主要对象;
+
+Params 类型UINTPTR, 表示该事件的参数;
+
+示例:
+LOS_TRACE_EASY(1, userId0, userParam1, userParam2);
+
+LOS_TRACE_EASY(2, userId0);
+
+LOS_TRACE_EASY(1, userId1, userParam1, userParam2);
+
+LOS_TRACE_EASY(2, userId1);
+
+##### 标准插桩
+trace事件类型定义如下:
+
+
+
+1.TRACE_MASK为事件掩码,粒度为模块级别,如果用户自定义trace模块,则需保证FLAG中取值为1的bit位与其他模块不同,且不超过上限;
+
+扩展语法为:TRACE_#MOD#_FLAG;
+
+
+
+2.TRACE_TYPE 为具体的事件类型,粒度为接口级别;
+
+扩展语法为:#TYPE# = TRACE_#MOD#_FLAG | N;
+
+用户可按上述扩展语法进行新增事件定义
+
+
+
+3.参数宏定义:
+
+扩展语法为:#TYPE#_PARAMS(Identity, parma1...) Identity, ...
+
+使能某事件,通过define对应事件宏至少1个参数,来追踪该类型事件
+
+去能某事件,通过define对应事件宏0参数,如上图335行, 则不追踪该类型事件
+
+用户可按照宏定义来裁剪不必要的参数, 如上图337行
+
+
+
+4.代码桩插入:
+
+如上图所示, 在代码适当位置,插入桩,扩展语法如下:
+
+ LOS_TRACE(#TYPE#, Identity, params...)
+
+目前系统默认仅插入了基础内核的代码桩,用户可按需新增插入。
+
+
+5.(可选)为实现trace事件可在前端用自然语言表达,针对用户扩展的事件需配置前端的事件表达,详见Trace Client使用说明。
+
+
+6.示例:新增文件系统trace事件如下:
+
+ step 1.定义模块掩码:
+
+ TRACE_FS_FLAG = 0x2000
+
+ step 2.定义具体事件类型:
+
+ FS_READ = TRACE_FS_FLAG | 0; // 文件读
+
+ FS_WRITE = TRACE_FS_FLAG | 1; // 文件写
+
+ step 3.定义事件参数:
+
+ FS_READ_PARAMS(fp, fd, flag, size) fp, fd, flags, size
+
+ step 4.在适当位置插入代码桩:
+
+ LOS_TRACE(FS_READ, fp, fd, flag, size);
+
+
+#### Trace事件过滤
+
+支持事件动态过滤:
+
+1.调用LOS_TraceEventMaskSet(UINT32 mask) 传入相应模块的使能位TRACE_#MOD#MASK来使能
+
+2.通过客户端来设置使能位,详见客户端指导
+
+系统默认的trace mask为使能任务和中断。
+
+注意:简易插桩事件仅当mask设置为0时去能,其他情况均为使能;用户如需要动态分模块过滤事件,建议使用标准插桩定义新增事件。
+
+#### Trace数据裁剪
+
+
+
+1.Core信息可裁剪,其包含系统状态信息:cpuid、hwiActive、isTaskLock等信息
+
+2.trace事件计数可裁剪,其表示事件发生的序列
+
+3.trace事件的参数可裁剪,对应#MOD#OPS#PARAMS 对应的参数
+
+4.trace记录task obj任务信息可裁剪,其包含任务名,任务优先级信息
+
+用户可按需进行配置。
+
+### Trace Client使用说明
+
+ 当前Trace工具支持STM32F429IG工程、hi3556v200工程,使用Trace Client前开发板需已烧录支持trace功能的版本,trace支持在线和离线模式,可在工程中配置(参考`Trace Server使用说明`)。
+
+#### Trace入口
+
+ 首先安装Trace插件,然后侧边栏点击trace按钮进入trace页面。
+
+
+
+#### Trace设置
+
+ 抓取trace数据前需设置开发板的串口信息,如下图所示。
+
+
+
+ 用户还可以自定义trace事件,设置需要过滤的事件类型。
+
+ 如下图所示,勾选需要记录的事件类型。
+
+
+
+ 如下图所示,用户可以自定义trace事件,需填写事件类型、事件编号、事件描述、事件参数。
+
+
+
+#### Trace操作
+
+ Trace工具支持开始Trace、停止Trace、导出Trace、保存Trace、打开Trace。
+
+ Trace在线模式时,点击开始按钮记录trace事件,界面可实时展示trace信息,点击停止按钮停止记录trace事件。trace离线模式时,可点击导出trace按钮,导出完成后trace数据展示在界面上。
+
+ trace数据还支持保存和查看历史数据:点击保存按钮,当前页面数据将以.db文件格式保存在指定位置上;点击打开按钮,可查看历史的trace数据,目前支持db文件格式和txt文件格式,db文件
+ 保存的是已解析完成的trace数据,txt文件保存的是从串口直接打印的二进制原始数据。
+
+
+
+#### Trace视图
+
+ trace数据展示,当前支持事件信息、任务运行轨迹、CPU负载、内存使用情况。
+
+
+
+#### Trace事件视图
+
+ 事件信息通过表格方式展示,支持根据事件类型过滤,也支持根据关键字过滤,将鼠标移动到任务列可查看任务详情。用户还可以将数据导出保存成excel格式,进一步进行数据分析。
+
+
+
+#### Trace运行轨迹
+
+ 运行轨迹视图展示每个任务在各个时间段的运行状态,可直观查看任务运行时长和切换过程。
+
+
+
+#### Trace CPU视图
+
+ CPU视图支持柱状图和饼图两种方式展示,柱状图可查看每个时刻每个任务的CPU使用情况;饼图可查看一定时间内每个任务的CPU使用情况。用户还可以通过点击图例中某个任务打开或关闭CPU占用率显示。
+
+ 说明:CPU数据是定时采样,如果trace抓取时间小于0.1s则获取不到cpu数据。
+
+
+
+
+
+#### Trace 内存视图
+
+ 内存视图通过折线图展示系统内存的变化趋势,记录每个时刻的内存总量、已用内存和剩余内存。
+
+
\ No newline at end of file
diff --git a/extensions/.keep b/extensions/.keep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000