diff --git a/docs/README.md b/docs/README.md index 28edf3124895e2f4b454eb3541c033e94b825554..133341268ace0ab3c2e8c1738151cf09d1c09177 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,5 +19,13 @@ - [STM32工程示例](project_stm32.md) - [Hi3861V100 WiFi IoT工程示例](project_wifiiot.md) +- 调测工具 + + - [Trace工具](trace.md) + - [栈估算工具](stackAnalysis.md) + - [镜像分析工具](buildAnalysis.md) + - [回溯栈分析工具](backTrace.md) + - [性能分析工具](perf.md) + - [Windows常用快捷操作](studio_usage.md) - [常见问题](studio_qa.md) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 11e5343c97f1b859cbcad1be47aabf49a69e94d9..13cdf8f383ea7adc43948b2b1710ff4b861abd65 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -13,7 +13,7 @@ [使用文档](/README) [工程示例](project_stm32.md) [技术支持](https://gitee.com/LiteOS/LiteOS_Studio/issues) -[下载软件](https://gitee.com/LiteOS/LiteOS_Studio/releases/V1.45.1) +[下载软件](https://gitee.com/LiteOS/LiteOS_Studio/releases/) diff --git a/docs/_navbar.md b/docs/_navbar.md index 3d8088e3de61d516e8f8c9ebf7d7e35d235eac2e..1761f0a6acbd6ea2bf12d5b1773987753d0e9d3d 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -13,4 +13,4 @@ * [发行说明](/updates/README.md) -* [下载软件](https://gitee.com/LiteOS/LiteOS_Studio/releases/V1.45.1) \ No newline at end of file +* [下载软件](https://gitee.com/LiteOS/LiteOS_Studio/releases/) \ No newline at end of file diff --git a/docs/_sidebar.md b/docs/_sidebar.md index bcae9fe5576a8edcebf59883aaff479d32c8b7b7..98ed256ddfeb82a492047388da5bd31ee935ae27 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,21 +1,22 @@ - -- 快速开始 - - [HUAWEI LiteOS Studio简介](/README) - - [HUAWEI LiteOS Studio安装](/install.md) - - [HUAWEI LiteOS Studio界面介绍](introduction.md) - - [HUAWEI LiteOS Studio扩展介绍](extension.md) - -- 工程示例 - - - [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) + +- 快速开始 + - [HUAWEI LiteOS Studio简介](/README) + - [HUAWEI LiteOS Studio安装](/install.md) + - [HUAWEI LiteOS Studio界面介绍](introduction.md) + - [HUAWEI LiteOS Studio扩展介绍](extension.md) + +- 工程示例 + + - [STM32工程示例](project_stm32.md) + - [Hi3861V100 WiFi IoT工程示例](project_wifiiot.md) + +- 调测工具 + + - [Trace工具](trace.md) + - [栈估算工具](stackAnalysis.md) + - [镜像分析工具](buildAnalysis.md) + - [回溯栈分析工具](backTrace.md) + - [性能分析工具](perf.md) + +- [Windows常用快捷操作](studio_usage.md) +- [常见问题](studio_qa.md) diff --git a/docs/buildAnalysis.md b/docs/buildAnalysis.md index fa2820f943b9fa67ff4c989e6bf81f89facdd07b..6aa857b351a6dfc9ffac6a41a2631670e78a29eb 100644 --- a/docs/buildAnalysis.md +++ b/docs/buildAnalysis.md @@ -24,33 +24,29 @@ LiteOS Studio对构建出的elf文件进行内存占用分析,支持LiteOS开 #### 内存区域 内存区域包括每个内存区域数据的一个表格,包含了起始地址和结束地址以及内存占用。 -表格下面默认显示内存占比最高的前三个区域内容。 +表格下面默认显示内存占比最高的前三个区域内容。点击不同的行会在下面仪表盘中显示点击行的数据。 ![avatar](images/buildAnalysis/buildAnalysisRegions.png) -点击不同的行会在下面仪表盘中显示点击行的数据。 +如果列表不足三条数据,显示的图表跟着变化。 ![avatar](images/buildAnalysis/buildAnalysisRegions1.png) #### 详细信息 -详细信息里显示了Section和Symbol的信息。通过树表格展示层级关系,名称,VMA和LMA。双击Symbol子节点会跳转到具体的代码行号。 - +详细信息里显示了Section和Symbol的信息。通过树表格展示层级关系,名称,VMA和LMA。双击Symbol子节点会跳转到具体的代码行号。页面也支持搜索Name定位到具体的行,然后通过键盘Enter键跳转到下一个符合搜索条件的行,可以开启支持正则和区分大小写搜索,搜索结果是符合条件的树形数据。 ![avatar](images/buildAnalysis/buildAnalysisDetails.png) -页面也支持搜索Name定位到具体的行,然后通过键盘Enter键跳转到下一个符合搜索条件的行,点击![avatar](images/buildAnalysis/buildAnalysisRegExp.png)可以开启支持正则搜索。 - -![avatar](images/buildAnalysis/buildAnalysisDetails1.png) 同时,点击表头的每列会对该列数据进行排序。 -![avatar](images/buildAnalysis/buildAnalysisDetails2.png) +![avatar](images/buildAnalysis/buildAnalysisDetails1.png) #### 文件大小 文件大小里展示了文件和文件层级的大小以及总数,点击表头会对该列数据进行排序。 ![avatar](images/buildAnalysis/buildAnalysisFile.png) -表格除了File Name和Rom Size以外其他的列,都是动态变化的。 +表格除了File Name和Rom Size以外其他的列,都是动态变化的。鼠标移到表头显示完整的名称。 ![avatar](images/buildAnalysis/buildAnalysisFile1.png) @@ -59,7 +55,7 @@ LiteOS Studio对构建出的elf文件进行内存占用分析,支持LiteOS开 ![avatar](images/buildAnalysis/buildAnalysisModule.png) -类似文件大小,模块大小表格除了File Name和Rom Size以外其他的列,也都是动态变化的。下面展示的饼图显示父节点和子节点的数据情况,如果不存在子节点,就只显示父节点的图;如果存在子节点,左侧图是父节点,右侧图是子节点。 +类似文件大小,模块大小表格除了File Name和Rom Size以外其他的列,也都是动态变化的。下面展示的饼图显示父节点和子节点的数据情况,如果不存在子节点,就只显示父节点的图;如果存在子节点,左侧图是父节点,右侧图是子节点。如果模块的Rom Size为0,图表中不显示该项,如果都为0不显示图表。 ![avatar](images/buildAnalysis/buildAnalysisModule1.png) diff --git a/docs/extension.md b/docs/extension.md index f7765a13c52902c6be5b41a52a81cee061080991..1c146a3f0ae0a83d74dfe0bea1e98ac5347a4103 100644 --- a/docs/extension.md +++ b/docs/extension.md @@ -10,7 +10,7 @@ 在`HUAWEI LiteOS Studio`集成开发环境中已经预置了基座扩展,调测扩展,和部分开发板扩展。如果用户使用VSCode或其他基于VSCode的定制`IDE`,也可以通过安装`HUAWEI LiteOS Studio`扩展来实现`HUAWEI LiteOS Studio`相同的能力。 -各个扩展的安装文件后缀为`.vsix`, 可以访问[LiteOS Studio Extensions](https://gitee.com/LiteOS/LiteOS_Studio/releases/V1.45.1)下载。 +各个扩展的安装文件后缀为`.vsix`, 可以访问[LiteOS Studio Extensions](https://gitee.com/LiteOS/LiteOS_Studio/extensions)下载。 ### 扩展安装 @@ -28,7 +28,7 @@ ### LiteOS Studio STM32扩展 -对于[开源LiteOS](https://gitee.com/LiteOS/LiteOS)用户,安装`HUAWEI LiteOS Studio Base`基座扩展和`LiteOS Studio STM32`开发板扩展后,可以利用`IDE`新建`LiteOS STM32`工程, 支持对`STM32系列`开发板工程进行编译、烧录、调试等操作。`LiteOS Studio STM32`扩展支持`Gitee-LiteOS-Master`等`开源 LiteOS SDK` 版本,支持`STM32F429IG`、`STM32F769NI`、`STM32L431RC`、`realview-pbx-a9`等开发板。 +对于[开源LiteOS](https://gitee.com/LiteOS/LiteOS)用户,安装`HUAWEI LiteOS Studio Base`基座扩展和`LiteOS Studio STM32`开发板扩展后,可以利用`IDE`新建`LiteOS STM32`工程, 支持对`STM32系列`开发板工程进行编译、烧录、调试等操作。`LiteOS Studio STM32`扩展支持`Gitee-LiteOS-Master`等`开源 LiteOS SDK` 版本,支持`STM32F429IG`、`STM32F769NI`、`STM32L431RC`、`STM32F103ZE`、`STM32F072RB`、`STM32F407ZG`、`realview-pbx-a9`等开发板。 ### LiteOS Studio Hi3861扩展 diff --git a/docs/images/addBoard.png b/docs/images/addBoard.png index 145db43ea660d3830ff8bb1cefd23686bb599654..27ae961008f078460435770add3f10487f631301 100644 Binary files a/docs/images/addBoard.png and b/docs/images/addBoard.png differ diff --git a/docs/images/ai_origin.png b/docs/images/ai_origin.png new file mode 100644 index 0000000000000000000000000000000000000000..7a41d5d5e0adae70cb65a41910afcdb812a68eb0 Binary files /dev/null and b/docs/images/ai_origin.png differ diff --git a/docs/images/ai_result.png b/docs/images/ai_result.png new file mode 100644 index 0000000000000000000000000000000000000000..8604fc4746dfa29509027e5735278a7f7ca1b5f2 Binary files /dev/null and b/docs/images/ai_result.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisDetails.png b/docs/images/buildAnalysis/buildAnalysisDetails.png index cd811379563b51a66fb7f3d7db25e798f09fd419..cce5f0f9f014547aef625a3fc1cc61d77b2db137 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisDetails.png and b/docs/images/buildAnalysis/buildAnalysisDetails.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisDetails1.png b/docs/images/buildAnalysis/buildAnalysisDetails1.png index cd8ece23417ae847e4d067c00153630c72166bd8..48974ba5afb5b932a379aafd1dd0841782c2588d 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisDetails1.png and b/docs/images/buildAnalysis/buildAnalysisDetails1.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisFile.png b/docs/images/buildAnalysis/buildAnalysisFile.png index cfe20cd1696aeb8ad7237eea2219379b1ff6b7db..edc48770f62f43331e69d80a93b9549c11c44920 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisFile.png and b/docs/images/buildAnalysis/buildAnalysisFile.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisFile1.png b/docs/images/buildAnalysis/buildAnalysisFile1.png index 531e17f6f02ed41ceefbfa07a8ee374fe45d5cf8..baf9f72f96f72303843e316dafadc746adc00f27 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisFile1.png and b/docs/images/buildAnalysis/buildAnalysisFile1.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisModule.png b/docs/images/buildAnalysis/buildAnalysisModule.png index 3a974415ab400aa55fe74cf5c71d1e3385368b0a..bbdf863bd5b563ec4ee16bcc3e03a21adb19d02f 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisModule.png and b/docs/images/buildAnalysis/buildAnalysisModule.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisModule1.png b/docs/images/buildAnalysis/buildAnalysisModule1.png index 49771f4e376fdb7d74313f0b6e45af508f170e0e..b354c9e5c5244d877941de194337afd83187efc8 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisModule1.png and b/docs/images/buildAnalysis/buildAnalysisModule1.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisRegions.png b/docs/images/buildAnalysis/buildAnalysisRegions.png index f68f912136778b1229b7f56ce3d23fdc12ff8a37..692a59445ae5b2e0e7a61a8dea794e5da3861c5d 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisRegions.png and b/docs/images/buildAnalysis/buildAnalysisRegions.png differ diff --git a/docs/images/buildAnalysis/buildAnalysisRegions1.png b/docs/images/buildAnalysis/buildAnalysisRegions1.png index e98c3602b448228a2212e48e5c4eb7977563d5e6..52b376c061eb2fe37639041b235d0a9c1ce4077e 100644 Binary files a/docs/images/buildAnalysis/buildAnalysisRegions1.png and b/docs/images/buildAnalysis/buildAnalysisRegions1.png differ diff --git a/docs/images/burner-openocd.png b/docs/images/burner-openocd.png index 319ffb301560ae33b89b5dd1e4749fde061bbf58..8398d4665a7473d0fac34148936ea85a723f12b4 100644 Binary files a/docs/images/burner-openocd.png and b/docs/images/burner-openocd.png differ diff --git a/docs/images/commandBoard.png b/docs/images/commandBoard.png index baf0aaec4e8530bb036b37bd71017b1af2c5d061..52b234605312ffeca52aa2b496c3c4027c799568 100644 Binary files a/docs/images/commandBoard.png and b/docs/images/commandBoard.png differ diff --git a/docs/images/debugTools.png b/docs/images/debugTools.png index b560139c01ab02f13d2206c136a5a25a9fe484f1..d67724f04b030b80006e40d6f3df180934588bcd 100644 Binary files a/docs/images/debugTools.png and b/docs/images/debugTools.png differ diff --git a/docs/images/debuggerConfig.png b/docs/images/debuggerConfig.png index 3f9f141f81e2b2d3e8f8c40db24dafc53851546d..a243d52e909df89cf85b383f81e82fc849031f02 100644 Binary files a/docs/images/debuggerConfig.png and b/docs/images/debuggerConfig.png differ diff --git a/docs/images/debuggerConfig2.png b/docs/images/debuggerConfig2.png index 500d9146db8b2e351984d310ff65aa9c6a7602c7..f5b920f95d56387405a71cd4b8b1c4e615d2aa66 100644 Binary files a/docs/images/debuggerConfig2.png and b/docs/images/debuggerConfig2.png differ diff --git a/docs/images/debuggerDiskMap.png b/docs/images/debuggerDiskMap.png new file mode 100644 index 0000000000000000000000000000000000000000..85ef1bce67e9f2157b70a4e82a5e4e6639b13af3 Binary files /dev/null and b/docs/images/debuggerDiskMap.png differ diff --git a/docs/images/generateAIModel.png b/docs/images/generateAIModel.png new file mode 100644 index 0000000000000000000000000000000000000000..580b40f3385a024247410ce30721bbf67ce3889e Binary files /dev/null and b/docs/images/generateAIModel.png differ diff --git a/docs/images/hi3861/debugger.png b/docs/images/hi3861/debugger.png index 3f9f141f81e2b2d3e8f8c40db24dafc53851546d..7ae9d5e217ada1a5b3015df6900be17f6c674ed7 100644 Binary files a/docs/images/hi3861/debugger.png and b/docs/images/hi3861/debugger.png differ diff --git a/docs/images/languageConfig.png b/docs/images/languageConfig.png index 09ff58daeea98c9f616f9eb060551f499ff775f1..d9e4dbf4efe13a0ee70786d954b848987f1aacf8 100644 Binary files a/docs/images/languageConfig.png and b/docs/images/languageConfig.png differ diff --git a/docs/images/newProject.png b/docs/images/newProject.png index eb53cf6a48cf3307901a2335706938e72f224208..22925254959d0722e98a2b071fa5284e853192c5 100644 Binary files a/docs/images/newProject.png and b/docs/images/newProject.png differ diff --git a/docs/images/perf/perfAsm.png b/docs/images/perf/perfAsm.png new file mode 100644 index 0000000000000000000000000000000000000000..ae65d5533d1856eedd01c021074dabd856965c74 Binary files /dev/null and b/docs/images/perf/perfAsm.png differ diff --git a/docs/images/perf/perfAsm1.png b/docs/images/perf/perfAsm1.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd8a4cb58193440e2c4603d691f461bb7e8394d Binary files /dev/null and b/docs/images/perf/perfAsm1.png differ diff --git a/docs/images/perf/perfEntry.png b/docs/images/perf/perfEntry.png new file mode 100644 index 0000000000000000000000000000000000000000..75a3031d5b256b183078735a9995ab302fccdd00 Binary files /dev/null and b/docs/images/perf/perfEntry.png differ diff --git a/docs/images/perf/perfEntry1.png b/docs/images/perf/perfEntry1.png new file mode 100644 index 0000000000000000000000000000000000000000..596f4b13d6226677def5097f59547392375697e4 Binary files /dev/null and b/docs/images/perf/perfEntry1.png differ diff --git a/docs/images/perf/perfKeys.png b/docs/images/perf/perfKeys.png new file mode 100644 index 0000000000000000000000000000000000000000..c61195eaffc8e5214ebc152fc831b40200792686 Binary files /dev/null and b/docs/images/perf/perfKeys.png differ diff --git a/docs/images/perf/perfPage.png b/docs/images/perf/perfPage.png new file mode 100644 index 0000000000000000000000000000000000000000..fec211480fda9386697f4bc54bbcdbfb70fe526c Binary files /dev/null and b/docs/images/perf/perfPage.png differ diff --git a/docs/images/perf/perfPage1.png b/docs/images/perf/perfPage1.png new file mode 100644 index 0000000000000000000000000000000000000000..d73e1ab90293dbf46bfea298679931fc4e0fd7f2 Binary files /dev/null and b/docs/images/perf/perfPage1.png differ diff --git a/docs/images/stm/qemu_debugging.png b/docs/images/stm/qemu_debugging.png index 967d8edbebd5f6d4f01c947f71d0d7208ccd0ca8..e8cd8196b6468eacab06ea3278496954d845d3be 100644 Binary files a/docs/images/stm/qemu_debugging.png and b/docs/images/stm/qemu_debugging.png differ diff --git a/docs/images/stm/stm_confirm.png b/docs/images/stm/stm_confirm.png index c4316c91a599b015a3bb8c3b0e24e3ae1c6c6914..7717707eee1075eae3686a31b141ea18c1c56d7e 100644 Binary files a/docs/images/stm/stm_confirm.png and b/docs/images/stm/stm_confirm.png differ diff --git a/docs/images/stm/stm_setBurner.png b/docs/images/stm/stm_setBurner.png index bb38b5411bb3528cf970724be6b31e5a4c33fa4d..4a369de5cb467fa482bcd3e1b5aae9fdfeb51207 100644 Binary files a/docs/images/stm/stm_setBurner.png and b/docs/images/stm/stm_setBurner.png differ diff --git a/docs/images/targetBoardNew.png b/docs/images/targetBoardNew.png index 8fc7dea28ac1dfa55663cd4bceb45271efc14ef5..31ef7e048f10471200b1f1d7f3c42f854b16b197 100644 Binary files a/docs/images/targetBoardNew.png and b/docs/images/targetBoardNew.png differ diff --git a/docs/images/trace/Server/traceAgent.png b/docs/images/trace/Server/traceAgent.png index 1240d4c2c8dd93a2ba0c65f653811780c42c0454..6a502bb761b0bbb5f869744f0dd7707d612ea4aa 100644 Binary files a/docs/images/trace/Server/traceAgent.png and b/docs/images/trace/Server/traceAgent.png differ diff --git a/docs/images/trace/Server/traceAgentTask.png b/docs/images/trace/Server/traceAgentTask.png index 099726687af5f6c9c3471a6d60df4267edff3362..d22683abf2583429575981d7f5ee7f35514b51a8 100644 Binary files a/docs/images/trace/Server/traceAgentTask.png and b/docs/images/trace/Server/traceAgentTask.png differ diff --git a/docs/images/trace/Server/traceClientEn.png b/docs/images/trace/Server/traceClientEn.png index b95e51cd307377c0cc8546678a9379a6c7215776..d17c0ddf13a4cc07bf156dbe8c430e8d6cfcfd63 100644 Binary files a/docs/images/trace/Server/traceClientEn.png and b/docs/images/trace/Server/traceClientEn.png differ diff --git a/docs/images/trace/Server/traceEnable.png b/docs/images/trace/Server/traceEnable.png index 0b24fbbc15c8d6b35737a1926aecaee5e9c75aa2..4de16305ab1efddc65fbe05fd82eade8168967d2 100644 Binary files a/docs/images/trace/Server/traceEnable.png and b/docs/images/trace/Server/traceEnable.png differ diff --git a/docs/images/trace/Server/traceWorkMode.png b/docs/images/trace/Server/traceWorkMode.png index dba7d5c916d9c7e37c31bf69b83f4de1f88e2b86..6930902cb75392aa95f631adccce10ed51b600ac 100644 Binary files a/docs/images/trace/Server/traceWorkMode.png and b/docs/images/trace/Server/traceWorkMode.png differ diff --git a/docs/images/workspace.png b/docs/images/workspace.png index e1f67acfd5b1fff43616bec6cc6c7a76d9abfacb..4b0a729476472d92f45ed6cb804aa1e23255e252 100644 Binary files a/docs/images/workspace.png and b/docs/images/workspace.png differ diff --git a/docs/introduction.md b/docs/introduction.md index 3ed92a8744ecd752cc373f1d65873d0ccdf2bca3..240c0e2e1ad480575e75a4b1426f5cc0f4c37e4e 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -187,9 +187,14 @@ **可执行文件路径:** 执行编译后,后台将保存生成的调试可执行文件(`elf`、`out`后缀的文件)路径,并填入`可执行文件路径`下拉菜单中供用户点选,用户也能通过手动输入或点击文件夹图标![avatar](images/browserFoler.png)浏览目录自行配置。 **调试配置:** `调试配置`中可选择复位调试和附加调试两种调试方式。 - + ![avatar](images/debuggerConfig.png) +**磁盘映射:** 调试器下方可勾选是否通过磁盘映射方式进行调试,勾选后,填写`原工程路径`和`映射磁盘路径`。在确保映射磁盘访问无误情况下,能够进行远程工程调试。 + - 原工程路径:填写工程在linux上的路径。 + - 映射磁盘路径:填写本地映射磁盘上的工程路径。 +![avatar](images/debuggerDiskMap.png) + #### 串口配置界面介绍 点击工程配置页面左侧的`串口配置`选项进入串口配置界面。 @@ -202,4 +207,64 @@ **端口状态:** `端口状态`能够实时显示端口是否被占用。 -![avatar](images/serialConfig.png) \ No newline at end of file +![avatar](images/serialConfig.png) + +### AI模型代码生成向导界面介绍 +按如下方式进入AI模型代码生成向导界面。 + +![avatar](images/generateAIModel.png) + +`HUAWEI LiteOS Studio`集成了AI模型代码生成功能,通过msmicro工具(点击下载),将压缩包中的`LiteOS_Studio/tools/mindspore_micro/msmicro.rar`解压到本地。 + +AI模型生成的原理是将`MindSpore`训练的模型或第三方模型转换为`ms`模型,并将`ms`模型解析为算子,生成`.c`文件或指令集优化的汇编代码。然后通过交叉编译器,编译支持不同平台的可执行文件到`IoT`设备部署推理 + +`tensorflow_lite`模型文件训练与生成方式可参考`tensorflow官方社区`文档操作。 + +`tensorflow_lite`应用实例网址链接如下: +tensorflow_lite应用实例 + +相关使用api网址链接如下: +相关api网址 + +#### AI模型代码生成参数配置介绍 +AI模型代码生成向导界面可配置的参数包括`Msmicro目录`、`框架类型`、`AI模型文件`、`量化类型`、`配置文件`,需要用户自行配置。 + +***Msmicro目录:*** 用户自行下载并解压`msmicro`工具后,填入`msmicro.exe`所在目录 + +***框架类型:*** 包括`TF`、`CAFFE`、`ONNX`、`MS`、`TFLITE`五种,当前开源工程仅适配了`TFLITE`。 + +***AI模型文件:*** AI模型文件由用户自行获取或自主生成,填入模型文件所在路径。 + +***量化类型:*** 包括`AwareTraining`、`PostTraining`、`WeightQuant`三种,当前开源工程仅适配了`PostTraining`,当使用`Mnist.tflite`,并需要进行训练后量化时,选择`PostTraining`。 + +***配置文件:*** 配置项输入框仅在`量化类型`选择了`PostTraining`时出现,需要填入相应的配置文件,当使用`Mnist.tflite`并选择了`PostTraining`量化类型时,需要填入`config.mnist`所在路径,注意,`config.mnist`中需要填入本地校准集的绝对路径。 + +配置完成后,点击确定,即可开始代码生成,并自动将生成的文件放入相应的编译路径下。 + +#### AI模型生成示例 + +开源工程选取开源第三方平台自训练的模型`Mnist.tflite`、`Resnet.tflite`和`Mobilenet.tflite`完成了适配与功能验证,当前三个模型均可以导出成`fp32`推理代码,目前仅`Mnist.tflite`支持量化,而且仅支持训练后量化(`PostTraining`)。 + +**步骤 1** 将`msmicro.exe`路径填入`Msmicro目录`(仅首次需要填写,填写后将保存为默认地址) + +**步骤 2** `框架类型`选择`TFLITE` + +**步骤 3** `AI模型文件`选择`Mnist.tflite`/`Resnet.tflite`/`Mobilenet.tflite` + +**步骤 4** `量化类型`根据需求选择,使用`Mnist.tflite`并量化时,需要选择`PostTraining`,如果无量化需求,将下拉菜单置空 + +**步骤 5** `配置文件`将在量化类型选择了`PostTraining`后出现,填入`config.mnist`所在路径 + +**步骤 6** 点击确定,开始生成代码。当前开源代码下适配了`Mnist`、`Mnist_quant(量化)`、`Resnet`、`Mobilenet`这四种生成代码。 + +如果`量化类型`、`训练模型`等不满足以上情况,或在`Mnist.tflite`量化时未在`config.mnist`中填入校准集本地绝对路径,可能会导致生成失败。此时可能会提示:`生成AI文件失败`。 + +当前开源工程在`demos/ai`文件夹下已预置了部分工程文件,包括编译工程及示例所需要的输入测试数据头文件,如下图所示,红框内为预置头文件: + +![avatar](images/ai_origin.png) + +如使用的工程较旧,可能未进行文件预置与功能适配。代码生成后将无法复制到源码下指定文件夹中,此时弹出提示:`复制AI文件失败,请检查LiteOS工程下是否存在模板文件夹`。 + +代码生成结束并复制完成后,将弹出提示:`生成AI文件成功`。代码将被生成到`demos/ai`目录下,生成后的工程目录结构如下,红框内为新生成的文件: + +![avatar](images/ai_result.png) \ No newline at end of file diff --git a/docs/perf.md b/docs/perf.md new file mode 100644 index 0000000000000000000000000000000000000000..517c7901d24f4a58fcfae65205e7e20dcd3b7613 --- /dev/null +++ b/docs/perf.md @@ -0,0 +1,42 @@ +

+

性能分析工具

+

+ +LiteOS Studio可对输出的perf文件进行热点函数和热点路径分析,且支持反汇编文件跳转。 + + +### 1、性能分析页面入口 +> 打开Liteos Studio工具,点击调测工具里的性能分析tab页签,设置编译器、可执行文件路径等,选择perf文件(目前仅支持后缀为.data的文件),然后点击确定进入性能分析页面。 + +![avatar](images/perf/perfEntry.png) + +> 或者通过打开命令行输入`perf`找到`Perf`点击进入。 + +![avatar](images/perf/perfEntry1.png) + +### 2、性能分析相关配置 +性能分析依赖工程的可执行文件(如elf文件、bin文件)、编译器类型、编译器路径,需在调测工具设置界面进行相关设置。 + +如果工程源码在linux上,可将工程映射到windows磁盘上,然后进行相关路径配置如下图所示。 + +![avatar](images/debugToolsSet.png) + +### 3、性能分析页面介绍 +性能分析页面包含搜索框,section id和cpu id可以用来筛选sectionId以及cpuId,页面展示性能分析的数据。刷新按钮可以重新执行性能分析。如果百分数大于15%显示红色,大于0.5%小于15%显示绿色。 + +![avatar](images/perf/perfPage.png) + +切换sectionId和cpuId筛选结果。 + +![avatar](images/perf/perfPage1.png) + +#### 快捷键介绍 +除了可以通过鼠标操作节点,也可以使用键盘上下键上下切换数据,在父节点上通过回车键可以展开收起子节点,在子节上按回车键可以跳转页面。 + +![avatar](images/perf/perfKeys.png) + +#### 反汇编文件 +通过点击子节点或者在子节点上按回车键可以跳转到对应反汇编文件并定位到该函数对应的行。 + +![avatar](images/perf/perfAsm.png) +![avatar](images/perf/perfAsm1.png) diff --git a/docs/project_stm32.md b/docs/project_stm32.md index 2ba5dba1b49f8d237cd363b1dd2f15cd60b42eab..6c88b5f6dbfe01fc8af0980e83cff8ea514e4aa1 100644 --- a/docs/project_stm32.md +++ b/docs/project_stm32.md @@ -3,13 +3,11 @@

STM32工程示例

-本节介绍如何使用`HUAWEI LiteOS Studio` 开发`STM32`开发板工程。[开源LiteOS](https://gitee.com/LiteOS/LiteOS)工程,支持`STM32F429IG`、`STM32L431RC`、`STM32F769NI`等`STM32`系列开发板,以及支持Qemu仿真的`realview-pbx-a9`开发板。 +本节介绍如何使用`HUAWEI LiteOS Studio` 开发`STM32`开发板工程。[开源LiteOS](https://gitee.com/LiteOS/LiteOS)工程,支持`STM32F429IG`、`STM32L431RC`、`STM32F769NI`、`STM32F072RB`、`STM32F103ZE`、`STM32F407ZG`等`STM32`系列开发板,以及支持Qemu仿真的`realview-pbx-a9`开发板。 ### 搭建Windows开发环境 -`STM32`工程使用`Makefile`进行构建管理, 需要安装`Python`和`Kconfiglib`库、`Make.exe`构建工具, 推荐`Python 3.7`以上版本。 - -`STM32`工程使用`GNU Arm Embedded Toolchain`编译交叉工具链,使用`JLink`仿真器。 +`STM32`工程使用`Makefile`进行构建管理, 需要安装`Make.exe`构建工具,`GNU Arm Embedded Toolchain`编译交叉工具链,并使用`JLink`仿真器。 如果使用`OpenOCD`烧录,还需要安装`OpenOCD`烧录工具。 @@ -55,7 +53,7 @@ **步骤 3** 选择SDK版本号,当前STM32工程被维护在`https://gitee.com/`,支持最新版本`master`分支 -**步骤 4** 在开发板信息表点选开发板所在行,目前默认提供`STM32F429IG`、`STM32L431RC`、`STM32F769NI`、`realview-pbx-a9`四种开发板 +**步骤 4** 在开发板信息表点选开发板所在行,目前默认提供`STM32F429IG`、`STM32F769NI`、`STM32L431RC`、`STM32F103ZE`、`STM32F072RB`、`STM32F407ZG`、`realview-pbx-a9`七种开发板 点击`确认`按钮,后台将下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开新建的工程。 @@ -93,7 +91,7 @@ **步骤 5** `Makefile脚本`路径已填入默认值,用户也可以自行更改。对于STM32工程,在`工程根目录`下的`Makefile`文件上`点击右键->设置为Makefile文件`,或点击图标![avatar](images/browserFoler.png)进行自定义设置,也可使用![avatar](images/findScript.png)按钮自动搜索脚本文件 -**步骤 6** `Make参数`已填入默认值,用户也可自行修改,编译`STM32`工程时若发现概率性编译失败的问题,可尝试修改参数为`-j 12` +**步骤 6** `Make参数`已填入默认值,用户也可自行修改 **步骤 7** 配置好后点击确认按钮![avatar](images/confirm.png)进行保存 @@ -109,6 +107,8 @@ #### 烧录配置-烧录 +以下为直连烧录方式,当有`JLink`远程连接需求时,参考[JLink远程烧录、调测](/project_stm32?id=JLink远程烧录、调测)。 + **步骤 1** 点击工程配置界面上的`烧录器` ![avatar](images/stm/stm_burner.png) diff --git a/docs/stackAnalysis.md b/docs/stackAnalysis.md index 7e893d7722f6a289423e091b35f4f7119ca40b0f..4439308c36b02af5c08d120316955626fb67091f 100644 --- a/docs/stackAnalysis.md +++ b/docs/stackAnalysis.md @@ -43,4 +43,4 @@ 调用关系界面显示每个函数的调用关系、函数名称、调用深度、函数最大栈开销、函数内部栈开销、代码行号。如果函数调用中存在回环,则会用回环图标标记,对应调用关系用“?”表示。同时,界面支持函数名称搜索和代码行号跳转。 -![avatar](images/stackAnalysis/stackAnalysisRes2.png) +![avatar](images/stackAnalysis/stackAnalysisRes2.png) \ No newline at end of file diff --git a/docs/studio_qa.md b/docs/studio_qa.md index 0256c455ddc77b835fd1956358f2c1ae697a4191..3b46988c21ba36e16baec8e161d972d42e7ef287 100644 --- a/docs/studio_qa.md +++ b/docs/studio_qa.md @@ -56,10 +56,15 @@ LiteOS工程在windows下能够编译,且已经按照用户指南完成HUAWEI - **系统版本问题:** - 烧录时,烧录报错`"."不是内部或外部命令,也不是可运行的程序,或批处理文件`,可能由于使用`WINDOWS7`操作系统,系统下没有`powershell`工具导致,可修改默认终端设置,如下图: + 烧录时,烧录报错`"xxx"不是内部或外部命令,也不是可运行的程序,或批处理文件`,可能由于使用`WINDOWS7`操作系统,系统下没有`powershell`工具导致,可修改默认终端设置,如下图: ![avatar](images/setTerminal_1.png) ![avatar](images/setTerminal_2.png) 将默认终端设为`cmd`,即可烧录成功。 + +### 调试失败问题 + +- **GDB目录路径问题:** + 点击调测后,无法跳转至源代码,调测进度条开始滚动后即消失,可能是GDB目录路径填写有误,可以检查GDB目录路径,并在调试器界面GDB目录输入框内填写`arm-none-eabi-gdb.exe`所在目录 \ No newline at end of file diff --git a/docs/trace.md b/docs/trace.md index 7280a975b11b8c6476e376fb45f458459cf77499..0e0c93633bf12454195537487c16155191938308 100644 --- a/docs/trace.md +++ b/docs/trace.md @@ -8,7 +8,7 @@ #### 使能Trace功能 -make menuconfig 进入模块配置界面,如下,开启扩展内核下的trace模块 +进入组件配置界面,如下,开启扩展内核下的trace模块 ![avatar](images/trace/Server/traceEnable.png) @@ -272,4 +272,4 @@ CPU视图支持柱状图和饼图两种方式展示: 内存视图通过折线图展示系统内存的变化趋势,记录每个时刻不同任务的内存占用情况。用户还可以通过点击图例中某个任务打开或关闭内存占用显示。 -![avatar](images/trace/traceMem.png) +![avatar](images/trace/traceMem.png) \ No newline at end of file diff --git a/docs/updates/1451.md b/docs/updates/1451.md new file mode 100644 index 0000000000000000000000000000000000000000..773347e9b46967316dd0c4cf2226657cab73f367 --- /dev/null +++ b/docs/updates/1451.md @@ -0,0 +1,33 @@ +version 1.45.1 + +有任何问题, 请随时联系我们的技术支持人员。 + +欢迎使用我们的新版本, 在此版本中新增、完善的特性如下: + +#### 版本升级 + +- 灵活支持各种开发板工程,支持快捷极简的编译、烧录、调试、目标板等工程配置 + +- 基于开发者使用习惯, 增加工具栏功能, 支持新建工程, 快进、后退, 编译、烧录、调试, 重启开发板, 串口, 工程设置等 + +#### STM32系列开发板 + +- 支持`STM32系列`开发板的一键编译、烧录、调试, 对齐开源`LiteOS`已支持的开发板型号 + - 支持基于码云开源`LiteOS`, 支持选择适配的开发板`STM32F429IG`、`STM32F769NI`、`STM32L431RC`,支持新建工程远程下载 + - 支持GDB单步调测, 支持多线程感知, 支持基础的查看反汇编、查看内存功能 + +#### WiFi IoT Hi3861开发板 + +- 支持`WiFi IoT Hi3861`开发板的一键编译、烧录、调试, 预置`Histreaming、HiLink`组件 + - 集成最新的`WiFi IoT Hi3861`SDK TR5 版本`Hi3861V100R001C00SPC021` + - 支持新建`WiFi IoT Hi3861`工程,实现编译、烧录、调测 + - 支持`JLink`、`HiBurn串口`两种一键式烧录 + - 支持GDB单步调测, 支持多线程感知, 支持基础的查看反汇编、查看内存功能 + +#### 后续计划 + +- `WiFi IoT Hi3861` 支持`OpenOCD + FT2232D`低成本调测方式; 润和客户Beta测试支持, 反馈与改进 + +- 开源`LiteOS` 版本组件化软件包管理功能实现 + +- 调研、集成`Hi3556V200` 开发板 \ No newline at end of file diff --git a/docs/updates/README.md b/docs/updates/README.md index 00e8d79ba882e6799b89cb08efc3852a11c10a60..692ad6e5eb695dac2baed892e9cc9edbb7cc0540 100644 --- a/docs/updates/README.md +++ b/docs/updates/README.md @@ -1,4 +1,4 @@ -version 1.45.1 +version 1.45.6 有任何问题, 请随时联系我们的技术支持人员。 @@ -8,26 +8,33 @@ version 1.45.1 - 灵活支持各种开发板工程,支持快捷极简的编译、烧录、调试、目标板等工程配置 -- 基于开发者使用习惯, 增加工具栏功能, 支持新建工程, 快进、后退, 编译、烧录、调试, 重启开发板, 串口, 工程设置等 +- 支持新建工程, 快进、后退, 编译、烧录、调试, 重启开发板, 串口, 工程设置等 + +- 新增Trace工具,栈估算工具,镜像分析工具,回溯栈分析工具,性能分析工具等调测工具。 + +- 支持开源工程本地组件配置,AI模型代码生成,qemu仿真。 #### STM32系列开发板 - 支持`STM32系列`开发板的一键编译、烧录、调试, 对齐开源`LiteOS`已支持的开发板型号 - - 支持基于码云开源`LiteOS`, 支持选择适配的开发板`STM32F429IG`、`STM32F769NI`、`STM32L431RC`,支持新建工程远程下载 + - 支持基于码云开源`LiteOS`, 支持选择适配的开发板`STM32F429IG`、`STM32F769NI`、`STM32L431RC`、`STM32F103ZE`、`STM32F072RB`、`STM32F407ZG`、`realview-pbx-a9`,支持新建工程远程下载 - 支持GDB单步调测, 支持多线程感知, 支持基础的查看反汇编、查看内存功能 + - 支持`msmicro工具`生成AI模型代码 + - 支持`qemu`仿真器执行与调测 + - 支持组件化配置 #### WiFi IoT Hi3861开发板 -- 支持`WiFi IoT Hi3861`开发板的一键编译、烧录、调试, 预置`Histreaming、HiLink`组件 - - 集成最新的`WiFi IoT Hi3861`SDK TR5 版本`Hi3861V100R001C00SPC021` - - 支持新建`WiFi IoT Hi3861`工程,实现编译、烧录、调测 - - 支持`JLink`、`HiBurn串口`两种一键式烧录 - - 支持GDB单步调测, 支持多线程感知, 支持基础的查看反汇编、查看内存功能 +- 支持`WiFi IoT Hi3861`开发板的一键编译、烧录、调试 + - 适配`WiFi IoT Hi3861`SDK `HiHope_WiFi-IoT_Hi3861SPC021`,`HiHope_WiFi-IoT_Hi3861SPC024` + - 支持根据模板新建`WiFi IoT Hi3861`工程,实现编译、烧录、调测 + - 支持`JLink`、`HiBurn串口`、`OpenOCD`三种一键式烧录 + - 支持`JLink`、`OpenOCD`两种GDB单步调测, 支持多线程感知, 支持基础的查看反汇编、查看内存功能 #### 后续计划 -- `WiFi IoT Hi3861` 支持`OpenOCD + FT2232D`低成本调测方式; 润和客户Beta测试支持, 反馈与改进 +- 开源`LiteOS` 版本组件化软件包管理界面完善,支持在线组件包 -- 开源`LiteOS` 版本组件化软件包管理功能实现 +- 集成解析内存dump文件、可视化展示等特性 -- 调研、集成`Hi3556V200` 开发板 \ No newline at end of file +- 支持`Hi3516`、`Hi3518`、`Hi3556`等开发板的一键烧录、调测 \ No newline at end of file diff --git a/docs/updates/_sidebar.md b/docs/updates/_sidebar.md index e4e181aedc9640541897fe194ff33d79aeb165a9..e21c3000b5e6d3d303daaea60e46b42b59e78424 100644 --- a/docs/updates/_sidebar.md +++ b/docs/updates/_sidebar.md @@ -1,5 +1,6 @@ - 发行说明 - - [Version 1.45.1](updates/README.md) + - [Version 1.45.6](updates/README.md) + - [Version 1.45.1](updates/1451.md) - [Version 1.41.10](updates/14110.md) - [Version 1.41.1](updates/1411.md) - [Version 1.41.0](updates/1410.md) \ No newline at end of file diff --git a/tools/models/.keep b/tools/models/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tools/models/models.rar b/tools/models/models.rar new file mode 100644 index 0000000000000000000000000000000000000000..071ed9a45a7297ff641f41d2366906d117613880 Binary files /dev/null and b/tools/models/models.rar differ