diff --git a/development-tools/_sidebar.md b/development-tools/_sidebar.md index 701157fe56cf43492db85eafa152e8a846672fa6..6b066103b5d77e55bc3c1db8a01a5eeb17393b79 100644 --- a/development-tools/_sidebar.md +++ b/development-tools/_sidebar.md @@ -25,10 +25,12 @@ - [精彩博客推荐](/development-tools/rtthread-studio/applications/user-blog/user-blog.md) - [常见问题](/development-tools/rtthread-studio/faq/studio-faq.md) - [更新日志](/development-tools/rtthread-studio/changelog/changelog.md) - - RT-Thread构建与配置系统 - [简述](/development-tools/build-config-system/summary.md) - [Kconfig](/development-tools/build-config-system/Kconfig.md) - [SCons](/development-tools/build-config-system/SCons.md) - Env 开发工具 - - [Env 用户手册](/development-tools/env/env.md) \ No newline at end of file + - [Env 用户手册](/development-tools/env/env.md) +- 其他 + - [Cmake编译](/development-tools/other/cmake.md) + - [ArmClang编译](/development-tools/other/armclang.md) \ No newline at end of file diff --git a/development-tools/other/armclang.md b/development-tools/other/armclang.md new file mode 100644 index 0000000000000000000000000000000000000000..216802d037b9d2aed6442f37e01e400c4e4c07d7 --- /dev/null +++ b/development-tools/other/armclang.md @@ -0,0 +1,26 @@ +## 如何使用 ArmClang 编译工程 + +在 RT-Thread 4.1.0 正式发布版中,添加了对 Arm Compiler 6 的支持,用户可以修改 rtconfig.py 指定生成 mdk5 工程时使用的编译器 + +- ArmClang 相较于 Armcc, 支持的架构更多,Armcc 支持到 Armv7 架构,armclang 可以支持 Armv6, Armv7, Armv8 以及今后 Arm 的新处理器 +- 在相同的工程下,ArmClang 的编译速度优于 Armcc + +## 如何使用 + +- 在 rt-thread/bsp 目录下打开任意的工程,这里使用 stm32h750-artpi-h750 为例 + +- 打开 rtconfig.py 文件,修改 PLATFORM 为 armclang + + ![image-20220411083154378](figures/image-20220411083154378.png) + +- 打开 keil 模板工程,修改编译器为 ArmClang,Ctrl+S 保存设置 + + ![image-20220411083248714](figures/image-20220411083248714.png) + +- 在 env 环境下,使用命令 `scons --target=mdk5` 生成 keil 工程。 + + ![image-20220411083513490](figures/image-20220411083513490.png) + +## 参考资料 + +- [Arm Compiler armclang Reference Guide Version 6.9](https://developer.arm.com/documentation/100067/0609/) \ No newline at end of file diff --git a/development-tools/other/cmake.md b/development-tools/other/cmake.md new file mode 100644 index 0000000000000000000000000000000000000000..faba3312baaceaf9928e0c94df585b1ebc488065 --- /dev/null +++ b/development-tools/other/cmake.md @@ -0,0 +1,65 @@ +## 如何使用 Cmake 编译工程 + +在 RT-Thread 4.1.0 正式发布版中,添加了对 CMake 的支持。开发者可以使用 SCons 工具来生成 CMakeLists.txt 文件。 + +## 为何要支持 CMake + +- 社区反馈;社区不少开发者表示希望 rt-thread 能够支持使用 CMake 构建工程 +- 国际化;在全球开源社区,大部分项目使用 CMake 管理 +- 多元化;rt-thread 不仅支持 SCons,还支持了 CMake,开发者可以有更多的选择 + +## 使用 ENV 构建 CMake 工程 + +- 在 rt-thread/bsp 目录下打开任意的工程,这里使用 stm32h743-st-nucleo bsp 为例。 + +- 安装 CMake 和 Make 工具 + +- 在该 bsp 目录下,打开 env 工具,使用命令 `scons --target=cmake` 生成 CMakeLists.txt 文件 + + ![image.png](figures/c3754a7c853140f6a77962e483b44ec8.png) + +- 使用命令 `cd build && cmake .. && make` 编译工程 + + ![image.png](figures/358b5544a8f918ec3649d11144feb7b3.png.webp) + + ![image.png](figures/099fca6910497a8e37ec65d1d782bacb.png.webp) + +## 使用 Clion 构建工程 + +- Clion 支持使用 CMake 构建工程 + +- 打开 Clion,打开工程 stm32h743-st-nucleo + +- 点击右上角的锤子,进行编译 + + ![image.png](figures/925f3f5e0f4ae915d829e880e5c3f927.png.webp) + +- 编译界面显示: + + ![image.png](figures/c87d273ef77d551a65c8f313d936b4da.png.webp) + +- 现在,还无法进行调试。需要我们编辑调试配置。鼠标左键点击 rtthread.elf|Debug,选择编辑配置: + + ![image.png](figures/496d18d4d387d94add3592a132858faa.png) + +- 点击左上角的 + 号,新建 Openocd 配置。点击协助选择面板配置文件:st_nucleo_h743zi.cfg,点击确定保存配置: + + ![image.png](figures/18719d68031beb6cc8359de2a655fbda.png.webp) + +- 连接开发板,点击右上角虫子的图标,就可以正常就行调试: + + ![image.png](figures/39af0435ca1c4350a1c1a3a61382bc1f.png.webp) + +- 配置外设。点击外设,选择 stm32h743.svd 文件,点击确定保存配置: + + ![image.png](figures/4e3edccd36822f34f5083c0e37b59da3.png.webp) + +- 设置断点,查看寄存器的值: + + ![image.png](figures/0b7ed6c3bd2af28a8fb99008f4340bf6.png.webp) + +## 参考资料 + +- [CMake - 维基百科,自由的百科全书 (wikipedia.org)](https://zh.wikipedia.org/wiki/CMake) +- [CLion:JetBrains 出品的 C 和 C++ 跨平台 IDE](https://www.jetbrains.com/zh-cn/clion/) + diff --git a/development-tools/other/figures/099fca6910497a8e37ec65d1d782bacb.png.webp b/development-tools/other/figures/099fca6910497a8e37ec65d1d782bacb.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..5bd18efe1b8ed4c7555257a374c42ef72dc1fa46 Binary files /dev/null and b/development-tools/other/figures/099fca6910497a8e37ec65d1d782bacb.png.webp differ diff --git a/development-tools/other/figures/0b7ed6c3bd2af28a8fb99008f4340bf6.png.webp b/development-tools/other/figures/0b7ed6c3bd2af28a8fb99008f4340bf6.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..6b9469e58f1225e295a16740893578e040dec69f Binary files /dev/null and b/development-tools/other/figures/0b7ed6c3bd2af28a8fb99008f4340bf6.png.webp differ diff --git a/development-tools/other/figures/1649921094604.png b/development-tools/other/figures/1649921094604.png new file mode 100644 index 0000000000000000000000000000000000000000..8c61593dfa8934c98a60ca31647d88b5c4bf682b Binary files /dev/null and b/development-tools/other/figures/1649921094604.png differ diff --git a/development-tools/other/figures/1649923711741.png b/development-tools/other/figures/1649923711741.png new file mode 100644 index 0000000000000000000000000000000000000000..47e37ac68a493403fa5615bb6127d450af455765 Binary files /dev/null and b/development-tools/other/figures/1649923711741.png differ diff --git a/development-tools/other/figures/1649928016219.png b/development-tools/other/figures/1649928016219.png new file mode 100644 index 0000000000000000000000000000000000000000..0e86a29474bb262ea446674215c4cda0d10cb3a4 Binary files /dev/null and b/development-tools/other/figures/1649928016219.png differ diff --git a/development-tools/other/figures/18719d68031beb6cc8359de2a655fbda.png.webp b/development-tools/other/figures/18719d68031beb6cc8359de2a655fbda.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..0c3de631b6f980f8cd028396fe7cc05542d1a6bf Binary files /dev/null and b/development-tools/other/figures/18719d68031beb6cc8359de2a655fbda.png.webp differ diff --git a/development-tools/other/figures/358b5544a8f918ec3649d11144feb7b3.png.webp b/development-tools/other/figures/358b5544a8f918ec3649d11144feb7b3.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..ec32b629c153ae8873bd6f9c74a661ddf438b4d7 Binary files /dev/null and b/development-tools/other/figures/358b5544a8f918ec3649d11144feb7b3.png.webp differ diff --git a/development-tools/other/figures/39af0435ca1c4350a1c1a3a61382bc1f.png.webp b/development-tools/other/figures/39af0435ca1c4350a1c1a3a61382bc1f.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..b867c3c60a1d3bf4c8c3be9810a69d305af27bf6 Binary files /dev/null and b/development-tools/other/figures/39af0435ca1c4350a1c1a3a61382bc1f.png.webp differ diff --git a/development-tools/other/figures/496d18d4d387d94add3592a132858faa.png b/development-tools/other/figures/496d18d4d387d94add3592a132858faa.png new file mode 100644 index 0000000000000000000000000000000000000000..a8600e2d2a754a1c7cbf63876955e5e8b780a67d Binary files /dev/null and b/development-tools/other/figures/496d18d4d387d94add3592a132858faa.png differ diff --git a/development-tools/other/figures/4e3edccd36822f34f5083c0e37b59da3.png.webp b/development-tools/other/figures/4e3edccd36822f34f5083c0e37b59da3.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..495701abe91cf8e8712242128aee5d0e45b2c64d Binary files /dev/null and b/development-tools/other/figures/4e3edccd36822f34f5083c0e37b59da3.png.webp differ diff --git a/development-tools/other/figures/925f3f5e0f4ae915d829e880e5c3f927.png.webp b/development-tools/other/figures/925f3f5e0f4ae915d829e880e5c3f927.png.webp new file mode 100644 index 0000000000000000000000000000000000000000..4c659d215d2b443d9ad299221de30228277a819d Binary files /dev/null and b/development-tools/other/figures/925f3f5e0f4ae915d829e880e5c3f927.png.webp differ diff --git a/development-tools/other/figures/c3754a7c853140f6a77962e483b44ec8.png b/development-tools/other/figures/c3754a7c853140f6a77962e483b44ec8.png new file mode 100644 index 0000000000000000000000000000000000000000..66bf56c394b4c9c78d3fb9b8b92884f07f07f363 Binary files /dev/null and b/development-tools/other/figures/c3754a7c853140f6a77962e483b44ec8.png differ diff --git a/development-tools/other/figures/image-20220411083154378.png b/development-tools/other/figures/image-20220411083154378.png new file mode 100644 index 0000000000000000000000000000000000000000..e67e598d6b696d8b9a07bcc7fbad888c4daa9dae Binary files /dev/null and b/development-tools/other/figures/image-20220411083154378.png differ diff --git a/development-tools/other/figures/image-20220411083248714.png b/development-tools/other/figures/image-20220411083248714.png new file mode 100644 index 0000000000000000000000000000000000000000..de40cdcd581df33d037f283e3a32dc62fc341789 Binary files /dev/null and b/development-tools/other/figures/image-20220411083248714.png differ diff --git a/development-tools/other/figures/image-20220411083513490.png b/development-tools/other/figures/image-20220411083513490.png new file mode 100644 index 0000000000000000000000000000000000000000..036faa95e033f1b73d0c076f815fd7fa662b769c Binary files /dev/null and b/development-tools/other/figures/image-20220411083513490.png differ