diff --git a/docs/source/features/index.rst b/docs/source/features/index.rst index c5a380be30ec262fa6b333bed2eb452b0de08219..893614e1ae086d41321e9c58ca1389df95dd3ea2 100644 --- a/docs/source/features/index.rst +++ b/docs/source/features/index.rst @@ -23,3 +23,4 @@ container/index.rst kernelversions.rst software_package_description.rst + qsemos_ide/index.rst diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/index.rst b/docs/source/features/qsemos_ide/hard_realtime_plugin/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..75cddb082ad12eda94db925e9475107b67597ca7 --- /dev/null +++ b/docs/source/features/qsemos_ide/hard_realtime_plugin/index.rst @@ -0,0 +1,691 @@ +硬实时插件用户手册 +------------------ + + +目录 +----- + +`功能`_ + + `新建工程`_ + + `克隆工程`_ + + `工程列表`_ + + `新建项目`_ + + `配置工程`_ + + `管维工具`_ + + `硬件资源管理`_ + + `将文件添加到makefile`_ + + `构建Build`_ + + `烧录`_ + + `调试`_ + + `仿真`_ + +`更新插件工具`_ + + `Linux环境`_ + + `Windows环境`_ + +`卸载插件`_ + + `Linux`_ + + `Windows`_ + +`其他软件`_ + + `Virtualbox挂载串口`_ + +`FAQ`_ + +功能 +---- + + 说明: + 1.请根据安装手册完成硬实时插件的安装 + + 2.工具连接远程linux主机操作,请确认vscode连接用户和安装插件时的用户是一致的; + + 3.文档FAQ章节,常见问题处理方法; + +全新安装的环境,首次连接工具时,工具可能会下载所需文件,稍等片刻,如下图所示。 + +|image0| + +新建工程 +~~~~~~~~ + + 说明: + 开发时创建的demo名称需要和选择的单板名称一致。 + + 当前uniproton支持的单板为RK3588和E2000Q,zephyr支持的单板为RK3568和RK3588。 + +选择“工程任务”-“新建工程”,填写如下信息 + +.. figure:: media/2259b11d02573a66ca5e12081a025735.png + :alt: 1723802354973 + + 1723802354973 + +.. figure:: media/46a0d8963d1c41bfdbd1102464bd201f.jpeg + :alt: a8534da892cd2c9c22c2c68067eed22 + + a8534da892cd2c9c22c2c68067eed22 + +【说明】 + +**工程名称**\ :工程名称组成字母和数字。 + +**工程目录**\ :输入“~”可默认填充用户目录;也可以点击\ |image1|\ 选择目录,为避免权限问题建议选择用户目录保存工程。 + +**项目名称**\ :名称组成字母和数字。 + +**单板选择**\ :当前uniproton支持的单板为RK3588和E2000Q,zephyr支持的单板为RK3568和RK3588。 + +**OS:** uniproton/zephyr,当前仅支持使用官方docker环境编译。 + +**模板(MetaData):** 选择模板会提供驱动协议栈等字段默认值。 + +**驱动/协议栈**\ :单板和os对应的驱动和协议栈,可选一个及以上。 + +**源代码路径:** +编译烧录等功能需要的os来源,用户可以保持模板默认os,也可以自己填写uniproton或者zephyr的os克隆url以及分支,也可以选择用户本地已经存在的os目录。 + +**Git存储卡URL:** 工程编译烧录等功能需要的os克隆url。 + +**分支:** 工程编译烧录等功能需要的os克隆分支。 + +|image2|\ :删除项目1的配置内容。 + +|image3|\ :添加项目。 + +注:1.如链接github失败,可用检查dns是否有如下配置,如果没有请自行添加 + +nameserver 8.8.8.8 + +nameserver 8.8.4.4 + +2.如网络有限制,可选择填写内网os仓库连接或本地已保存的os文件夹。 + +克隆工程 +~~~~~~~~ + +选择“工程任务”-“克隆工程”,填写如下信息 + +|image4| + +工程列表 +~~~~~~~~ + +搜索框-搜索筛选当前列表中的项目; + +|image5|\ 打开对应工程; + +|image6|\ 删除列表中的记录,不会删除工程文件 + +|image7| + +新建项目 +~~~~~~~~ + +如下图填写完项目信息后,点击确认。 + +|image8| + +配置工程 +~~~~~~~~ + +点击工程下的配置工程,查看以及修改该工程下的所有项目配置,修改完点击保存, + +点击取消则恢复之前的配置 + +|image9| + +说明: + +- 项目信息:均不可修改 +- 编译器配置: + +编译类型,当前仅支持官方的docker编译环境。 + +编译器目录,docker的REPOSITORY:TAG组成,如社区发布的uniproton编译环境swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton:v004 + +编译参数,uniproton可不填 + +编译模式,release/debug + +- 烧录配置(当前仅支持windows打开烧录工具): + +烧录方式,当前仅支持rkdev(瑞芯微烧录工具) + +烧录器目录,默认为D:\tool-rkdev + +烧录文件,暂不支持 + +执行程序,当前仅支持RKDevTool.exe + +- 调试配置: + +调试器,当前仅支持gdb-multiarch + +端口,默认IP的远程连接方式 + +远程地址,开发板的ip+端口号,例如192.168.10.10:5678 + +GDB目录,本地Linux主机的命令目录/usr/bin/gdb-multiarch + +可执行文件路径,待调试的elf文件完整目录 + +用户名,开发板登录用户名 + +密码,开发板登录密码 + +管维工具 +~~~~~~~~ + +开发中 + +硬件资源管理 +~~~~~~~~~~~~ + +开发中 + +将文件添加到makefile +~~~~~~~~~~~~~~~~~~~~ + +注:目前c文件只支持添加到{项目目录}/demos/rk3588/apps/openamp/文件夹下 + +右击.c文件选择将文件添加到makefile + +.. figure:: media/a481e3b5723e54594ed82ac55eaddc66.png + :alt: 1724403422495 + + 1724403422495 + +执行完会看到\ **同级目录**\ 下的makefile文件里已经添加了该文件 + +.. figure:: media/4a3d0625b32062a5683cb4311b3c04a2.png + :alt: 1723110788786 + + 1723110788786 + +构建Build +~~~~~~~~~ + +注:第一次构建时,会拉取编译环境docker镜像。 + +**入口1:**\ 可选择项目目录右击,菜单中选择“构建Build”后,打开构建页面。 + +|image10| + +**入口2:**\ 点击“构建Build”,此页面具有构建和展示当前项目构建历史记录的功能。 + +构建:编译当前项目。 + +导出日志:将构建日志保存到指定目录。 + +查看日志:打开当前项目的编译日志。 + +|image11| + +烧录 +~~~~ + +需要将文件下载到windows执行 + +1. 远程状态下,在vscode资源管理器中,选中需要下载的文件右击选择“下载”,下载位置选择windows中的目录即可,底部状态栏会显示“正在下载”。 + +|image12| + +|image13| + +1. 下载结束后,断开远程连接 + +|image14| + +1. 打开下载的工程,点击插件图标选择烧录,会弹出烧录工具。 + +|image15| + +调试 +~~~~ + + Uniproton调试功能需要使用的相关试用文件请联系国创单独提供。 + + mica-tools:openEuler Embedded镜像及rots启动工具。 + + debug-demo:调试示例工程,示例中使用的ip为开发板配置的ip,port为5678。 + + Zephyr调试功能也需要使用国创提供的相关试用文件。 + + ok3568-uboot:需要具备网络功能。 + + debug-demo:调试示例工程,示例文件中配置的ip和port为192.168.10.123:4242。 + +环境配置 +^^^^^^^^ + +1. 烧录update.img到开发板,部署openEuler Embedded环境 + +|image16| + +1. 修改单板串口速率 + +比如烧录uboot-BR-115200文件夹中的文件到开发板 + +|image17| + +串口波特率修改为1500000,连接单板,单板按reset +,同时按住recovery键2秒,瑞芯微开发工具上将提示发现loader设备。 + +点击“设备分区表”,获取分区信息 + +选择loader文件和uboot文件 + +在需要烧录的文件前打勾,点击执行 + +|image18| + +串口波特率修改为115200,连接单板 + +重启ctrl+c进入mmc命令行模式,例如OK3588执行以下命令,不同板卡命令可参考对应的用户手册。 + +printenv–查看配置,然后拷贝保存到本地一份以防后续修改出错恢复配置 + +setenv bootargs ‘memmap=exactmap memmap=130M@2M,876M@148M,48M@2000M +storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal +maxcpus=3’ + +saveenv + +reboot + +1. 单板正常启动后,配置ip地址 + +ifconfig end0 192.168.10.10 up; + +|image19| + +1. 本地windows静态ip,确保window网卡以及板端网卡在同一网段 + +|image20| + +注: 不同板卡的启动过程参考对应板卡的用户手册。 + +如E2000Q混合部署调试参考“GSK E2000Q混部使用说明.pdf” + +vscode安装依赖插件 +^^^^^^^^^^^^^^^^^^ + +在vscode插件市场中搜索安装以下依赖插件到安装了硬实时插件的虚拟机上 + +C/C++ Extension Pack,GDB Debug, Code Runner(如已安装跳过此步骤) + +|image21| + +设置调试参数 +^^^^^^^^^^^^ + +方法一(自动设置): + +1.【配置工程】-【选择对应项目】-【调试配置】,修改单板远程地址、登录用户名密码、调试可执行文件路径,【保存】,如下图 + +|image22| + +方法二(手动配置,如已自动配置跳过此步骤): + +1. 将launch.json和tasks.json文件拷贝到工程文件下的.vscode目录中 + +|image23| + +1. 修改launch.json文件中elf路径 + +“preLaunchTask”: +“upload”,这个字段对应tasks.json中的label,用来关联调用tasks.json中的任务,如果需要在调试前执行一些预配置,可以在tasks.json中的command字段中添加。 + +注:zephyr项目,preLaunchTask字段可为空。 + +|image24| + +1. task.json文件,主要修改command字段,cwd变量对应launch.json中的字段 + +注:uniproton需要配置,zephyr的command字段留空即可 + +|image25| + +调试文件基本功能 +^^^^^^^^^^^^^^^^ + +1. 调试文件打断点 + +|image26| + +2.进入硬实时-配置工程,修改ip为板卡ip,设置用户名以及密码。设置成功后将在tasks.json和launch.json自动更新 + +|image27| + +3.执行调试,在调试窗口选择项目名称点击运行 + +|image28| + +4.调试窗口基本功能 + +|image29| + +|image30| + +注意:如果上述操作点击调试后,如果没有进入调试界面,需要注释launch.json的preLaunchTask(如下图所示),然后重复第三步的调试动作即可。 + +|image31| + +|IMG_258|\ :Continue/Pause(F5),当程序执行到断点时停止执行,点击此按钮程序继续执行。 + +|IMG_259|\ :Step +Over(F10),在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。 + +|IMG_260|\ :Step +Into(F11),在单步调试时,遇到子函数后,进入子函数并继续单步执行。 + +|IMG_261|\ :Step Out(Shift+F11),在单步调试执行到子函数内时,点击Step +Out会执行完子函数剩余部分,并跳出返回到上一层函数。 + +|IMG_262|\ :Restart(Ctrl+Shift+F5),重新启动调试,硬实时暂不支持点击重启调试,需要点击\ |image37|\ 后,再手动重启开发板。 + +|image38|\ :Stop(Shift+F5),停止调试任务。 + +1. 查看反汇编 + +在代码左侧调用堆栈页面,选择函数点击右键,然后点击“打开反汇编视图”,查看反汇编。 + +|image39| + +仿真 +~~~~ + ++-----------------------------------------------------------------------+ +| 说明: 1.依赖qemu8以上版本。 2.此功能需要指定构建后的bin和elf文件。 | +| 3.配置参数均为必填。 | +| 4.配置正确后保存配置,点击启动,连接,使用结束后停止。 | ++=======================================================================+ ++-----------------------------------------------------------------------+ + +1. **配置** + +架构:当前仅支持qemu-system-aarch64启动 + +Cpu型号:模拟cpu型号,当前支持cortex-a55,cortex-a76,cortex-a7,cortex-r5 + +kernel文件目录:构建出的bin/elf文件 + +调试端口:可自定义,默认1234 + +调试文件(.elf):构建出的二进制elf文件 + +1. **启动 - 启动qemu仿真环境** + +启动后,会在终端新增一个页签,如下图提示,启动仿真调试环境成功。 + +|image40| + +1. **连接 - 默认使用gdb-multiarch连接调试环境** + +连接后,新增一个终端,键盘【enter】回车可进行gdb命令行调试。 + +|image41| + +1. **停止 - 停止仿真进程** + +停止相关的仿真进程。 + +|image42| + +更新插件工具 +------------ + + 说明: + Linux环境和windows环境均需要更新。 + +Linux环境 +~~~~~~~~~ + +1. 整包更新,将QSemOS-HRT,拷贝到主机中,依次执行以下命令:(只更新后端服务请直接跳到下一步) + +sh uninstall_linux.sh (卸载) + +sh installer_deps_linux.sh (安装) + +sh check_linux.sh (检查后端服务是否能成功启动) + +1. 只更新后端服务不更新依赖包,只需把QSemOS-HRT文件夹下的qsemos_hrt-{version}-py3-none-any.whl文件删除替换为最新版本的即可,替换完需执行如下命令: + +python3 qsemos-hrt-installer.py + +1. 更新vsix插件,建议将插件拷贝到linux中,然后远程连接机器后通过如下图方法安装更新。 + +.. figure:: media/9cfcf985d1b79dceb3e52ad6989e6bc7.png + :alt: 1723801792023 + + 1723801792023 + +更新完毕,重新启动vscode。 + +Windows环境 +~~~~~~~~~~~ + +1. 更新vsix插件,如下图所示选择插件安装。 + +|image43| + +卸载插件 +-------- + +Linux +~~~~~ + +执行QSemOS-HRT下uninstall_linux.sh + +sh uninstall_linux.sh + +Windows +~~~~~~~ + +双击QSemOS-HRT下uninstall_win.bat文件 + +其他软件 +-------- + +Virtualbox挂载串口 +~~~~~~~~~~~~~~~~~~ + +注: 安装VirtualBox方式可以参考安装文档。 + +1.把usb转串口从主机断开连接,添加到虚拟机(如图是QinHeng Electronics +USB2.0-Ser) + +|image44| + +2.虚拟机中查看usb情况,执行命令lsusb,如图已经识别CH340 + +|image45| + +3.查看串口情况,执行命令sudo dmesg \| grep ttyUSB,如图表示已连接 + +|image46| + +4.添加用户权限 + +sudo nano /etc/udev/rules.d/50-ttyusb.rules + +添加内容KERNEL==“ttyUSB0”, MODE=“0666”保存 + +执行以下命令生效 + +sudo udevadm control –reload-rules + +sudo udevadm trigger + +5.修改串口波特率根据实际情况修改 + +sudo apt install minicom + +sudo minicom -s + +|image47| + +|image48| + +|image49| + +|image50| + +|image51| + +stty -F /dev/ttyUSB0 +实际波特率 + +FAQ +--- + +**FAQ-1 如果插件首页长时间未加载,建议手动断开远程重新连接。** + +**FAQ-2 虚拟机磁盘空间不足时,可执行一下操作** + +关机以后,先设置virtualbox + +.. figure:: media/e7fb0fd238d3623ca39ea8ae4cf6bc3c.jpeg + :alt: img_v3_02c5_75aebc88-7a6e-43f1-aa53-cb8f5b7ef06g + + img_v3_02c5_75aebc88-7a6e-43f1-aa53-cb8f5b7ef06g + +然后启动虚拟机再执行命令扩容磁盘(替换为实际扩容尺寸): + +a.查看可用空间(free列) + +sudo pvs + +b.根据free空间设置扩容磁盘空间(实际情况替换20G) + +sudo lvresize -L +20G /dev/mapper/ubuntu–vg-ubuntu–lv + +sudo resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv + +c.查看是否扩容成功 + +df -h + +**如果发生GPT PMBR size mismatch 错误请按照以下链接修复:** + +`VM虚拟机Ubuntu 22.04 LVM磁盘扩容报错:GPT PMBR size mismatch (104857599 +!= 209715199) will be corrected by +wri-CSDN博客 `__ + +**FAQ-3** **vscode远程连接时遇到如下错误** + +[19:47:32.503] Opening exec server for ssh-remote+192.168.56.1 + +[19:47:32.510] Initizing new exec server for ssh-remote+192.168.56.1 + +[19:47:32.511] Using commit id +“5437499feb04f7a586f677b155b039bc2b3669eb” and quality “stable” for +server + +[19:47:32.512] Install and start server if needed + +[19:47:32.532] Opening exec server for ssh-remote+192.168.56.1 + +[19:48:47.422] getPlatformForHost was canceled + +[19:48:47.423] Exec server for ssh-remote+192.168.56.1 failed: Error: +已取消连接 + +[19:48:47.423] Existing exec server for ssh-remote+192.168.56.1 errored +(Error: 已取消连接) + +[19:48:47.423] Initizing new exec server for ssh-remote+192.168.56.1 + +[19:48:47.424] Using commit id +“5437499feb04f7a586f677b155b039bc2b3669eb” and quality “stable” for +server + +[19:48:47.426] Error opening exec server for ssh-remote+192.168.56.1: +Error: 已取消连接 + +[19:48:47.426] Install and start server if needed + +由于这个ip的连接信息已经在记录在known_hosts文件中了。 + +在C:\Users\用户\.ssh\known_hosts文件中找到ip地址所在行,整行删除。 + +vscode即可正常连接。 + +**FAQ-4** **页面一直在加载或空屏**\ 。 + +关闭vscode重新打开 + +**FAQ-5 vscode终端为powershell时,建议设置为默认cmd,设置如下图** + +|image52| + +.. |image0| image:: media/913f612f1e340d87b1d2ac23dcd33e42.png +.. |image1| image:: media/ef6853edd39fed2debeb1ab3285f392b.png +.. |image2| image:: media/a65762dc110df4a33fff28270c09f51f.png +.. |image3| image:: media/ff339ead0f4e315db8ff7a5989d6e329.png +.. |image4| image:: media/ae0e52e3c87b0906828d1e746d04a76f.png +.. |image5| image:: media/ebb175d6918b1e7c2376a4634607f18f.png +.. |image6| image:: media/43035b749972d1864b971bc0b9a0aadc.png +.. |image7| image:: media/53ea8f78d44286e08f0bbca6e1799116.png +.. |image8| image:: media/ef06607ea776d34820bdd0104a3c38d2.png +.. |image9| image:: media/28067939164a8c5651c68fc969fcd24e.png +.. |image10| image:: media/a4e844a9ef0834495302327c9aea63a3.png +.. |image11| image:: media/4e0daa8e31d3b9b4eb519d2b722d362e.png +.. |image12| image:: media/35f7d8420b441b5bb96c69251a56f9db.png +.. |image13| image:: media/eb6a29cd010ace839ed44c5ce7c24373.png +.. |image14| image:: media/a60c3adb033750ca5d4ddf0cf9ce4c57.png +.. |image15| image:: media/e83177b3cb5b568e1ef81b6c1cf577c5.png +.. |image16| image:: media/20b46bb560244eb9afb5971dba95abf7.png +.. |image17| image:: media/bd2019769ff78d3a96dd9b1aa5c90a05.png +.. |image18| image:: media/13d6c294f0b262a877a56a5ad059cb29.png +.. |image19| image:: media/40fc2d11d9cc28b2b42fbf0179eb11ea.png +.. |image20| image:: media/a4be8699ae255ccc59df7e8429b75f01.png +.. |image21| image:: media/956762e512e4d57c857e1214ae6cd394.png +.. |image22| image:: media/1acbab426d7f660d2e02ec4d692668d9.png +.. |image23| image:: media/5d30e9d3329569796dcf52fd32a4883b.png +.. |image24| image:: media/11ac28a9a3ba85b4c2d5009619743f29.png +.. |image25| image:: media/8f05e08df12b7860c3b2f4eb0fcfb710.png +.. |image26| image:: media/a93f9ec1cbb2ee62c2d8d6176fe65936.png +.. |image27| image:: media/3461930b4cd1cef4f866853d1ca51476.png +.. |image28| image:: media/3aae340091cccc25755378e817eefcd4.png +.. |image29| image:: media/d9fc7bff367e1ed19d38574ee4d0f6bd.png +.. |image30| image:: media/f554e192e03b41c58c5330b251aa13d1.png +.. |image31| image:: media/0160365a4da19df2ff3fdf171d4dc2c0.png +.. |IMG_258| image:: media/0febc10f99e86c7ee7e906aaa76ed135.png +.. |IMG_259| image:: media/08a36e882fdf0781579f87eb3cb2d753.png +.. |IMG_260| image:: media/9328c4f42755dd3d1483da946d82c814.png +.. |IMG_261| image:: media/441c18b9da96878e4b911373de75b75c.png +.. |IMG_262| image:: media/0cde21f81990256ed126546e5e039350.png +.. |image37| image:: media/ffd363c06a04eb68c59db943daa5d2da.png +.. |image38| image:: media/ffd363c06a04eb68c59db943daa5d2da.png +.. |image39| image:: media/1e629099a4a0824ec304ff390fd481c0.png +.. |image40| image:: media/1747708fe801bcf14c1cb05df26b86f4.png +.. |image41| image:: media/27e603ee1a5b62298ec5c7f26236722b.png +.. |image42| image:: media/9460e2278dff9f93d1e5794ccc0dbb1c.png +.. |image43| image:: media/a18c08f310188e78baa7fbff53a1823a.png +.. |image44| image:: media/c6acdf454cd1053cc2c039158bf33bec.png +.. |image45| image:: media/0191a59e1eeb32360f768a596d3fdf07.png +.. |image46| image:: media/dd32fb10e9be71bd5bc8adfff5600ba1.png +.. |image47| image:: media/7bd7a6367c6e7a2d9addf4432b64acca.png +.. |image48| image:: media/bb848c8e9748e45b061132ad5441c059.png +.. |image49| image:: media/d7f31ef5f6d5c3e97e4ca061bfcb0326.png +.. |image50| image:: media/ff9b7b50cfb1e949ce48392beda01144.png +.. |image51| image:: media/4f7cca8a392f67c2ec813eb9477dee5a.png +.. |image52| image:: media/e3640e79697e162ab13f22c214b052dd.png diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0160365a4da19df2ff3fdf171d4dc2c0.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0160365a4da19df2ff3fdf171d4dc2c0.png new file mode 100644 index 0000000000000000000000000000000000000000..9aeb06bef1750468a7311355db4f7dbbdef5c572 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0160365a4da19df2ff3fdf171d4dc2c0.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0191a59e1eeb32360f768a596d3fdf07.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0191a59e1eeb32360f768a596d3fdf07.png new file mode 100644 index 0000000000000000000000000000000000000000..47c7ccde63eeb7f4c2aec5ce26e9cfe58c36bf04 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0191a59e1eeb32360f768a596d3fdf07.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png new file mode 100644 index 0000000000000000000000000000000000000000..9195eb9feb12d6f72b15df615f915538de2fefd0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png new file mode 100644 index 0000000000000000000000000000000000000000..f5effb143db2203fa8707cdd56e7b98c4df864a2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png new file mode 100644 index 0000000000000000000000000000000000000000..dbde14ea5efaa4bc3dfdfa1152b42f30b1a8f3da Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/11ac28a9a3ba85b4c2d5009619743f29.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/11ac28a9a3ba85b4c2d5009619743f29.png new file mode 100644 index 0000000000000000000000000000000000000000..157f0d9b47edb78255835edcceb1bfd77c9a1095 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/11ac28a9a3ba85b4c2d5009619743f29.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/13d6c294f0b262a877a56a5ad059cb29.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/13d6c294f0b262a877a56a5ad059cb29.png new file mode 100644 index 0000000000000000000000000000000000000000..08e13ce07f91e5135c71d3d5041d72e15da3b8a4 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/13d6c294f0b262a877a56a5ad059cb29.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1747708fe801bcf14c1cb05df26b86f4.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1747708fe801bcf14c1cb05df26b86f4.png new file mode 100644 index 0000000000000000000000000000000000000000..b860b95d838ce0d3735ce4049893ad6db55e2c7f Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1747708fe801bcf14c1cb05df26b86f4.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1acbab426d7f660d2e02ec4d692668d9.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1acbab426d7f660d2e02ec4d692668d9.png new file mode 100644 index 0000000000000000000000000000000000000000..79145b6d24d9507a048887956290063f3f222753 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1acbab426d7f660d2e02ec4d692668d9.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1e629099a4a0824ec304ff390fd481c0.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1e629099a4a0824ec304ff390fd481c0.png new file mode 100644 index 0000000000000000000000000000000000000000..8b9e859b9e925f744afd3fc756f43e1a05f89784 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/1e629099a4a0824ec304ff390fd481c0.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/20b46bb560244eb9afb5971dba95abf7.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/20b46bb560244eb9afb5971dba95abf7.png new file mode 100644 index 0000000000000000000000000000000000000000..62a4165bb815319e737a8070bda745a5635b0c3d Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/20b46bb560244eb9afb5971dba95abf7.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/2259b11d02573a66ca5e12081a025735.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/2259b11d02573a66ca5e12081a025735.png new file mode 100644 index 0000000000000000000000000000000000000000..0fe6d26f7751f9fa59d77f791b01ee0797ac43b9 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/2259b11d02573a66ca5e12081a025735.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/27e603ee1a5b62298ec5c7f26236722b.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/27e603ee1a5b62298ec5c7f26236722b.png new file mode 100644 index 0000000000000000000000000000000000000000..436362da6b04a565f88afc6b5bdedd39c979a8a6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/27e603ee1a5b62298ec5c7f26236722b.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/28067939164a8c5651c68fc969fcd24e.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/28067939164a8c5651c68fc969fcd24e.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9cdc33d2c7dc5171dd221d722748192cd55ce7 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/28067939164a8c5651c68fc969fcd24e.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3461930b4cd1cef4f866853d1ca51476.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3461930b4cd1cef4f866853d1ca51476.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a6036fa80eec6648aefca5ada3bf1ce0061ba8 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3461930b4cd1cef4f866853d1ca51476.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/35f7d8420b441b5bb96c69251a56f9db.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/35f7d8420b441b5bb96c69251a56f9db.png new file mode 100644 index 0000000000000000000000000000000000000000..40506e54293e1ab993b85b3036f20a41d95b48a4 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/35f7d8420b441b5bb96c69251a56f9db.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3aae340091cccc25755378e817eefcd4.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3aae340091cccc25755378e817eefcd4.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd3799d2b2adeb0df40913a479ef95abfebd7fa Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/3aae340091cccc25755378e817eefcd4.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/40fc2d11d9cc28b2b42fbf0179eb11ea.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/40fc2d11d9cc28b2b42fbf0179eb11ea.png new file mode 100644 index 0000000000000000000000000000000000000000..9cafdee28c906bde9cad6e5d16c420bc41bc926a Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/40fc2d11d9cc28b2b42fbf0179eb11ea.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/43035b749972d1864b971bc0b9a0aadc.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/43035b749972d1864b971bc0b9a0aadc.png new file mode 100644 index 0000000000000000000000000000000000000000..d78958314f5eebab79159733399f5949e24a5c48 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/43035b749972d1864b971bc0b9a0aadc.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f54de2f8a73ad21cbc17fc364f31dc42b575ac Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/46a0d8963d1c41bfdbd1102464bd201f.jpeg b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/46a0d8963d1c41bfdbd1102464bd201f.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c45d2b46f1a1639dfa9515d8acd59fab849a63c9 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/46a0d8963d1c41bfdbd1102464bd201f.jpeg differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4a3d0625b32062a5683cb4311b3c04a2.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4a3d0625b32062a5683cb4311b3c04a2.png new file mode 100644 index 0000000000000000000000000000000000000000..787ee052b91847e2455f1d0f3c7b534e343b1edf Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4a3d0625b32062a5683cb4311b3c04a2.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4e0daa8e31d3b9b4eb519d2b722d362e.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4e0daa8e31d3b9b4eb519d2b722d362e.png new file mode 100644 index 0000000000000000000000000000000000000000..68ee6a7b7666530dbdfa4be33fe4e6f2a7ca0dec Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4e0daa8e31d3b9b4eb519d2b722d362e.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4f7cca8a392f67c2ec813eb9477dee5a.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4f7cca8a392f67c2ec813eb9477dee5a.png new file mode 100644 index 0000000000000000000000000000000000000000..881850f24dbb876a5a8410216a465d75cb8857d8 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/4f7cca8a392f67c2ec813eb9477dee5a.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/53ea8f78d44286e08f0bbca6e1799116.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/53ea8f78d44286e08f0bbca6e1799116.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ecad0fd4b6335d37c65c4c9347b8ddda4cf88c Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/53ea8f78d44286e08f0bbca6e1799116.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/5d30e9d3329569796dcf52fd32a4883b.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/5d30e9d3329569796dcf52fd32a4883b.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c0143440c14239bdf715550a69c0e1ebb2930f Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/5d30e9d3329569796dcf52fd32a4883b.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/7bd7a6367c6e7a2d9addf4432b64acca.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/7bd7a6367c6e7a2d9addf4432b64acca.png new file mode 100644 index 0000000000000000000000000000000000000000..3438eb2a4b3e7d4074b28efa1defc02bede61fef Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/7bd7a6367c6e7a2d9addf4432b64acca.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/8f05e08df12b7860c3b2f4eb0fcfb710.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/8f05e08df12b7860c3b2f4eb0fcfb710.png new file mode 100644 index 0000000000000000000000000000000000000000..bd498a539cd5b588d787ce6993e98693eb6a3223 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/8f05e08df12b7860c3b2f4eb0fcfb710.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/913f612f1e340d87b1d2ac23dcd33e42.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/913f612f1e340d87b1d2ac23dcd33e42.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b555d36af189083c17791015b0b7f2dfbb0180 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/913f612f1e340d87b1d2ac23dcd33e42.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png new file mode 100644 index 0000000000000000000000000000000000000000..94729fa4b319d6fc0fb8b5de29fc273183c32f92 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9460e2278dff9f93d1e5794ccc0dbb1c.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9460e2278dff9f93d1e5794ccc0dbb1c.png new file mode 100644 index 0000000000000000000000000000000000000000..51a5287e7cb149cb235df49bcc8efbaa3f090fab Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9460e2278dff9f93d1e5794ccc0dbb1c.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/956762e512e4d57c857e1214ae6cd394.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/956762e512e4d57c857e1214ae6cd394.png new file mode 100644 index 0000000000000000000000000000000000000000..7c7d1a6179611a6db72ed3330ea24682fac21708 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/956762e512e4d57c857e1214ae6cd394.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9cfcf985d1b79dceb3e52ad6989e6bc7.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9cfcf985d1b79dceb3e52ad6989e6bc7.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa8f6d5b3777946febc482a5c16846b5bb473bf Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/9cfcf985d1b79dceb3e52ad6989e6bc7.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a18c08f310188e78baa7fbff53a1823a.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a18c08f310188e78baa7fbff53a1823a.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2cfa08d7bbfa3ad3bfdbee1e8725bc1b8dab58 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a18c08f310188e78baa7fbff53a1823a.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a481e3b5723e54594ed82ac55eaddc66.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a481e3b5723e54594ed82ac55eaddc66.png new file mode 100644 index 0000000000000000000000000000000000000000..ed24fd9d9494f4ef8f2825690fb4f4e8d7c896f7 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a481e3b5723e54594ed82ac55eaddc66.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4be8699ae255ccc59df7e8429b75f01.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4be8699ae255ccc59df7e8429b75f01.png new file mode 100644 index 0000000000000000000000000000000000000000..08c21f4bb461353bf2eb837d6e189d92951abd0b Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4be8699ae255ccc59df7e8429b75f01.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4e844a9ef0834495302327c9aea63a3.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4e844a9ef0834495302327c9aea63a3.png new file mode 100644 index 0000000000000000000000000000000000000000..19f02a37f7c5b2972e0245721153cd1959988d7a Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a4e844a9ef0834495302327c9aea63a3.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a60c3adb033750ca5d4ddf0cf9ce4c57.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a60c3adb033750ca5d4ddf0cf9ce4c57.png new file mode 100644 index 0000000000000000000000000000000000000000..4e61595f1e823cb72078ef7d465281750f57e7d3 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a60c3adb033750ca5d4ddf0cf9ce4c57.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a65762dc110df4a33fff28270c09f51f.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a65762dc110df4a33fff28270c09f51f.png new file mode 100644 index 0000000000000000000000000000000000000000..4cb0e817cd5eb6db0b688d02e4d831fda16cd8b8 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a65762dc110df4a33fff28270c09f51f.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a93f9ec1cbb2ee62c2d8d6176fe65936.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a93f9ec1cbb2ee62c2d8d6176fe65936.png new file mode 100644 index 0000000000000000000000000000000000000000..e7506a3b62b9ded197ddec2249dedc5d0840fd16 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/a93f9ec1cbb2ee62c2d8d6176fe65936.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ae0e52e3c87b0906828d1e746d04a76f.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ae0e52e3c87b0906828d1e746d04a76f.png new file mode 100644 index 0000000000000000000000000000000000000000..022df0a27dc494c171df8b88752bfe42d3cd707f Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ae0e52e3c87b0906828d1e746d04a76f.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bb848c8e9748e45b061132ad5441c059.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bb848c8e9748e45b061132ad5441c059.png new file mode 100644 index 0000000000000000000000000000000000000000..8f84951f39b8ec045c522d1436bac9217aebfa15 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bb848c8e9748e45b061132ad5441c059.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bd2019769ff78d3a96dd9b1aa5c90a05.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bd2019769ff78d3a96dd9b1aa5c90a05.png new file mode 100644 index 0000000000000000000000000000000000000000..f8bb194b236d7a4b31d81a42b60630e301db24f3 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/bd2019769ff78d3a96dd9b1aa5c90a05.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/c6acdf454cd1053cc2c039158bf33bec.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/c6acdf454cd1053cc2c039158bf33bec.png new file mode 100644 index 0000000000000000000000000000000000000000..6af3157d5d35c20f0b414dcf6542cfc7b7c764e3 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/c6acdf454cd1053cc2c039158bf33bec.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d7f31ef5f6d5c3e97e4ca061bfcb0326.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d7f31ef5f6d5c3e97e4ca061bfcb0326.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7a8b27f5f51347e9d531f6a4bf2550260db448 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d7f31ef5f6d5c3e97e4ca061bfcb0326.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d9fc7bff367e1ed19d38574ee4d0f6bd.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d9fc7bff367e1ed19d38574ee4d0f6bd.png new file mode 100644 index 0000000000000000000000000000000000000000..147748fd3304b54cdd646a8ff6d47fb2d11f3045 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/d9fc7bff367e1ed19d38574ee4d0f6bd.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/dd32fb10e9be71bd5bc8adfff5600ba1.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/dd32fb10e9be71bd5bc8adfff5600ba1.png new file mode 100644 index 0000000000000000000000000000000000000000..6801f9554ff0c742b20086a52b73882105b969eb Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/dd32fb10e9be71bd5bc8adfff5600ba1.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e3640e79697e162ab13f22c214b052dd.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e3640e79697e162ab13f22c214b052dd.png new file mode 100644 index 0000000000000000000000000000000000000000..856ec3f451d535458f665b5098c67ef650c71d2c Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e3640e79697e162ab13f22c214b052dd.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e7fb0fd238d3623ca39ea8ae4cf6bc3c.jpeg b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e7fb0fd238d3623ca39ea8ae4cf6bc3c.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..feed94ab9ff466ffad0a40b995d9472a1354925f Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e7fb0fd238d3623ca39ea8ae4cf6bc3c.jpeg differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e83177b3cb5b568e1ef81b6c1cf577c5.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e83177b3cb5b568e1ef81b6c1cf577c5.png new file mode 100644 index 0000000000000000000000000000000000000000..acc250b814cc8c9b1fb8738f662b5110954526bb Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/e83177b3cb5b568e1ef81b6c1cf577c5.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/eb6a29cd010ace839ed44c5ce7c24373.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/eb6a29cd010ace839ed44c5ce7c24373.png new file mode 100644 index 0000000000000000000000000000000000000000..db4dcd5e00f7233be88fb6570c3a9569cee61ae4 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/eb6a29cd010ace839ed44c5ce7c24373.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ebb175d6918b1e7c2376a4634607f18f.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ebb175d6918b1e7c2376a4634607f18f.png new file mode 100644 index 0000000000000000000000000000000000000000..391d6a2cbcbe44dbee84d2040b9537e4151d14a2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ebb175d6918b1e7c2376a4634607f18f.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef06607ea776d34820bdd0104a3c38d2.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef06607ea776d34820bdd0104a3c38d2.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdce4d947683615f63ec22500f2bbf3f4741a8d Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef06607ea776d34820bdd0104a3c38d2.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef6853edd39fed2debeb1ab3285f392b.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef6853edd39fed2debeb1ab3285f392b.png new file mode 100644 index 0000000000000000000000000000000000000000..06550425c1f9de7ee6fccbcf9faa5a9628a913bd Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ef6853edd39fed2debeb1ab3285f392b.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/f554e192e03b41c58c5330b251aa13d1.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/f554e192e03b41c58c5330b251aa13d1.png new file mode 100644 index 0000000000000000000000000000000000000000..139eb015fb9b118f0d019b482a0bc38446a70221 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/f554e192e03b41c58c5330b251aa13d1.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff339ead0f4e315db8ff7a5989d6e329.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff339ead0f4e315db8ff7a5989d6e329.png new file mode 100644 index 0000000000000000000000000000000000000000..76bd27fe444221ed8e4384c5a718d21dd28df315 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff339ead0f4e315db8ff7a5989d6e329.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff9b7b50cfb1e949ce48392beda01144.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff9b7b50cfb1e949ce48392beda01144.png new file mode 100644 index 0000000000000000000000000000000000000000..009c9a39d4ec9244607e6fdfca25c1fa9d4443e2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ff9b7b50cfb1e949ce48392beda01144.png differ diff --git a/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ffd363c06a04eb68c59db943daa5d2da.png b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ffd363c06a04eb68c59db943daa5d2da.png new file mode 100644 index 0000000000000000000000000000000000000000..9df2d7dd35b0a4412b8d4d0650b10aa49a52efc2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hard_realtime_plugin/media/ffd363c06a04eb68c59db943daa5d2da.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/index.rst b/docs/source/features/qsemos_ide/hybrid_development_plugin/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..0a3b3300f4b04776f7226cae361ff01fd7753f87 --- /dev/null +++ b/docs/source/features/qsemos_ide/hybrid_development_plugin/index.rst @@ -0,0 +1,1961 @@ +混合部署插件用户手册 +==================== + +目录 +----- + +`1.1 工具简介`_ + +`1.2 快速开始`_ + +`1.3 工程管理`_ + + `1.3.1 创建工程`_ + + `1.3.2 导入工程`_ + + `1.3.3 克隆工程`_ + + `1.3.4 系统配置`_ + +`1.4 代码编辑`_ + + `1.4.1 C/C++代码编辑`_ + +`1.5 调试`_ + + `1.5.1 调试能力介绍`_ + + `1.5.2 GDB调试`_ + +`1.6 编译构建`_ + +`1.7 仿真`_ + +`1.8 代码烧录`_ + + `1.8.1 烧录RK3568开发板镜像`_ + +`1.9 管维工具`_ + +`1.10 命令行工具`_ + +1.1 工具简介 +------------ + +混合部署大师是面向智能设备开发者提供的一站式集成开发环境,支持代码编辑、编译、烧录、调试和仿真等功能,支持C/C++语言,以插件的形式部署在Visual +Studio Code上。 + +混合部署大师采用Windows+Ubuntu混合开发环境,在Ubuntu上主要进行代码开发、代码调试、镜像烧录等操作,在Ubuntu环境实现源码编译。其具有以下特点: + +- 支持代码查找、代码高亮、代码自动补齐、代码输入提示、代码检查等,开发者可以轻松、高效编码。 +- 支持开发板,包括目前支持RK3568开发板,后续扩展支持RK3588、飞腾E2000Q、芯驰D9 + Pro、全志A40i等开发板。 +- 支持自动检测各芯片/开发板依赖的工具链是否完备,并提供一键下载和安装缺失工具链。 +- 支持多人共享开发模式,采用基于Remote-SSH模式实现多人共享远程开发,实现一个团队公用一台服务器进行编译、烧录。 +- 支持源码级调试能力,提供查看内存、变量、调用栈、寄存器、反汇编等调试信息。 + +混合部署大师工具主要分为如下4个功能区域。 + +|IMG_2561|\ :基本功能区 +:混合部署大师菜单栏,提供基本的工程创建、源码导入、工程配置等功能。 + +|IMG_2571|\ :开发板任务区:在工程界面,提供开发板相关操作任务,如源码的编译、镜像的烧录等。 + +|IMG_2581|\ :代码编辑器:提供代码的查看、编写和调试等开发功能。 + +|IMG_2591|\ :输出控制区:提供日志打印、调试指令输入、命令行指令输入等。 + +|image4| + +1.2 快速开始 +------------ + +插件安装 +^^^^^^^^ + +插件安装请参考《NCTI QSemOS-IDE安装手册》进行IDE和插件安装。 + +安装编译工具链 +^^^^^^^^^^^^^^ + +要使用插件进行工程构建,要求系统已安装编译工具,常见的编译工具链有GNU和LLVM。 + +GNU 工具链与 LLVM 工具链主要区别如下表: + +========= ============== ================== +**项目** **GNU工具链** LLVM\ **工具链** +========= ============== ================== +C编译器 gcc clang +C++编译器 g++ clang++ +binutils GNU binutils LLVM binutils +汇编器 GNU as 集成汇编器 +链接器 ld.bfd,ld.gold LLVM linker ld.lld +运行时 libgcc compiler-rt +原子操作 libatomic compiler-rt +C语言库 GNU libc glibc LLVM libc +C++标准库 libstdc++ libc++ +C++ABI libsupcxx libc++abi +栈展开 libgcc_s LLVM libunwind +========= ============== ================== + +以下为安装GNU工具链的步骤: + +1. 打开Linaro官方下载页面Downloads \| Linaro,并定位到如图所示位置 + +|image5| + +1. 点击上图红框的链接进入下载文件预览页面 + +|image6| + +选择所需的版本,这里我们以14.0版本为例子,按示例图依次点击进入 + +|image7| + +选择图中红箭头指向的文件进行下载 + +|image8| + +1. 下载完成后务必将该.tar.xz文件移动到Linux系统中进行解压 + +参考命令: + +**tar -xvf** gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu.tar.xz + +1. 配置编译工具链环境变量 + +- 确认Linaro压缩包解压之后bin目录的路径,如/home/admin/gnu/gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu/bin +- 进入用户主目录下的.profile或.bashrc文件(推荐) +- 登录到你的用户(非root),在终端输入: + +$ sudo gedit ~/.profile(or .bashrc) + +可以在此文件末尾将Linaro的bin路径加入到PATH的设置如下: + +export +PATH=”$PATH:/home/admin/gnu/gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu/bin” + +保存文件,使用命令source +~/.profile使变量生效。该方式添加的变量只对当前用户有效,如果需要系统级别生效,可以在/etc/profile中进行配置。 + +1. 解压完成即安装完成。后续使用交叉编译工具时,可填写工具链文件路径。 + +示例填写路径: + +(如果没有配置环境变量 就必须输入全路径) +/home/admin/gnu/gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- + +|image9|\ (图示为编译选项配置,仅展示使用方法,具体编译步骤请参考1.6构建编译) + +1.3 工程管理 +------------ + +1.3.1 创建工程 +^^^^^^^^^^^^^^ + +打开混合部署大师,进入主页,点击新增工程创建新工程 + +|image10| + +选择工程类型 +^^^^^^^^^^^^ + +在选择工程类型页,选择相应的开发板、平台架构、虚拟化切分方案,包括: + +- **开发板**\ :选择支持的开发板(注:目前只支持rk3568,其他开发板还在适配中)。 +- **平台架构:**\ 选择支持的平台架构。 +- **虚拟化切分方案:**\ 选择支持的切分方案(注:目前只支持jailhouse,xvisor还在适配中)。 + +|image11| + +工程内容信息配置 +^^^^^^^^^^^^^^^^ + +选择完成之后,点击“下一步”按钮跳转到工程内容信息页,配置工程相关信息,包括: + +- **工程名称**\ :设置工程名称。 +- **位置:**\ 选择工程文件存储路径。 +- **选择下载源代码:**\ 可选项。支持多选。 + +注: + +1. 当用户使用的开发板未安装操作系统时,则需要选择HostOS + Linux源代码,进行HostOS安装。 +2. 当用户使用的开发板未安装jailhouse时,则需要选择Jailhouse源代码,进行Jailhouse安装。 +3. 支持同时选择HostOS Linux源代码和Jailhouse源代码安装。 + + |image12| + +下载HostOS Linux源代码 +'''''''''''''''''''''' + +点击“下载HostOS Linux源代码”页签,支持git和本地下载两种方式。 + +**Git下载选项:** + +- **内核模板:**\ 选择模板MetaData。 +- **源代码路径:**\ 选择在Git存储库中。 +- **Git存储库URL**\ :填入URL,可用默认路径。 +- **存储库子目录(可选):**\ 暂不填。 +- **Git修订版(分支):**\ 填入分支名,可用默认。 + +|image13| + +**本地下载选项:** + +- **内核模板:**\ 选择模板MetaData。 +- **源代码路径:**\ 选择在本地目录中。 +- **本地目录绝对路径:**\ 选择本地源码目录路径。 +- **创建软链接方式:**\ 暂不填。 + +|image14| + +下载Jailhouse源代码 +''''''''''''''''''' + +点击“下载Jailhouse源代码”页签,支持git和本地下载两种方式。 + +**Git下载选项:** + +- **源代码路径:**\ 选择在Git存储库中。 +- **Git存储库URL**\ :填入URL。 +- **存储库子目录(可选):**\ 暂不填。 +- **Git修订版(分支):**\ 填入分支名。 + +|image15| + +**本地下载选项:** + +- **源代码路径:**\ 选择在本地目录中。 +- **本地目录绝对路径:**\ 选择本地源码目录路径。 +- **创建软链接方式:**\ 暂不填。 + +|image16| + +板卡硬件及切分信息 +^^^^^^^^^^^^^^^^^^ + +工程内容信息配置完成之后,点击“下一步”按钮跳转到\ **板卡硬件及切分信息**\ 页,配置板卡硬件及切分信息,选择模板: + +- **模板(MetaData):**\ 选择支持的MetaData模板。目前系统自支持的MetaData模板包含: + +rk3568工控模板(MC3500-root-guest-oee) + +rk3568-jailhouse-oee-intewell模板 + +rk3568-jailhouse-oee-Zephyr模板 + +rk3568-jailhouse-oee-UniProton模板 + +(注:MetaData模板正在测试验证中) + +|image17| + +CPU配置 +''''''' + +点击“CPU信息”页签,页面展示CPU配置详细信息,包括: + +- **系统信息:**\ CPU板卡名称、CPU核数、GIC + (通用中断控制器)向量基地址。 +- **设备信息:**\ 设备号、地址、大小、中断。 +- **地址空间布局:**\ 名称、属性、类型、地址、大小 + +|image18| + +板卡可用资源配置 +'''''''''''''''' + +点击“板卡可用资源配置”页签,页面展示可用资源配置详细信息,包括: + +- **系统:**\ 型号、厂商。 +- **内存:**\ 总大小、地址、大小(可选择新增或删除内存)。 +- **CPU:**\ 可勾选需要虚拟化切分的核。 +- **设备:**\ 可勾选需要虚拟化切分的设备。 + +|image19| + +RootCell +'''''''' + +点击“RootCell”页签,页面展示RootCell配置信息,包括: + +- 名称:设置RootCell名称。 +- 内存:配置内存总大小、地址、大小(可选择新增或删除内存)。 +- PCI MMConfig:配置基地址、总线数量、主域数、VPCI起始IRQ。 +- **其他:**\ 配置终端调试端口、Hypervisorl固件起始地址、Hypervisorl固件大小。 + +|image20| + +核间通迅 +'''''''' + +点击“核间通讯”页签,页面展示核间通讯配置信息,包括配置起始物理地址、状态区大小、读写区大小、输出区大小。 + +|image21| + +PCI设备 +''''''' + +点击“PCI设备”页签,页面展示PCI设备详细信息,包括PCI设备列表及PCI设备信息(注:Arm64不支持PCI信息配置)。 + +|image22| + +虚拟机配置信息 +^^^^^^^^^^^^^^ + +板卡硬件及切分信息配置完成之后,点击“下一步”按钮跳转到\ **虚拟机配置信息**\ 页,配置虚拟机相关信息,包括: + +- **创建虚拟机:**\ 可以创建新的虚拟机,选择相应的虚拟机可对系统属性、系统内存、CPU、存储器区域、地址空间映射、设备及子系统基本信息进行配置 +- **删除虚拟机:**\ 选择虚拟机可以对其进行删除。 + +|image23| + +系统属性 +'''''''' + +点击“系统属性”页签,页面展示系统属性配置信息,包括虚拟机名称、指令架构、终端、虚拟串口、启动入口地址。 + +|image24| + +系统内存 +'''''''' + +点击“系统内存”页签,页面展示系统内存配置信息,包括配置内存总大小、描述信息、物理地址、虚拟地址、大小(可选择新增或删除内存)。 + +|image25| + +CPU +''' + +点击“CPU”页签,页面展示CPU配置信息,可勾选为虚拟机分配的CPU核。 + +|image26| + +存储器区域 +'''''''''' + +点击“存储器”页签,页面展示存储器区域配置信息,可勾选为虚拟机分配的Memory +Regions。 + +|image27| + +地址空间映射 +'''''''''''' + +点击“地址空间映射”页签,页面展示地址空间映射配置信息,包括总大小、描述信息、物理地址、虚拟地址、大小(可选择新增或删除)。 + +|image28| + +设备 +'''' + +点击“设备”页签,页面展示设备详细信息,勾选为虚拟机分配的设备及PCI设备。 + +|image29| + +子系统基本信息 +'''''''''''''' + +点击“子系统基本信息”页签,页面展示子系统配置信息,选择子系统OS类型。 + +|image30| + +RTOS通用系统 + + +选择子系统OS类型为“RTOS通用系统”,页面展示RTOS通用系统配置信息,包括: + +- **启动入口地址** +- 支持\ **按工程生成镜像**\ 或者\ **指定镜像文件。** +- **按工程生成镜像:**\ 可选择\ **创建硬实时工程**\ 或者\ **选择硬实时工程**\ 。 + +选择\ **创建硬实时工程**\ 时\ **:**\ 系统跳转到科东工程创建页面,进行工程创建(注:功能待集成)。 + +选择\ **硬实时工程**\ 时:指定已创建完成的硬实时工程 + +注:如果用户勾选\ **按工程生成镜像**\ ,系统在构建时会拉起子工程创建硬实时镜像。 + +- **镜像文件:**\ 点击“+”跳出镜像文件选择页面,选择已有编译成功的硬实时镜像文件。 + +|image31| + +Linux系统 + + +选择子系统OS类型为“Linux”,页面展示Linux系统配置信息,包括: + +- 支持\ **按工程生成镜像**\ 或者\ **指定镜像文件。** +- **按工程生成镜像:**\ 可选择\ **创建软实时工程**\ 或者\ **选择软实时工程**\ 。 + +选择\ **创建软实时工程**\ 时\ **:**\ 系统跳转到软实时工程创建页面,进行工程创建。 + +选择\ **软实时工程**\ 时:指定已创建完成的硬实时工程 + +注:如果用户勾选\ **按工程生成镜像**\ ,系统在构建时会拉起子工程创建硬实时镜像。 + +- **镜像文件:**\ 选择已有编译成功的软实时镜像文件、设备数文件、内存硬盘文件、附加文件及编辑启动参数。 + +|image32| + +创建完成 +^^^^^^^^ + +虚拟机配置信息完成配置后,点击“完成”按钮,系统会自动调用gbapio命令,创建工程目录和自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image33| + +1.3.2 导入工程 +^^^^^^^^^^^^^^ + +1. 打开混合部署大师,进入主页面,点击\ **导入工程**\ 。 + +|image34| + +1. 进入导入工程向导页,点击文件夹按钮,选择本地文件夹。 + +|image35| + +1. 选择路径后点击确定,点击“导入”。 + +|image36| + +1.3.3 克隆工程 +^^^^^^^^^^^^^^ + +1. 打开混合部署大师,进入主页面,点击\ **克隆工程**\ ,进入克隆向导页。 + +|image37| + +2.在克隆工程的配置向导页,配置工程相关信息,包括: + +- 仓库URL:输入仓库URL。 +- 目标目录:点击文件夹按钮,选择本地存储路径。 + +|image38| + +3.配置完成后,点击确认,会通过调用gbapio命令,自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image39| + +1.3.4 系统配置 +^^^^^^^^^^^^^^ + +进入系统配置页面 +^^^^^^^^^^^^^^^^ + +1. 打开已创建完成的工程,选中ncti-env-profile.json配置文件,右键,在菜单中选择“打开系统配置向导”。 + +.. figure:: media/2eadbe5437b84b8412e3cbbd08bcc0d2.png + :alt: IMG_256 + + IMG_256 + +1. 进入系统配置向导界面后,可进行Host OS和Guest OS系统配置。 + +|image40| + +HOST OS +^^^^^^^ + +Hypervisor控制 +'''''''''''''' + +1. 远程连接 + +设置输入Host OS的RPC server的IP:端口,点击远程链接,启动RPC server。 + +注:目前RPC Server需要手动部署,自动集成到镜像正在开发中 + +.. figure:: media/782e9608fbe37fec72e2ba769f401720.png + :alt: IMG_256 + + IMG_256 + +如果RpcServer连接成功,则\ **远程连接**\ 按钮更新为\ **断开连接**\ 按钮 + +.. figure:: media/729f1f227a71b2988ca07d4b619c7d6a.png + :alt: IMG_256 + + IMG_256 + +若连接异常,前端界面会提示异常信息 + +|IMG_256|\ 系统配置 +''''''''''''''''''' + +.. _rootcell-1: + +Rootcell + + +点击“RootCell”页签,页面展示RootCell配置信息,包括: + +- 名称:设置RootCell名称。 +- 内存:配置内存总大小、地址、大小(可选择新增或删除内存)。 +- PCI MMConfig:配置基地址、总线数量、主域数、VPCI起始IRQ。 +- **其他:**\ 配置终端调试端口、Hypervisorl固件起始地址、Hypervisorl固件大小。 + +|image42| + +核间通讯 + + +点击“核间通讯”页签,页面展示核间通讯配置信息,包括配置起始物理地址、状态区大小、读写区大小、输出区大小。 + +|image43| + +.. _pci设备-1: + +PCI设备 + + +点击“PCI设备”页签,页面展示PCI设备详细信息,包括PCI设备列表及PCI设备信息(目前无数据)。 + +|image44| + +GUEST OS +^^^^^^^^ + +虚拟机管理 +'''''''''' + +新增虚拟机 + + +点击Guest +OS模块中的“|image45|”按钮,弹出虚拟机配置页面,完成配置后会生成一块新的Guest +OS。虚拟机配置项包括: + +- 虚拟机信息编辑:设置虚拟机名称、指令架构、终端、虚拟串口、启动入口地址。 + +|image46| + +- 系统内存:设置内存描述信息、物理地址、虚拟地址、大小(可选择新增或删除内存)。 + +|image47| + +- CPU:配置为虚拟机分配的CPU核。 + +|image48| + +- 存储器区域:配置为虚拟机分配的Memory Regions。 + +|image49| + +- 地址空间映射:设置描述信息、物理地址、虚拟地址、大小(可选择新增或删除)、核间通讯的ivshmem虚拟地址及Communication + region。 + +|image50| + +- 设备:配置为虚拟机分配的设备及PCI设备。 + +|image51| + +删除虚拟机 + + +选中Guest +OS点击“|image52|”按钮,则从ncti-env-profile.json配置文件,移除该虚拟机。 + +虚拟机配置 +'''''''''' + +虚拟机信息编辑 + + +选中GuestOS点击“配置”按钮,页面展示虚拟机系统属性配置信息,包括虚拟机名称、指令架构、终端、虚拟串口、启动入口地址。 + +|image53| + +.. _系统内存-1: + +系统内存 + + +点击“系统内存”页签,页面展示系统内存配置信息,包括配置内存总大小、描述信息、物理地址、虚拟地址、大小(可选择新增或删除内存)。 + +|image54| + +.. _cpu-1: + +CPU + + +点击“CPU”页签,页面展示CPU配置信息,可勾选为虚拟机分配的CPU核。 + +|image55| + +.. _存储器区域-1: + +存储器区域 + + +点击“存储器”页签,页面展示存储器区域配置信息,可勾选为虚拟机分配的Memory +Regions。 + +|image56| + +.. _地址空间映射-1: + +地址空间映射 + + +点击“地址空间映射”页签,页面展示地址空间映射配置信息,包括总大小、描述信息、物理地址、虚拟地址、大小(可选择新增或删除)、核间通讯的ivshmem虚拟地址及Communication +region。 + +|image57| + +.. _设备-1: + +设备 + + +点击“设备”页签,页面展示设备详细信息,勾选为虚拟机分配的设备及PCI设备 + +|image58| + +虚拟机OS配置 +'''''''''''' + +选中GuestOS点击“OS配置”按钮,页面展示虚拟机OS配置信息,选择虚拟机操作系统。 + +|image59| + +.. _rtos通用系统-1: + +RTOS通用系统 + + +选择子系统OS类型为“RTOS通用系统”,页面展示RTOS通用系统配置信息,包括: + +- **启动入口地址** +- 支持\ **按工程生成镜像**\ 或者\ **指定镜像文件。** +- **按工程生成镜像:**\ 可选择\ **创建硬实时工程**\ 或者\ **选择硬实时工程**\ 。 + +选择\ **创建硬实时工程**\ 时\ **:**\ 系统跳转到科东工程创建页面,进行工程创建(注:功能待集成)。 + +选择\ **硬实时工程**\ 时:指定已创建完成的硬实时工程 + +注:如果用户勾选\ **按工程生成镜像**\ ,系统在构建时会拉起子工程创建硬实时镜像。 + +- **镜像文件:**\ 点击“+”跳出镜像文件选择页面,选择已有编译成功的硬实时镜像文件。 + +|image60| + +.. _linux系统-1: + +Linux系统 + + +选择子系统OS类型为“Linux”,页面展示Linux系统配置信息,包括: + +- 支持\ **按工程生成镜像**\ 或者\ **指定镜像文件。** +- **按工程生成镜像:**\ 可选择\ **创建软实时工程**\ 或者\ **选择软实时工程**\ 。 + +选择\ **创建软实时工程**\ 时\ **:**\ 系统跳转到软实时工程创建页面,进行工程创建。 + +选择\ **软实时工程**\ 时:指定已创建完成的硬实时工程 + +注:如果用户勾选\ **按工程生成镜像**\ ,系统在构建时会拉起子工程创建硬实时镜像。 + +- **镜像文件:**\ 选择已有编译成功的软实时镜像文件、设备数文件、内存硬盘文件、附加文件及编辑启动参数。 + +|image61| + +1.4 代码编辑 +------------ + +1.4.1 C/C++代码编辑 +^^^^^^^^^^^^^^^^^^^ + +1. 支持C/C++的代码编辑,基于C/C++插件,支持代码查找、关键字高亮、代码自动补齐、代码输入提示和代码检查等功能。详细的说明请参考C/C++代码编辑。 + +1.5 调试 +--------- + +1.5.1 调试能力介绍 +^^^^^^^^^^^^^^^^^^ + +混合部署大师工具支持常用的调试能力,开发者如果使用调试能力,首先保证编译出来的二进制文件含有调试信息。 + +以下内容主要针对混合部署大师的调试能力进行描述。 + +调试工作界面如下图所示,主要分为调试功能区、调试侧边栏和调试控制台。 + +.. figure:: media/7ee358a6f6e69d8e1dd8f757debed82f.png + :alt: 点击放大 + + 点击放大 + +常用调试功能 +^^^^^^^^^^^^ + +调试功能区 +'''''''''' + +启动调试功能后,当代码执行到设置的断点时,程序会暂停,你可以根据调试功能区的按钮进行代码的调试。 + +.. figure:: media/52b23aa9fa58ed19f177ccc3989787ca.png + :alt: IMG_257 + + IMG_257 + +- |IMG_258|\ :Continue/Pause(F5),当程序执行到断点时停止执行,点击此按钮程序继续执行。 +- |IMG_259|\ :Step + Over(F10),在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。 +- |IMG_260|\ :Step + Into(F11),在单步调试时,遇到子函数后,进入子函数并继续单步执行。 +- |IMG_261|\ :Step + Out(Shift+F11),在单步调试执行到子函数内时,点击Step + Out会执行完子函数剩余部分,并跳出返回到上一层函数。 +- |IMG_262|\ :Restart(Ctrl+Shift+F5),重新启动调试。 +- |IMG_263|\ :Stop(Shift+F5),停止调试任务。 + +管理断点 +'''''''' + +**函数断点** + +在Visual Studio Code中插入函数断点的方式有多种方法: + +- 用鼠标点击代码行最左侧的位置 +- 在侧边栏的“断点”中手动添加断点函数 +- 使用快捷键F9 + +|image68| + +**条件断点** + +在代码函数所在行的最左侧,点击鼠标右键选择“添加条件断点”,然后输入断点的条件和进入次数即可。 + +**内联断点** + +将鼠标放到要打断点的函数,然后点击鼠标右键选择“添加内联断点”,或者使用快捷键Shift+F9。 + +.. figure:: media/573234aaf20c22027c7af5b2ca170ac7.png + :alt: IMG_256 + + IMG_256 + +插入断点之后,在左侧断点这一栏,右击某一条断点数据,可进行的操作包括: + +- 删除断点:删除当前选中的断点。 +- 删除所有断点:删除所有断点。 +- 启用所有断点:使断点生效。 +- 禁用所有断点:使断点失效。 + +**查看及修改变量** + +在调试过程中,可以通过“变量”查看变量(包括局部变量、全局变量以及静态变量)的取值来判断程序的计算结果是否有误,从而快速进行代码检查。如果需要对变量值进行修改,请双击对应的变量值,键入修改值。 + +|image69| + +同时,也可以通过“监视”功能来监控指定的变量信息,点击\ |IMG_2571|\ 图标来添加变量。 + +|image71| + +**查看调用栈** + +在调试过程中,可以通过查看调用栈来分析主程序调用的各子程序的调用关系,从而快速进行代码检查。 + +|image72| + +查看及修改寄存器 +'''''''''''''''' + +在调试过程中,可以通过查看相关寄存器的值来确定各参数值是否有误以及代码执行的位置,从而快速进行代码检查。如果需要对寄存器值进行修改,请双击寄存器值,然后键入修改值。 + +|image73| + +查看反汇编 +'''''''''' + +在调试过程中,通过查看反汇编,可以确认代码的汇编实现,从而快速进行代码检查。在代码左侧调用堆栈页面,选择函数点击右键,然后点击“打开反汇编视图”,查看反汇编。 + +反汇编示意图如下图所示。 + +|image74| + +查看内存 +'''''''' + +在调试过程中,通过查看对应的内存地址,获取内存地址中的取值,可以准确分析代码中各变量的取值及存储状态,从而快速进行代码检查。 + +在调试控制台输入:-exec x/10xw data 查看内存。 + +|image75| + +1.5.2 GDB调试 +~~~~~~~~~~~~~ + +注:目前仅支持C/C++ GDB调试,其他功能正在开发中。 + +1. 在菜单栏中点击\ **工程配置**\ ,进入工程配置界面。注意:在调试配置前,确保你编译生成的程序带调试信息,编译的时候需要加上-g。 + +|image76| + +1. 在\ **调试**\ 配置页签中, + +- 设置\ **调试可执行文件所在**\ 的路径。 +- 调试客户端默认gdb。(推荐使用gdb-multiarch,可以支持多个平台) +- 设置\ **远程调试地址**\ ,格式为:ip:端口号 + (如:192.168.10.111:1234,端口可以自定义)。 +- 设置\ **远程调试单板名称**\ ,即单板主机用户名。 +- 设置\ **调试文件路径** + +|image77| + +1. 启动调试 + +.. figure:: media/7854286968b8de778c2da2525b73d3bc.png + :alt: IMG_256 + + IMG_256 + +1.6 编译构建 +------------ + +1. 打开混部工程,并点击PROJECT TASK下\ **构建**\ 按钮,进入到构建页面。 + +|image78| + +1. 在构建配置页面,点击选择编译选项按钮 + +- 设置\ **交叉工具编译链** +- **设置选择的内核裁剪的配置文件**\ ,如果选择的是\ **自定义menucofig**\ ,则终端启动图形界面操作menucofig。 + +|image79| + +- **设置编译目标镜像名** +- **设置编译额外参数** +- **设置jailhouse目标设备树dts** +- **内核启动参数提示信息** + +|image80| + +.. figure:: media/a6193be368afa27b28b70315faa4fc3f.png + :alt: IMG_256 + + IMG_256 + +1. 编译参数设置完成后,点击确认按钮,保存工程配置信息。如果点击确认并保存参数到公共配置按钮,则保存工程配置信息并同步保存到公共配置文件中。 + +|image81| + +1. 点击构建,或者一键构建按钮,可对混合部署工程进行构建。 + +**构建:**\ 按用户选择,进行增量构建。 + +**一键构建:**\ 自动拉起子工程,批量构建。 + +- 当工程处于构建状态时,状态栏会显示\ **正在构建中。** + +|image82| + +- 当工程处于构建失败时,状态栏会显示\ **构建失败。** + +|image83| + +- 当工程处于构建成功时,状态栏会显示\ **构建完成。** + +|image84| + +1. 构建完成后,可在构建历史中查看执行过程中的日志。 + +.. figure:: media/dad7fe3771ce0902f28085bffa48b786.png + :alt: IMG_256 + + IMG_256 + +1.7 仿真 +-------- + +注:\ **仿真目前处于开发调试阶段** + +1.8 代码烧录 +------------ + +1.8.1 烧录RK3568开发板镜像 +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +烧录准备 +^^^^^^^^ + +连接开发板 +'''''''''' + +依次连接开发板的电源线(接口③)、Debug调试线(接口②)、USB烧写线(接口①)。 + +图2.1: + +.. figure:: media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png + :alt: IMG_257 + + IMG_257 + +安装USB驱动 +''''''''''' + +在下载的镜像包中按照路径 windows\DriverAssitant_vx.x.x\\ +DriverInstall.exe +打开驱动安装程序。如为首次安装,则直接点击“驱动安装”按钮进行安装并等待安装完成;如之前已安装过老版本的烧录工具,需先执行“驱动卸载”卸载老版本驱动后再点击 +“驱动安装”按钮安装新版本驱动。 + +图2.2: + +.. figure:: media/febede95d9b0c30296e476329785da84.png + :alt: IMG_258 + + IMG_258 + +.. figure:: media/0b7a099134e9bf2eadfc1a45fec19d1b.png + :alt: IMG_259 + + IMG_259 + +打开烧录工具 +'''''''''''' + +在路径下双击 windows\RKDevTool.exe 打开烧录工具。 + +进入烧录模式 +'''''''''''' + +已进入烧录模式 + + +如界面显示“发现一个MASKROM设备”,则说明开发板已经入烧录模式,可直接进行烧录。 + +图2.3: + +.. figure:: media/2f99b1f7802995bc44eeec042e4b9f91.png + :alt: IMG_260 + + IMG_260 + +未进入烧录模式 + + +**1)“MASKROM”模式烧录:** + +如界面显示“没有发现设备”,则同时按下Reset按键(图2.1 +按键⑤)及Maskrom(图2.1 按键⑥) +按键,等待两秒后先松开Maskrom键,烧录工具随即显示“发现一个 MASKROM +设备”(默认烧写模式,如图2.6),随后松开Reset键,此时开发板已经进入烧写模式,可进行烧录。 + +图2.4: + +.. figure:: media/2f99b1f7802995bc44eeec042e4b9f91.png + :alt: IMG_261 + + IMG_261 + +**2)“LOADER”模式烧录(可选)** + +如在“MASKROM”模式下固件烧录失败,并出现类似“测试设备失败”的报错,则需切换为“LOADER”模式进行烧录。 + +具体步骤:先按住Recovery(图2.1 +按键④)按键不放,紧接着按一下Reset释放,等待两秒后释放Recovery按键,烧录工具随即显示“发现一个LOADER”设备,可进行后续烧录。 + +图2.4: + +.. figure:: media/7fd79a497b3dfbab69e3f66060be388e.png + :alt: IMG_262 + + IMG_262 + +烧录执行 +^^^^^^^^ + +导入配置 + + +开始烧写前,需先导入镜像包中的config.cfg配置,直至显示导入配置成功。导入配置后,misc、sys-prod、chip-prod三个分区不存在镜像(预留位置),烧写时无法勾选。 + +图3.1: + +.. figure:: media/5acb79b20133c883c13c6738124c13ec.png + :alt: IMG_263 + + IMG_263 + +图3.2: + +.. figure:: media/c6cd28ce4e310598c81a80d11606a4f9.png + :alt: IMG_264 + + IMG_264 + +更新固件路径 + + +点击右侧白色框,依次将勾选项的路径修改为所下载的镜像包的路径,以“Vendor”为例,操作如下: + +图3.3: + +.. figure:: media/0ecf63075eb30bd2463ea3f3c5c90bf9.png + :alt: IMG_265 + + IMG_265 + +图3.4: + +.. figure:: media/6805ba41e7a0270d4ccec5548dbb903e.png + :alt: IMG_266 + + IMG_266 + +固件烧录 + + +点击“执行”,进行固件烧录,直至显示“下载完成”。 + +图3.5: + +.. figure:: media/40685f356cf25b03361cb654ebe51cb7.png + :alt: IMG_267 + + IMG_267 + +烧录完成 +^^^^^^^^ + +烧录完成后,等待开发板重启,同时开发版可正常运行,烧录完成。 + +图4.1: + +|image85| + +1.9 管维工具 +------------ + +进入管维工具页面 +^^^^^^^^^^^^^^^^ + +1. 打开某个工程,并点击PROJECT + TASK下\ **管维工具**\ 按钮,进入到\ **管维工具**\ 页面。 + +|image86| + +1. 进入管维工具后,前端界面如下: + +.. figure:: media/5412f5691457d07cf16714662a298295.png + + +启动仿真环境 +^^^^^^^^^^^^^ + +详见1.7仿真章节 + +Host/Guest OS系统配置 +^^^^^^^^^^^^^^^^^^^^^ + +详见\ `系统配置`_\ 章节 + +远程连接 +^^^^^^^^^ + +1. 先启动HOST OS。 +2. 输入的RPC server的\ **IP:端口**\ ,点击远程链接,启动RPC + server的同时系统同时也会启动调试代理程序。 + +注:目前RPC Server、调试代理程序需要手动部署,自动集成功能正在开发中。 + +.. figure:: media/2d21bf8a9f22ddd7112a1522a607e495.png + + +1. 如果连接成功,则按钮状态由\ **远程连接**\ 变更为\ **断开连接。** + +.. figure:: media/eed98735c276c80dc3070b90a67ccb02.png + + +1. 若连接异常,前端界面会提示异常信息。 + +.. figure:: media/aa69d425adf47ad45d0f11c1e909375f.png + + +性能监测 +^^^^^^^^^ + +当远程连接RPC Server成功后:启动GUEST OS,则可对GUEST OS进行性能监控。 + +注:\ **目前仅支持监测Host OS性能。GUEST OS监测,正在开发调试中。** + +性能状态监控 +^^^^^^^^^^^^ + +1. 当Rpc + Sever连接成功后且启动os了,可以通过\ **启动cpu监控**\ 和\ **启动内存监控**\ 开关,可打开CPU监控和内存监控。 + +|image87| + +1. 打开开关后,图表展示CPU负载信息和内存负载信息 + +|image88| + +日志信息 +^^^^^^^^ + +1. 打开\ **显示日志**\ 开关后,会打印输出系统日志信息 + +|image89| + +·\ |image90| + +进程信息 +^^^^^^^^^ + +当远程连接RPC Server成功后:启动GUEST OS,则可监测GUEST OS进程信息。 + +注:\ **目前仅支持监测Host OS进程信息。GUEST OS监测,正在开发调试中。** + +1. 切换到\ **进程信息**\ 页签,页面默认不展示进程线程相关信息 + +.. figure:: media/f0fdd0e24e388147099164381a7ea2e8.png + + +1. 点击启动进程信息监控,图表展示HOST OS的进程信息 + +.. figure:: media/728f96a6ae2cb03cecac8f0e5aa22624.png + + +1. 若勾选包括线程,则图表展示HOST OS的进程和线程信息 + +.. figure:: media/fe758a94a0855155f20f143de22c55a1.png + + +1. 点击导出进程监控信息,导出成功后会弹窗提示进程信息的保存位置,界面也会打印进程信息的保存位置 + +.. figure:: media/9aa431d6deb5a7c8bc45cd681cbe3acb.png + + +数据刷新 +^^^^^^^^ + +1. 支持按指定刷新频率刷新\ **性能**/**进程**\ 监测数据,默认3s刷新一次 + +|image91| + +1. 若调整\ **性能**/**进程**\ 监测数据刷新时间,界面将按调整后的时间来更新展示数据。 + +|image92| + +1.10 命令行工具 +--------------- + +gbapio命令 +^^^^^^^^^^^ + +用法 +^^^^ + +gbapio [选项] 命令 [参数] + +选项 +^^^^ + +**–version** + +显示gbapio的版本 + +**–help, +-h**\ ` `__ + +显示可用的选项和命令帮助 + +$ gbapio –help + +|image93| + +命令 +^^^^ + +agent +''''' + +.. _用法-1: + +用法 + + +gbapio agent [选项] 命令 [参数] + +描述 + + +代理服务功能 + +.. _选项-1: + +选项 + + +-d, –projectswork-dir TEXT DIRETORY, 指定目录, +未指定默认读取工作空间的第一个有效工程 + +-c, –cell TEXT 指定子系统, 0:root为主系统, 其他为guest os + +-p, –rpc TEXT 指定远程rpc_server地址 + +-h, –help Show this message and exit. + +.. _命令-1: + +命令 + + +gdbstart 启动GDBserver, 子系统为GDB stub + +gdbstop 停止GDBserver, 子系统为GDB stub + +getcpu 获取CPU信息 + +getlog 返回日志信息 + +getlogfile 下载日志文件 + +getmem 获取内存信息 + +start 启动agent服务 + +start_websocket 开启websocket服务 + +stop 停止agent服务 + +stop_websocket 停止websocket服务 + +test 显示代理服务是否运行状态及agent服务端口等信息 + +示例 + + +gbapio agent -p 127.0.0.1:2198 gdbstop + +boards +'''''' + +.. _用法-2: + +用法 + + +gbapio boards + +.. _描述-1: + +描述 + + +Board Explorer, 列出可选版卡列表 + +.. _选项-2: + +选项 + + +NA + +.. _命令-2: + +命令 + + +NA + +.. _示例-1: + +示例 + + +gbapio boards + +build +''''' + +.. _用法-3: + +用法 + + +gbapio build [选项] 命令 [参数] + +.. _描述-2: + +描述 + + +构建编译工程 + +.. _选项-3: + +选项 + + +-d, –project-dir PATH DIRECTORY, +指定工程目录绝对地址,未指定默认取工作空间第一个有效工程 + +-c, –project-profile FILE FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下的配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第一个环境 + +-h, –help Show this message and exit. + +.. _命令-3: + +命令 + + +clean 重新构建,先清理之前构建缓存并重新构建 + +hb 构建混合部署工程 + +hb_stop 停止构建混合部署工程 + +run 按工具配置文件及系统配置文件进行编译构建 + +st_stop 停止软实时构建过程 + +stop 停止构建 + +.. _示例-2: + +示例 + + +gbapio build -d /home/ubuntu/GbaNctiProjects/demo001 -c +/home/ubuntu/GbaNctiProjects/demo001/ncti-esda-profile.json clean + +check +''''' + +.. _用法-4: + +用法 + + +gbapio check [选项] 命令 [参数] + +.. _描述-3: + +描述 + + +Static Code Analysis, 进行代码静态分析 + +.. _选项-4: + +选项 + + +-d, –project-dir PATH 工程目录 + +-f, –src-filters TEXT 扫描文件过滤器, 过滤待检测文件 + +--flags TEXT 添加传递给分析工具的flags + +--severity [low|medium|high] 指定由检查工具报告的缺陷严重性类型 + +-s, –silent 抑制进度报告,并只显示高严重性的缺陷 + +-v, –verbose 指定是否输出详细信息 + +--json-output 指定是否json格式返回 + +--fail-on-defect [low|medium|high] + +-h, –help Show this message and exit. + +.. _命令-4: + +命令 + + +NA + +.. _示例-3: + +示例 + + +gbapio check -d /home/ubuntu/GbaNctiProjects/demo001 + +ci +'' + +.. _用法-5: + +用法 + + +gbapio ci [选项] 命令 [参数] + +.. _描述-4: + +描述 + + +Continuous Integration, 持续集成。对接Gitlab CI/CD 或Jenkins SkyEye + +.. _选项-5: + +选项 + + +开发中 + +.. _命令-5: + +命令 + + +开发中 + +.. _示例-4: + +示例 + + +开发中 + +coderep +''''''' + +.. _用法-6: + +用法 + + +gbapio coderep [选项] 命令 + +.. _描述-5: + +描述 + + +代码仓库功能 + +.. _选项-6: + +选项 + + +-l, –local TEXT 指定来源为本地路径 + +-u, –url TEXT 指定来源为远程url + +-b, –branch TEXT 指定分支 + +-s, –subdir TEXT 指定子分支 + +-o, –out TEXT 指定目标目录 + +-h, –help Show this message and exit. + +.. _命令-6: + +命令 + + +clone 克隆源代码 + +.. _示例-5: + +示例 + + +gbapio coderep -u git@10.100.199.97:zr/kernel-openeuler-lts-2203-sp2.git +-b main -o /home/usr/GbaNctiProjects/demo001 clone + +debug +''''' + +.. _用法-7: + +用法 + + +gbapio debug [选项] 命令 [参数] + +.. _描述-6: + +描述 + + +Unified Debugger, 启动调试 + +.. _选项-7: + +选项 + + +开发中 + +.. _命令-7: + +命令 + + +开发中 + +.. _示例-6: + +示例 + + +开发中 + +home +'''' + +.. _用法-8: + +用法 + + +gbapio home [选项] 命令 [参数] + +.. _描述-7: + +描述 + + +GUI to manage, 打开国创IDE主页 + +.. _选项-8: + +选项 + + +开发中 + +.. _命令-8: + +命令 + + +开发中 + +.. _示例-7: + +示例 + + +开发中 + +jailhouse +''''''''' + +.. _用法-9: + +用法 + + +gbapio jailhouse [选项] 命令 [参数] + +.. _描述-8: + +描述 + + +混合部署jailhouse功能指令 + +.. _选项-9: + +选项 + + +-d, –projectswork-dir TEXT DIRECTORY, 指定目录 + +-c, –project-profile TEXT FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下配置文件 + +-e, –env TEXT 指定配置文件的环境参数,不指定用默认第1个环境 + +-p, –rpc TEXT 指定远程rpc_server地址, 默认在本地 + +-h, –help Show this message and exit. + +.. _命令-9: + +命令 + + +cell 显示cell列表 + +cell_connect 启动连接 + +cell_create [cell文件] 创建non root cell + +cell_destroy [cell名称或id] 销毁os镜像 + +cell_linux [cell文件] [引导文件] [设备树dts文件] [文件系统rootfs文件] +[附加参数] 运行linux镜像 + +cell_load [cell名称或id] [bin文件名] 在cell中装载os镜像 + +cell_shutdown [cell名称或id] 停止树os镜像 + +cell_start [cell名称或id] 启动os镜像 + +cell_status [cell名称或id] 查看os镜像启动状态信息 + +check 规则检查 + +disable 停止jailouse + +enable [cell文件] 启动root cell + +mkcells 配置文件生成non root cell + +mkdts 配置文件生成设备树dts + +mkrootcell 配置文件生成root cell + +.. _示例-8: + +示例 + + +gbapio jailhouse -d /home/usr/GbaNctiProjects/demo001 enable +/home/jailhouse/demo.cell + +pkg +''' + +.. _用法-10: + +用法 + + +gbapio pkg [选项] 命令 [参数] + +.. _描述-9: + +描述 + + +列出pkg列表 + +.. _选项-10: + +选项 + + +-h, –help Show this message and exit. + +.. _命令-10: + +命令 + + +list List installed packages + +.. _示例-9: + +示例 + + +gbapio pkg list + +project +''''''' + +.. _用法-11: + +用法 + + +gbapio project [选项] 命令 [参数] + +.. _描述-10: + +描述 + + +Project Manager, 列出工程列表 + +.. _选项-11: + +选项 + + +-d, –projectswork-dir DIRECTORY DIRECTORY, 指定目录, +默认是vscode及国创IDE工作目录D:\GbaNctiProjects,Linux在: +[用户主目录]/GbaNctiProjects + +-c, –project-profile TEXT FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下配置文件 + +-h, –help Show this message and exit. + +.. _命令-11: + +命令 + + +hb_create 混合部署创建工程 + +init 创建工程 + +list 工程列表 + +.. _示例-10: + +示例 + + +gbapio project -d /home/usr/GbaNctiProjects/demo001 init + +qemu +'''' + +.. _用法-12: + +用法 + + +gbapio qemu [选项] 命令 [参数] + +.. _描述-11: + +描述 + + +仿真指令功能 + +.. _选项-12: + +选项 + + +-d, –projectswork-dir TEXT DIRETORY, 指定目录, +未指定默认读取工作空间的第一个有效工程 + +-c, –project-profile TEXT FILE, +指定配置文件进行工程初始化,不指定时自动找工程下配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第1个环境 + +-p, –platform TEXT 指定架构, 可以是: x86,arm,arrch64, +不指定按配置文件中类型和板卡平台信息 + +-k, –kernel TEXT 指定linux内核文件, 必须指定 + +-i, –initrd TEXT 指定根文件系统 (可借助 BusyBox 构建极简 initramfs) + +-t, –dtb TEXT 指定设备树 + +-a, –append TEXT 指定设备参数 + +-r, –rootfs TEXT 指定通用根文件系统 + +-h, –help Show this message and exit. + +.. _命令-12: + +命令 + + +check 检测qemu仿真环境 + +start 启动qemu仿真 + +stop 停止仿真 + +.. _示例-11: + +示例 + + +gbapio qemu -d /home/usr/GbaNctiProjects/demo001 check + +run +''' + +.. _用法-13: + +用法 + + +gbapio run [选项] 命令 [参数] + +.. _描述-12: + +描述 + + +Run project targets (build, upload, clean, etc.), 运行目标工程或程序 + +.. _选项-13: + +选项 + + +开发中 + +.. _命令-13: + +命令 + + +开发中 + +.. _示例-12: + +示例 + + +开发中 + +upload +'''''' + +.. _用法-14: + +用法 + + +gbapio upload [选项] 命令 [参数] + +.. _描述-13: + +描述 + + +发布烧录工程镜像 + +.. _选项-14: + +选项 + + +-d, –projectswork-dir PATH DIRECTORY, 指定目录 + +-c, –project-profile FILE FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下的配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第一个环境 + +-p, –protocl TEXT 指定上传协议,可以是: +blackmagic,dfu,jlink,serial(串口),stl + +ink,不指定按配置文件进行 + +-h, –help Show this message and exit. + +.. _命令-14: + +命令 + + +hb 烧录混合部署工程 + +hb_stop 停止烧录混合部署工程 + +run 执行烧录 + +.. _示例-13: + +示例 + + +gbapio upload -d /home/usr/GbaNctiProjects/demo001 run + +.. |IMG_2561| image:: media/0d052cb6110c65184c9b43fa9e7be3be.png +.. |IMG_2571| image:: media/d669819ee8046f320fa761555cca8ee4.png +.. |IMG_2581| image:: media/e5c324a441ad3ced88a2ef8eed00a766.png +.. |IMG_2591| image:: media/50471e867656c5b46d21c4a98327a136.png +.. |image4| image:: media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png +.. |image5| image:: media/bd6acd7229eba29bc8a89a4ff6315acb.png +.. |image6| image:: media/a7432081624c35d77423f07d696e8cd1.png +.. |image7| image:: media/315cf4f0d594007da4eac6073a3f4996.png +.. |image8| image:: media/24bb8f6a27200acccfc9f35abef66ace.png +.. |image9| image:: media/38b981eb7007dce7e97c2ebed9cf0afc.png +.. |image10| image:: media/93278282592407451b06745377ee557b.png +.. |image11| image:: media/65321b8677c91de9c13de49cf333ebba.png +.. |image12| image:: media/3b81aa482ec147919756cdfff35f5680.png +.. |image13| image:: media/3b81aa482ec147919756cdfff35f5680.png +.. |image14| image:: media/317cdc9919abbdb2c50942d3260b23d5.png +.. |image15| image:: media/3482f744976a79513324d7dafc8a9dac.png +.. |image16| image:: media/723f9c52c68225a4927c12e775002c2c.png +.. |image17| image:: media/6485a96d6a26210dbb7bfe49b01fcbf9.png +.. |image18| image:: media/304236a0f008b1f65753a7861b89f27d.png +.. |image19| image:: media/2a69e627f1a41a2ec68969554b84374d.png +.. |image20| image:: media/960127a00abd1a06f0c10c02d6b18cfc.png +.. |image21| image:: media/85c267aa3f88f87aab08fa8948f5571d.png +.. |image22| image:: media/18701710d3d65f9ed9b6b691af4f1864.png +.. |image23| image:: media/4a20793b8b4da0fbcd81547ff4b0ce34.png +.. |image24| image:: media/6414e758e17a27ad9ea3026ba94ab965.png +.. |image25| image:: media/da75ae33d6e4cc7d7ca763f8ec026241.png +.. |image26| image:: media/a248f2624348038632aaee855dddb345.png +.. |image27| image:: media/70a7abbb5041ee8d6f6f59354aab1ee2.png +.. |image28| image:: media/5b2d0cc081649d64816bf6384e5a612b.png +.. |image29| image:: media/907a6de3f2adc3c83d9507b50d617880.png +.. |image30| image:: media/662fc796a842a2b05dfb9211bdae4dd1.png +.. |image31| image:: media/21f4c83b3d8796c7d0ba2299d5dae0e1.png +.. |image32| image:: media/f009f2f53ead3338ef0641d88bb96370.png +.. |image33| image:: media/4b6697019fbec73005ebd0d5671ed249.png +.. |image34| image:: media/dab6e5b965565fd99c2ba63c6d0e3650.png +.. |image35| image:: media/df583e61e87205f3afd068ca84d839b5.png +.. |image36| image:: media/534e313b3ac347ab9917815372db4a3a.png +.. |image37| image:: media/a234f83ed93f92cb8a8786125d095e10.png +.. |image38| image:: media/6dbebdb5acb403b99b50b86acac7a6af.png +.. |image39| image:: media/245b902333c49f29320241559eb1a36d.png +.. |image40| image:: media/9ea540e5909f72ae954d40c5b97cee2e.png +.. |IMG_256| image:: media/53e89f69b89b37f5cc57fcd4644a92f0.png +.. |image42| image:: media/65ad6de8138e19c57368083f47e8a0bb.png +.. |image43| image:: media/85c267aa3f88f87aab08fa8948f5571d.png +.. |image44| image:: media/18701710d3d65f9ed9b6b691af4f1864.png +.. |image45| image:: media/e22945ec4050127534515903a02e0a03.png +.. |image46| image:: media/5159ecfe5b028b10447e0b7fce41b93f.png +.. |image47| image:: media/1300aa6cbbb866b12114201630960fa4.png +.. |image48| image:: media/07fe5ba5e1447cd50e2d32fb575edd60.png +.. |image49| image:: media/b5e2f63ce5d4a7d6724559f37bb82534.png +.. |image50| image:: media/01697ee3225626284deafb2574a3631b.png +.. |image51| image:: media/1c438d966757a9653822f62c021106ab.png +.. |image52| image:: media/88cd9541086258bc08475f14fa2f7bab.png +.. |image53| image:: media/efedc16ac56ef5b87e4c58426b37a425.png +.. |image54| image:: media/347daa8b2deb798f58f43d16e4978756.png +.. |image55| image:: media/1665fb6e9e63573fe6f7169bbdf72e77.png +.. |image56| image:: media/28a95bb0acced2f28cec20182c5bc3a3.png +.. |image57| image:: media/0fdf555a44077ed9c96688eaf9b31057.png +.. |image58| image:: media/97235a25c099cd98fbee86b00a120fce.png +.. |image59| image:: media/409a689d443c0c1e1a1cc196db187393.png +.. |image60| image:: media/21f4c83b3d8796c7d0ba2299d5dae0e1.png +.. |image61| image:: media/f009f2f53ead3338ef0641d88bb96370.png +.. |IMG_258| image:: media/0febc10f99e86c7ee7e906aaa76ed135.png +.. |IMG_259| image:: media/08a36e882fdf0781579f87eb3cb2d753.png +.. |IMG_260| image:: media/9328c4f42755dd3d1483da946d82c814.png +.. |IMG_261| image:: media/441c18b9da96878e4b911373de75b75c.png +.. |IMG_262| image:: media/0cde21f81990256ed126546e5e039350.png +.. |IMG_263| image:: media/c58bcb6e6e62d83f8699005a56622b76.png +.. |image68| image:: media/b9172c9a0a6cabafe30f7ae972508775.png +.. |image69| image:: media/7369f219eb7d616a8e8fda72184a8a5f.png +.. |IMG_257| image:: media/538d768eea5d804019b80c6d94003f3d.png +.. |image71| image:: media/3e8b461ba7d61261b1351b294690b662.png +.. |image72| image:: media/df8dd5634c193a471c60f3e789a83828.png +.. |image73| image:: media/6df9417d3e48b21760f094ed0942ff2f.png +.. |image74| image:: media/fdb3db609abf229f52fc32ae15a91d51.png +.. |image75| image:: media/27bbde2e834161d90f9ee930ad94d58b.png +.. |image76| image:: media/a9adefaf6ab49ab757d75239f9662065.png +.. |image77| image:: media/78426b47b9e20f39b8d2cc1172ae2900.png +.. |image78| image:: media/c1cf8525b78f2b6a89098ee7d22bf760.png +.. |image79| image:: media/01e58e42fcc62d8251a125eb7b5c72ad.png +.. |image80| image:: media/47403cf7d157b8dada3d98803bc7ccd3.png +.. |image81| image:: media/e1a0ef61d450de65bd36eec26e13553d.png +.. |image82| image:: media/b6f42e2f5f8e1248fbcbb0dfb3397403.png +.. |image83| image:: media/09787a2185e21e3fd54f2fd46603cf4e.png +.. |image84| image:: media/fc8c71902465c020522f39a73588194a.png +.. |image85| image:: media/fe687c442c48a5685b09560f8a1f1efd.png +.. |image86| image:: media/41e72c1edc8b2451b1416376c6db9d84.png +.. |image87| image:: media/aec5f0e9bd8e843f5ff8491c041f40d0.png +.. |image88| image:: media/688e8feae15600e14cfcd7e040250cd1.png +.. |image89| image:: media/4c6522dc16811382d074bc04e1e0bcef.png +.. |image90| image:: media/31572b690bb9ca97162a39b83515144e.png +.. |image91| image:: media/a7afbf892a0c44852d07ef982c7a2d55.png +.. |image92| image:: media/e6084daa781a650efb56ae4575c4ae79.png +.. |image93| image:: media/720047965be0fd8a8965415c48c4feff.png + diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01697ee3225626284deafb2574a3631b.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01697ee3225626284deafb2574a3631b.png new file mode 100644 index 0000000000000000000000000000000000000000..48e21a87a83bc4a3170c55bec5c30724b9c45b06 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01697ee3225626284deafb2574a3631b.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png new file mode 100644 index 0000000000000000000000000000000000000000..6ffcc2301c47a4d5e1ba886af52caa6c20407b9f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/07fe5ba5e1447cd50e2d32fb575edd60.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/07fe5ba5e1447cd50e2d32fb575edd60.png new file mode 100644 index 0000000000000000000000000000000000000000..d82ad1b979b4b1d7a3502d5058e4c86048523b22 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/07fe5ba5e1447cd50e2d32fb575edd60.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png new file mode 100644 index 0000000000000000000000000000000000000000..9195eb9feb12d6f72b15df615f915538de2fefd0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/09787a2185e21e3fd54f2fd46603cf4e.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/09787a2185e21e3fd54f2fd46603cf4e.png new file mode 100644 index 0000000000000000000000000000000000000000..2807cce1d2e9153891476416df6bce528f01fc3c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/09787a2185e21e3fd54f2fd46603cf4e.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png new file mode 100644 index 0000000000000000000000000000000000000000..88d34365cf50b55ed16c2059e3a1bbbf2ca54eeb Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0cde21f81990256ed126546e5e039350.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0cde21f81990256ed126546e5e039350.png new file mode 100644 index 0000000000000000000000000000000000000000..f5effb143db2203fa8707cdd56e7b98c4df864a2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0cde21f81990256ed126546e5e039350.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png new file mode 100644 index 0000000000000000000000000000000000000000..aca5a2cd4596fe4d1481e23d95e6a5ff6b8f0ec8 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa7054902bd4e5a33574c01d07eb554c8879681 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0fdf555a44077ed9c96688eaf9b31057.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0fdf555a44077ed9c96688eaf9b31057.png new file mode 100644 index 0000000000000000000000000000000000000000..18823fe490e169f78d98b64e8fe9fcf5b3d62591 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0fdf555a44077ed9c96688eaf9b31057.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png new file mode 100644 index 0000000000000000000000000000000000000000..dbde14ea5efaa4bc3dfdfa1152b42f30b1a8f3da Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1300aa6cbbb866b12114201630960fa4.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1300aa6cbbb866b12114201630960fa4.png new file mode 100644 index 0000000000000000000000000000000000000000..1799c8e28e3de2805386d28d4f1e98a805c2584e Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1300aa6cbbb866b12114201630960fa4.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1665fb6e9e63573fe6f7169bbdf72e77.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1665fb6e9e63573fe6f7169bbdf72e77.png new file mode 100644 index 0000000000000000000000000000000000000000..b3395743844bf49b281126e932a5a307cfe7ba63 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1665fb6e9e63573fe6f7169bbdf72e77.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/18701710d3d65f9ed9b6b691af4f1864.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/18701710d3d65f9ed9b6b691af4f1864.png new file mode 100644 index 0000000000000000000000000000000000000000..0abcbe038c957fea2ba26f770a799c9f4c59830d Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/18701710d3d65f9ed9b6b691af4f1864.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1c438d966757a9653822f62c021106ab.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1c438d966757a9653822f62c021106ab.png new file mode 100644 index 0000000000000000000000000000000000000000..41a71c48533bfb2b07373d876c07bb62de71294f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/1c438d966757a9653822f62c021106ab.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/21f4c83b3d8796c7d0ba2299d5dae0e1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/21f4c83b3d8796c7d0ba2299d5dae0e1.png new file mode 100644 index 0000000000000000000000000000000000000000..18dadab81fdaf0fc9e51adac9720a3da68cb2b1d Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/21f4c83b3d8796c7d0ba2299d5dae0e1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/245b902333c49f29320241559eb1a36d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/245b902333c49f29320241559eb1a36d.png new file mode 100644 index 0000000000000000000000000000000000000000..e0991c1dba04e51de3929c1c735de3d51ede882a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/245b902333c49f29320241559eb1a36d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png new file mode 100644 index 0000000000000000000000000000000000000000..f5efbc73b5eae1a3c121a63cc2ab7865dd62a7dd Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e5108b0e00186405d1843abda1d3f0a3b63518 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/28a95bb0acced2f28cec20182c5bc3a3.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/28a95bb0acced2f28cec20182c5bc3a3.png new file mode 100644 index 0000000000000000000000000000000000000000..d96d55711d87aadb072b25392bc0d564652dd1f1 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/28a95bb0acced2f28cec20182c5bc3a3.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2a69e627f1a41a2ec68969554b84374d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2a69e627f1a41a2ec68969554b84374d.png new file mode 100644 index 0000000000000000000000000000000000000000..162e19cfe6b76d95865bfcf0206943364390857b Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2a69e627f1a41a2ec68969554b84374d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2d21bf8a9f22ddd7112a1522a607e495.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2d21bf8a9f22ddd7112a1522a607e495.png new file mode 100644 index 0000000000000000000000000000000000000000..84577c61f18c665419c291040ecf6adec3fdb463 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2d21bf8a9f22ddd7112a1522a607e495.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2eadbe5437b84b8412e3cbbd08bcc0d2.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2eadbe5437b84b8412e3cbbd08bcc0d2.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5f47ade8839c8af60c1c15cc37f3940632cd87 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2eadbe5437b84b8412e3cbbd08bcc0d2.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png new file mode 100644 index 0000000000000000000000000000000000000000..c39612223e7ed3c7f13cf68ddfd4fc3ca8751af2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/304236a0f008b1f65753a7861b89f27d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/304236a0f008b1f65753a7861b89f27d.png new file mode 100644 index 0000000000000000000000000000000000000000..d97bf2cb0de3b7b96fa98bcafb3acc6912f2b89f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/304236a0f008b1f65753a7861b89f27d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/31572b690bb9ca97162a39b83515144e.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/31572b690bb9ca97162a39b83515144e.png new file mode 100644 index 0000000000000000000000000000000000000000..fb637db5eafb31700b2b3a9cd81874ee1700145c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/31572b690bb9ca97162a39b83515144e.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/315cf4f0d594007da4eac6073a3f4996.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/315cf4f0d594007da4eac6073a3f4996.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd4c8e6207fd3c8e5e69bceece4ec72ae1771d7 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/315cf4f0d594007da4eac6073a3f4996.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/317cdc9919abbdb2c50942d3260b23d5.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/317cdc9919abbdb2c50942d3260b23d5.png new file mode 100644 index 0000000000000000000000000000000000000000..14c1a65c0c2991d9891fcefa708646943d66e81e Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/317cdc9919abbdb2c50942d3260b23d5.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/347daa8b2deb798f58f43d16e4978756.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/347daa8b2deb798f58f43d16e4978756.png new file mode 100644 index 0000000000000000000000000000000000000000..710e943fba11ff1feffce0d5231a91fc39949b96 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/347daa8b2deb798f58f43d16e4978756.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3482f744976a79513324d7dafc8a9dac.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3482f744976a79513324d7dafc8a9dac.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4075b881d298c7766242e9aff05fe71c0a41e7 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3482f744976a79513324d7dafc8a9dac.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb75ba7d96951fcc3689177353a18915b7e91a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3b81aa482ec147919756cdfff35f5680.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3b81aa482ec147919756cdfff35f5680.png new file mode 100644 index 0000000000000000000000000000000000000000..aeabeea188b61b229a19f26b0dca470afb57ee4e Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3b81aa482ec147919756cdfff35f5680.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3e8b461ba7d61261b1351b294690b662.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3e8b461ba7d61261b1351b294690b662.png new file mode 100644 index 0000000000000000000000000000000000000000..442e11ce69f04c0014b1622a981fffa4eb899b9b Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/3e8b461ba7d61261b1351b294690b662.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/40685f356cf25b03361cb654ebe51cb7.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/40685f356cf25b03361cb654ebe51cb7.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0010c591fa942b4a2225016a268053baef3a25 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/40685f356cf25b03361cb654ebe51cb7.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/409a689d443c0c1e1a1cc196db187393.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/409a689d443c0c1e1a1cc196db187393.png new file mode 100644 index 0000000000000000000000000000000000000000..3f47e32def4dcda8905201cade96f00ac2829ded Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/409a689d443c0c1e1a1cc196db187393.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/41e72c1edc8b2451b1416376c6db9d84.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/41e72c1edc8b2451b1416376c6db9d84.png new file mode 100644 index 0000000000000000000000000000000000000000..3f0058b1388d0ab2ed76a1ddb2c6ec6badd0c0c6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/41e72c1edc8b2451b1416376c6db9d84.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/441c18b9da96878e4b911373de75b75c.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/441c18b9da96878e4b911373de75b75c.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f54de2f8a73ad21cbc17fc364f31dc42b575ac Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/441c18b9da96878e4b911373de75b75c.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/47403cf7d157b8dada3d98803bc7ccd3.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/47403cf7d157b8dada3d98803bc7ccd3.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1578f5ee882745321d26e4047710beab542704 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/47403cf7d157b8dada3d98803bc7ccd3.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4a20793b8b4da0fbcd81547ff4b0ce34.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4a20793b8b4da0fbcd81547ff4b0ce34.png new file mode 100644 index 0000000000000000000000000000000000000000..22258b5194d1be5e0507067a5171923eac336359 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4a20793b8b4da0fbcd81547ff4b0ce34.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4b6697019fbec73005ebd0d5671ed249.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4b6697019fbec73005ebd0d5671ed249.png new file mode 100644 index 0000000000000000000000000000000000000000..14d1024fc1c630bac94d9048ca444507b31b07e0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4b6697019fbec73005ebd0d5671ed249.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4c6522dc16811382d074bc04e1e0bcef.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4c6522dc16811382d074bc04e1e0bcef.png new file mode 100644 index 0000000000000000000000000000000000000000..9d598233454e507ed46d06f1d453cd72a8571daa Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/4c6522dc16811382d074bc04e1e0bcef.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/50471e867656c5b46d21c4a98327a136.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/50471e867656c5b46d21c4a98327a136.png new file mode 100644 index 0000000000000000000000000000000000000000..60da00ac9365076c27ef0b719c90456f31b1bb45 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/50471e867656c5b46d21c4a98327a136.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5159ecfe5b028b10447e0b7fce41b93f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5159ecfe5b028b10447e0b7fce41b93f.png new file mode 100644 index 0000000000000000000000000000000000000000..5058dd9608802f701e094f82b343c04b6fb0f1ce Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5159ecfe5b028b10447e0b7fce41b93f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png new file mode 100644 index 0000000000000000000000000000000000000000..2263527332a19d3deb950348274ddc84a7151a8d Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/534e313b3ac347ab9917815372db4a3a.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/534e313b3ac347ab9917815372db4a3a.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b672b21557fd2a83625d68d18ba26235753c1c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/534e313b3ac347ab9917815372db4a3a.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/538d768eea5d804019b80c6d94003f3d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/538d768eea5d804019b80c6d94003f3d.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4f6bad9a1c7b155f348e5b4846ffee6a61cf9f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/538d768eea5d804019b80c6d94003f3d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/53e89f69b89b37f5cc57fcd4644a92f0.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/53e89f69b89b37f5cc57fcd4644a92f0.png new file mode 100644 index 0000000000000000000000000000000000000000..7f7c3a3644e253457b37d0a9971ae59f5a7c3193 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/53e89f69b89b37f5cc57fcd4644a92f0.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5412f5691457d07cf16714662a298295.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5412f5691457d07cf16714662a298295.png new file mode 100644 index 0000000000000000000000000000000000000000..cac1da1c983e118a63279e1a219855b142a118c0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5412f5691457d07cf16714662a298295.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png new file mode 100644 index 0000000000000000000000000000000000000000..295ff28d339a2276e030f565c8469b8b75570cc4 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5acb79b20133c883c13c6738124c13ec.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5acb79b20133c883c13c6738124c13ec.png new file mode 100644 index 0000000000000000000000000000000000000000..45f38d7ac7ceafb2878a5d44cba412cd8a2871aa Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5acb79b20133c883c13c6738124c13ec.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5b2d0cc081649d64816bf6384e5a612b.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5b2d0cc081649d64816bf6384e5a612b.png new file mode 100644 index 0000000000000000000000000000000000000000..b4406a3eb71eb74b3734c9bdc4c72ad23e5b2d5d Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/5b2d0cc081649d64816bf6384e5a612b.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6414e758e17a27ad9ea3026ba94ab965.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6414e758e17a27ad9ea3026ba94ab965.png new file mode 100644 index 0000000000000000000000000000000000000000..32428750951bf1dbe186fc4dc66de260098a1cf5 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6414e758e17a27ad9ea3026ba94ab965.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6485a96d6a26210dbb7bfe49b01fcbf9.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6485a96d6a26210dbb7bfe49b01fcbf9.png new file mode 100644 index 0000000000000000000000000000000000000000..daaca5a50a3a6c0eb4f2ce052e4cb82640d99af0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6485a96d6a26210dbb7bfe49b01fcbf9.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65321b8677c91de9c13de49cf333ebba.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65321b8677c91de9c13de49cf333ebba.png new file mode 100644 index 0000000000000000000000000000000000000000..e58a4f375466c008731368336de8eaa166caa7db Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65321b8677c91de9c13de49cf333ebba.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65ad6de8138e19c57368083f47e8a0bb.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65ad6de8138e19c57368083f47e8a0bb.png new file mode 100644 index 0000000000000000000000000000000000000000..ce244b09a58138db37eb90b549f5a0fd4a030ff2 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/65ad6de8138e19c57368083f47e8a0bb.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/662fc796a842a2b05dfb9211bdae4dd1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/662fc796a842a2b05dfb9211bdae4dd1.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7aba6c7b677eb6fd180a6014c68d75bd2c679c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/662fc796a842a2b05dfb9211bdae4dd1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1f324ea45dc62eaa9678acce415d4fe49a095a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/688e8feae15600e14cfcd7e040250cd1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/688e8feae15600e14cfcd7e040250cd1.png new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5d67bb817b1491434f4dda0382904d3fbac0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/688e8feae15600e14cfcd7e040250cd1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6dbebdb5acb403b99b50b86acac7a6af.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6dbebdb5acb403b99b50b86acac7a6af.png new file mode 100644 index 0000000000000000000000000000000000000000..bba92820c1645e9d29cb8919f153d375ef1896e0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6dbebdb5acb403b99b50b86acac7a6af.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png new file mode 100644 index 0000000000000000000000000000000000000000..81c8b26f51a1d5dba6cf4eb36f554351880fdd87 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/70a7abbb5041ee8d6f6f59354aab1ee2.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/70a7abbb5041ee8d6f6f59354aab1ee2.png new file mode 100644 index 0000000000000000000000000000000000000000..2bbff0d28d4e18386092c5716f772230f93e628f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/70a7abbb5041ee8d6f6f59354aab1ee2.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/720047965be0fd8a8965415c48c4feff.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/720047965be0fd8a8965415c48c4feff.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac25f64ea52ead38894707cfc1786a7830543b6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/720047965be0fd8a8965415c48c4feff.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/723f9c52c68225a4927c12e775002c2c.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/723f9c52c68225a4927c12e775002c2c.png new file mode 100644 index 0000000000000000000000000000000000000000..73f49471bb014e8cc6c11555ecadca78f0f89f48 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/723f9c52c68225a4927c12e775002c2c.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/728f96a6ae2cb03cecac8f0e5aa22624.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/728f96a6ae2cb03cecac8f0e5aa22624.png new file mode 100644 index 0000000000000000000000000000000000000000..374ada851e300c3fa74aacd228cb8141fbfdcb99 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/728f96a6ae2cb03cecac8f0e5aa22624.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/729f1f227a71b2988ca07d4b619c7d6a.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/729f1f227a71b2988ca07d4b619c7d6a.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9185a8d9f16d9168abdb70af95e6c139efe1bb Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/729f1f227a71b2988ca07d4b619c7d6a.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png new file mode 100644 index 0000000000000000000000000000000000000000..fa357600499fa8263d20e73dd3711509c4af24f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/782e9608fbe37fec72e2ba769f401720.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/782e9608fbe37fec72e2ba769f401720.png new file mode 100644 index 0000000000000000000000000000000000000000..273066e17ca0c5cbd8634d40f0b5f330bffab527 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/782e9608fbe37fec72e2ba769f401720.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/78426b47b9e20f39b8d2cc1172ae2900.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/78426b47b9e20f39b8d2cc1172ae2900.png new file mode 100644 index 0000000000000000000000000000000000000000..4e974746fe51eda01aee4003ba94b153970e35de Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/78426b47b9e20f39b8d2cc1172ae2900.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7854286968b8de778c2da2525b73d3bc.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7854286968b8de778c2da2525b73d3bc.png new file mode 100644 index 0000000000000000000000000000000000000000..e17f56cf88189f55e886e77e3d395e36e14318f6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7854286968b8de778c2da2525b73d3bc.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png new file mode 100644 index 0000000000000000000000000000000000000000..bc971a067d458386834c0e55748c06324bbda654 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png new file mode 100644 index 0000000000000000000000000000000000000000..b02bd52abfa9d7891403169e7f4c010d6ff1cd18 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/85c267aa3f88f87aab08fa8948f5571d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/85c267aa3f88f87aab08fa8948f5571d.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c674c87ddae741fd618121812cc65d830e93fb Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/85c267aa3f88f87aab08fa8948f5571d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/88cd9541086258bc08475f14fa2f7bab.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/88cd9541086258bc08475f14fa2f7bab.png new file mode 100644 index 0000000000000000000000000000000000000000..baf73d07498042557c3cef29174529847401ce57 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/88cd9541086258bc08475f14fa2f7bab.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/907a6de3f2adc3c83d9507b50d617880.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/907a6de3f2adc3c83d9507b50d617880.png new file mode 100644 index 0000000000000000000000000000000000000000..bfda4ab88abedf849a2ae30e8cc2fba716783ab3 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/907a6de3f2adc3c83d9507b50d617880.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/93278282592407451b06745377ee557b.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/93278282592407451b06745377ee557b.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf3a54cad0c569e63d7bf440486d74b64c08bd4 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/93278282592407451b06745377ee557b.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9328c4f42755dd3d1483da946d82c814.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9328c4f42755dd3d1483da946d82c814.png new file mode 100644 index 0000000000000000000000000000000000000000..94729fa4b319d6fc0fb8b5de29fc273183c32f92 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9328c4f42755dd3d1483da946d82c814.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/960127a00abd1a06f0c10c02d6b18cfc.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/960127a00abd1a06f0c10c02d6b18cfc.png new file mode 100644 index 0000000000000000000000000000000000000000..c404162979ca5000de47fd03acbcebb48a02f379 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/960127a00abd1a06f0c10c02d6b18cfc.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/97235a25c099cd98fbee86b00a120fce.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/97235a25c099cd98fbee86b00a120fce.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d487f035236a204d8dbbfbaca6d6b9c0e21e08 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/97235a25c099cd98fbee86b00a120fce.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9aa431d6deb5a7c8bc45cd681cbe3acb.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9aa431d6deb5a7c8bc45cd681cbe3acb.png new file mode 100644 index 0000000000000000000000000000000000000000..e212da7ad1fbe557736b4de1f427837c38a58c22 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9aa431d6deb5a7c8bc45cd681cbe3acb.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9ea540e5909f72ae954d40c5b97cee2e.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9ea540e5909f72ae954d40c5b97cee2e.png new file mode 100644 index 0000000000000000000000000000000000000000..dce1b66ec254166567df6f745c1e4fef431368b0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/9ea540e5909f72ae954d40c5b97cee2e.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a234f83ed93f92cb8a8786125d095e10.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a234f83ed93f92cb8a8786125d095e10.png new file mode 100644 index 0000000000000000000000000000000000000000..25d380f154899619f249947e3e7fc78704cb2e97 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a234f83ed93f92cb8a8786125d095e10.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a248f2624348038632aaee855dddb345.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a248f2624348038632aaee855dddb345.png new file mode 100644 index 0000000000000000000000000000000000000000..19f0e040a76047bf68d5b7ab52296f548703e84e Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a248f2624348038632aaee855dddb345.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a6193be368afa27b28b70315faa4fc3f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a6193be368afa27b28b70315faa4fc3f.png new file mode 100644 index 0000000000000000000000000000000000000000..9618635fe5f0f7ffae6fb907ca44ffab1c25fc88 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a6193be368afa27b28b70315faa4fc3f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7432081624c35d77423f07d696e8cd1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7432081624c35d77423f07d696e8cd1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1afd85e92bda7a1d6e7e97c56396b4970f13ac9 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7432081624c35d77423f07d696e8cd1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7afbf892a0c44852d07ef982c7a2d55.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7afbf892a0c44852d07ef982c7a2d55.png new file mode 100644 index 0000000000000000000000000000000000000000..230680b44a101fcb869b06d5b3ecde72c9012ff7 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a7afbf892a0c44852d07ef982c7a2d55.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdb95932af6fc3c6c8853047b9cb0cb08aa4b9c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a9adefaf6ab49ab757d75239f9662065.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a9adefaf6ab49ab757d75239f9662065.png new file mode 100644 index 0000000000000000000000000000000000000000..fd169d8138472d4d476b73f9d27896f467038740 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/a9adefaf6ab49ab757d75239f9662065.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aa69d425adf47ad45d0f11c1e909375f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aa69d425adf47ad45d0f11c1e909375f.png new file mode 100644 index 0000000000000000000000000000000000000000..12b2fec373b7c6a60ded3b51389a2443a166a6c9 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aa69d425adf47ad45d0f11c1e909375f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aec5f0e9bd8e843f5ff8491c041f40d0.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aec5f0e9bd8e843f5ff8491c041f40d0.png new file mode 100644 index 0000000000000000000000000000000000000000..da5d5e0f0fbed8a4ad25ed9c7b421fa83b46a1a6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/aec5f0e9bd8e843f5ff8491c041f40d0.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b5e2f63ce5d4a7d6724559f37bb82534.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b5e2f63ce5d4a7d6724559f37bb82534.png new file mode 100644 index 0000000000000000000000000000000000000000..21a03701ba47e8e31c1ba7c9bc43335b986e701a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b5e2f63ce5d4a7d6724559f37bb82534.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b6f42e2f5f8e1248fbcbb0dfb3397403.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b6f42e2f5f8e1248fbcbb0dfb3397403.png new file mode 100644 index 0000000000000000000000000000000000000000..3f76e9ac6eb3490ba977453d0657d76b976c9a01 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b6f42e2f5f8e1248fbcbb0dfb3397403.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png new file mode 100644 index 0000000000000000000000000000000000000000..640c5cd12c86521bd2320654ffb1b4a0415ec08f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png new file mode 100644 index 0000000000000000000000000000000000000000..6d734f993ac5d810a93924fd941bd5dade2b48c3 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c1cf8525b78f2b6a89098ee7d22bf760.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c1cf8525b78f2b6a89098ee7d22bf760.png new file mode 100644 index 0000000000000000000000000000000000000000..0e15a7bbbf84c8989792650a353ccc38e2c0c73a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c1cf8525b78f2b6a89098ee7d22bf760.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png new file mode 100644 index 0000000000000000000000000000000000000000..b5218c390edf597f099407470ad8a57249632997 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png new file mode 100644 index 0000000000000000000000000000000000000000..d93c75583552a9148eba26e7674524f328cc0fb6 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/d669819ee8046f320fa761555cca8ee4.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/d669819ee8046f320fa761555cca8ee4.png new file mode 100644 index 0000000000000000000000000000000000000000..598f1bb02acaee4ab11a125392842b16c61e1ecd Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/d669819ee8046f320fa761555cca8ee4.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/da75ae33d6e4cc7d7ca763f8ec026241.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/da75ae33d6e4cc7d7ca763f8ec026241.png new file mode 100644 index 0000000000000000000000000000000000000000..460883dd43fc38b2dd307d3bd0bf521feb1fc252 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/da75ae33d6e4cc7d7ca763f8ec026241.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dab6e5b965565fd99c2ba63c6d0e3650.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dab6e5b965565fd99c2ba63c6d0e3650.png new file mode 100644 index 0000000000000000000000000000000000000000..d7df91b3a865e9adade816c2587466621d4ce3ee Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dab6e5b965565fd99c2ba63c6d0e3650.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dad7fe3771ce0902f28085bffa48b786.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dad7fe3771ce0902f28085bffa48b786.png new file mode 100644 index 0000000000000000000000000000000000000000..60c9af79a1d7b84d570e94a2457d7629b7f3084c Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/dad7fe3771ce0902f28085bffa48b786.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df583e61e87205f3afd068ca84d839b5.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df583e61e87205f3afd068ca84d839b5.png new file mode 100644 index 0000000000000000000000000000000000000000..bd01ed6793f77f766686d9b82dbdc8e5a221cdfa Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df583e61e87205f3afd068ca84d839b5.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df8dd5634c193a471c60f3e789a83828.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df8dd5634c193a471c60f3e789a83828.png new file mode 100644 index 0000000000000000000000000000000000000000..165e80de9462d38d4bff0835bb7933b94bec8444 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/df8dd5634c193a471c60f3e789a83828.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e1a0ef61d450de65bd36eec26e13553d.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e1a0ef61d450de65bd36eec26e13553d.png new file mode 100644 index 0000000000000000000000000000000000000000..dfbe1dfd57cef58dc562f1abd1e3ae88e27564e0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e1a0ef61d450de65bd36eec26e13553d.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e22945ec4050127534515903a02e0a03.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e22945ec4050127534515903a02e0a03.png new file mode 100644 index 0000000000000000000000000000000000000000..09adc611fd084ad5222ad32121c8c9045281af14 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e22945ec4050127534515903a02e0a03.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png new file mode 100644 index 0000000000000000000000000000000000000000..1064fcf9faddc20d279b71b52ecc8f2bf2c49551 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e6084daa781a650efb56ae4575c4ae79.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e6084daa781a650efb56ae4575c4ae79.png new file mode 100644 index 0000000000000000000000000000000000000000..7499c59bd177ed5d90585ff1af6110e4442ae2eb Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/e6084daa781a650efb56ae4575c4ae79.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/eed98735c276c80dc3070b90a67ccb02.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/eed98735c276c80dc3070b90a67ccb02.png new file mode 100644 index 0000000000000000000000000000000000000000..37f216cc2a0771bceb43a178b4ef76c6282cbd8e Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/eed98735c276c80dc3070b90a67ccb02.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/efedc16ac56ef5b87e4c58426b37a425.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/efedc16ac56ef5b87e4c58426b37a425.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c3fb0c1f4bcdb72049dad3a9984d8b921779d5 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/efedc16ac56ef5b87e4c58426b37a425.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f009f2f53ead3338ef0641d88bb96370.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f009f2f53ead3338ef0641d88bb96370.png new file mode 100644 index 0000000000000000000000000000000000000000..a4df7f6e884efa8caa48aac0560ca4b66ff71fa8 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f009f2f53ead3338ef0641d88bb96370.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f0fdd0e24e388147099164381a7ea2e8.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f0fdd0e24e388147099164381a7ea2e8.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6ab436aa7f6f99b764f8eda8bd7377513cbb5a Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/f0fdd0e24e388147099164381a7ea2e8.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png new file mode 100644 index 0000000000000000000000000000000000000000..d15aff5013803aa144b4b20eb2a3ca692e7268f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fc8c71902465c020522f39a73588194a.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fc8c71902465c020522f39a73588194a.png new file mode 100644 index 0000000000000000000000000000000000000000..07a2cc742d9cc212b169b219049349d7b8766373 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fc8c71902465c020522f39a73588194a.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png new file mode 100644 index 0000000000000000000000000000000000000000..4e79d9a3b5e773c83fb8c64baffd12fde47f6773 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png new file mode 100644 index 0000000000000000000000000000000000000000..072f918c3271bf1214f5a85e562c38354d78f847 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe758a94a0855155f20f143de22c55a1.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe758a94a0855155f20f143de22c55a1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b28312b33c0b4272aa2ea6ff3174c9f96e8c5a5 Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/fe758a94a0855155f20f143de22c55a1.png differ diff --git a/docs/source/features/qsemos_ide/hybrid_development_plugin/media/febede95d9b0c30296e476329785da84.png b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/febede95d9b0c30296e476329785da84.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebf82ad242cd384228f7e950307b327fc196a4f Binary files /dev/null and b/docs/source/features/qsemos_ide/hybrid_development_plugin/media/febede95d9b0c30296e476329785da84.png differ diff --git a/docs/source/features/qsemos_ide/index.rst b/docs/source/features/qsemos_ide/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..7183a095e5543397c3e4a6daf3a7a697cce07c9f --- /dev/null +++ b/docs/source/features/qsemos_ide/index.rst @@ -0,0 +1,13 @@ +.. _qsemos_ide_plugins: + + +QSemOS IDE嵌入式插件 +############################# + +.. toctree:: + :maxdepth: 1 + + installation/index.rst + soft_realtime_plugin/index.rst + hard_realtime_plugin/index.rst + hybrid_development_plugin/index.rst diff --git a/docs/source/features/qsemos_ide/installation/index.rst b/docs/source/features/qsemos_ide/installation/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..eee6c003efbed0c477327194a2620d7a86738843 --- /dev/null +++ b/docs/source/features/qsemos_ide/installation/index.rst @@ -0,0 +1,876 @@ +目录 +==== + +`1 概述`_ + +`2 系统要求`_ + +`3 安装方式`_ + + `3.1 全量安装`_ + + `3.1.1 Windows环境全量安装`_ + + `3.1.2 Ubuntu环境全量安装`_ + + `3.2 插件安装`_ + + `3.2.1 Windows环境插件安装`_ + + `3.2.2 Ubuntu环境插件安装`_ + + `3.3 虚拟镜像导入安装`_ + + `3.3.1 Windows环境安装`_ + + `3.3.2 Ubuntu环境导入`_ + +`4 配置远程访问环境`_ + + `4.1 Ubuntu安装SSH服务`_ + + `4.2 Windows侧 VS Code安装Remote SSH`_ + + `4.3 远程连接Ubuntu环境`_ + +`5 更新插件工具`_ + + `5.1 Linux环境`_ + + `5.2 Windows环境`_ + +`6 卸载插件`_ + + `6.1 Linux环境`_ + + `6.2 Windows环境`_ + +`7 常见问题`_ + + `7.1 硬实时插件安装依赖`_ + + `7.2 Virtual Box安装常见问题`_ + + `7.2.1 安装过程中如果出现缺少Visual C++2019环境`_ + + `7.2.2 安装过程中如果出现缺少pywin32`_ + + `7.2.3 虚拟机启动过程桥接网卡不一致`_ + + `7.3 配置公钥免密登录`_ + + `7.4 Virtual Box设置桥接网络`_ + + +1 概述 +====== + +(国创) QSemOS IDE是一款基于VS +Code进行扩展研发的开发工具,旨在面向嵌入式开发场景提供一站式的服务。通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual +Studio Code(后文简称VS +Code)进行代码的开发。但当前阶段,开发板源码还不支持在Windows环境下进行编译,因此,需要使用Ubuntu的编译环境对源码进行编译。 + +在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的VS +Code运行时服务(Ubuntu下可以不安装VS +Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。本安装手册包含三部分:Windows环境下的安装(包括全量安装和基于插件安装)、远程配置Linux开发环境(采用Ubuntu)、Ubuntu环境下的安装。 + +插件功能运行工作流程 + +|image68| + +2 系统要求 +========== + +- Windows系统要求:Windows10 64位系统。 +- Ubuntu系统要求:远程Linux主机的操作系统推荐发行版是Ubuntu18.04~22.04版本(常用22.04版本),内存16 + GB及以上。 +- 磁盘空间:需要在用户home目录所在分区有100G的可用空间。 +- Ubuntu系统的用户名不能包含中文字符。 +- Python版本要求:Linux环境要求Python + 3.8-3.11,Window环境要求Python3.10-3.11 + +3 安装方式 +========== + +QSemOS IDE 支持三种安装部署方式, +分别是全量安装,插件安装,镜像导入安装。 + +全量安装主要是指Window以及Linux都需要安装VS Code相关集成开发环境。 +Windows侧通过VS +Code以及厂家提供的插件应用程序安装部署,Linux侧通过Rpm包方式进行安装部署。此方法适用于电脑以及服务器均未安装VS +Code的用户。注意:在离线情况下, Linux侧的安装部署需要依赖本地仓库源。 + +插件安装是指使用厂家提供的VS +Code扩展插件包(通常是.vsix后缀名),在已有的VS +Code软件中安装软实时、硬实时和混合部署的功能。此方法适用于电脑上已经安装了VS +Code,只需要通过单独插件安装即可使用软实时、硬实时和混合部署大师的用户。 + +镜像导入安装是指通过Virtual +Box导入虚拟机镜像,快速完成Linux环境的部署。Windows侧通过VS +Code以及厂家提供的插件应用程序安装部署。 +此方式适用于想要快速安装使用的用户。 + +3.1 全量安装 +------------ + +3.1.1 Windows环境全量安装 +~~~~~~~~~~~~~~~~~~~~~~~~~ + +安装VS Code +^^^^^^^^^^^ + +如果已安装且Remote-SSH服务正常,可以跳过此步骤。(提供版本为1.92.2,若已安装版本与提供版本不一致且没有SSH远程连接插件时建议重装厂家版本,因为厂家提供的Ubuntu环境下Remote-SSH的插件服务端离线包版本不兼容其他VSCode版本) + +找到目录下的安装包:“vscode/VSCodeSetup-x64-1.92.2.exe”,双击进行安装,安装提示点击下一步即可。 + +|image1| |image2| + +按照安装步骤中的选项(可以全部采用默认配置,点击“下一步”,最后点击“安装”),分别设置安装的目标位置、菜单文件夹、附加任务等。 + +|image3| |image4| + +|image5| |image6| + +等待VS Code完成安装即可。 + +安装VS Code插件 +^^^^^^^^^^^^^^^ + +在Windows上安装插件,主要是用于连接以及烧录等功能, + +如果需要烧录功能,请选择插件全量安装。 + +如果不需要烧录功能,请选择不带烧录功能的简易安装。 + +- 需要烧录功能的插件全量安装 + +Windows环境下,找到目录下的安装包: +“QSemIDE-Plugins-offline-Setup-1.x.xx.exe”,双击进行安装,按照提示点击即可。 + +|image7| |image8| + +安装完后会自动弹出终端窗口进行插件安装 + +|image9| + +打开VS +Code,平台已经完成软实时、硬实时、混合部署的插件安装,用户可以通过左侧边栏进行使用。具体使用方法请参考用户手册。 + +|image10| + +**警告\ 注意:** + +目前VS +Code默认使用PowerSell作为终端工具,软实时、硬实时和混合部署插件依赖安装需要手动切换到Cmd模式。具体步骤如下: + +1. 打开VS Code,通过菜单选择“查看”View ->“终端”Terminal,打开终端窗口 + + 1. 点击下方工具栏的“终端”Terminal窗口,在窗口中点击“+”号下拉菜单,选择“选择默认配置”Select + Default Profile”选项 + + 1. 在弹出的配置窗口中,点击选择“Command Prompt”选项 + +4. 关闭VS Code重新启动,点击插件菜单,后台自动完成依赖安装 + +|image11| |image12| + +|image13| |image14| + +打开IDE的插件页面后,后台自动打开GBA IDE升级,开始安装平台需要的核心包。 + +|image15| + +核心包安装完成后,本地IDE环境安装完成,用户可以在本地完成如C/C++应用的开发,如果需要使用嵌入式开发板开发和编译等功能,下一步参考Ubuntu环境全量安装完成远程开发环境的配置。 + +|警告|\ 注意: + +为了保持IDE版本一致性和已维护性,推荐禁用VS Code自动更新。打开VS +Code,依次打开菜单File中Preferences子菜单中选择Settings项,搜索update +mode,将其设置为none,重启VS Code完成设置。 + +|image17| + +- 不带烧录功能的简易安装 + + 打开Windows系统下的VS Code,点击 + ,在插件市场右上角‘…’图标下拉选择Install from + VSIX…,打开本地文件目录选择厂家提供的插件“ms-vscode-remote.remote-ssh-x.xx.x.vsix”安装。 + + |image18| + +3.1.2 Ubuntu环境全量安装 +~~~~~~~~~~~~~~~~~~~~~~~~ + +安装Remote-SSH 插件服务端 +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Remote-SSH插件在Ubuntu的服务端为vscode-server服务。如果Vs +Code能正常启用SSH-Remote远程连接,可以跳过该步骤。 + +1. +找到目录下的安装包:“vscode/vscode-server-linux-x64.tar.gz”,使用WinSCP或FileZilla等FTP工具,将该tar包放到Linux上的~/.vscode-server/bin目录下(如果没有该目录则使用命令mkdir +-p ~/.vscode-server/bin创建目录)。 + +2.将压缩包解压 tar -xzvf vscode-server-linux-x64.tar.gz + +远程安装插件 +^^^^^^^^^^^^ + +找到目录下的Rpm包:“QSemOS-IDE-VSCode-Plugins-1.0.xx-x..noarch.rpm”,使用WinSCP或FileZilla等FTP工具,将该 +Rpm包上传到Ubuntu系统的目录中,通常是/home/$用户名/(或其他任意目录). + +通过VS Code的Remote-SSH插件远程连接到Linux主机,VS +Code左下角显示连接远程主机“SSH +xxx.xxx.xxx.xxx”蓝色状态指示,表明连接成功。(详情参见.\ `4 配置远程访问环境`_\ ) + +|image19| + +确保远程连接成功后,在VS +Code中切换到“终端Terminal”分区,使用命令行进入Rpm包所在目录, + +在Vs +Code终端中执行以下命令安装Rpm包(注意权限,Ubuntu下使用当前用户安装即可):rpm +-ivh –nodeps QSemOS-IDE-VSCode-Plugins-1.0.xx-x..noarch.rpm + +如果缺少Rpm命令, 运行 sudo apt install rpm 安装Rpm命令即可。 + +如果安装过程遇到历史版本冲突, 需要卸载再重新安装,可以输入rpm -e +QSemOS-IDE-VSCode-Plugins-1.0.xx-x..noarch执行卸载,卸载后重新执行安装命令即可。 + +安装过程有可能比较慢,请耐心等下安装完(安装过程中可能会有Failed的提示,请忽略,不影响插件正常安装),中途不要关闭或重新加载VS +Code,避免部分插件没安装上。 + +|image20| + +|image21| + +安装命令结束后,需要重新加载窗口,按住键盘上的“Ctrl+Shift+P”组合键,打开命令面板,输入reload,点击Developer: +Reload Window,会自动重新加载窗口 + +|image22| + +在左侧栏可以看到成功安装的插件图标 + +|image23| + +硬实时相关依赖安装完后,在左侧面板可以看到“工程任务”,点击展开,点击“首页”,就可看到硬实时插件界面 + +|image24| + +软实时、混合部署插件也是直接点击对应图标-首页即可正常使用。 + +软实时插件的使用可参考“软实时插件用户手册”。 + +硬实时插件的使用可参考“硬实时插件用户手册”。 + +混合部署插件的使用可参考“混合部署插件用户手册”。 + +3.2 插件安装 +------------ + +3.2.1 Windows环境插件安装 +~~~~~~~~~~~~~~~~~~~~~~~~~ + +如果用户已经采用全量安装,请忽略本章节。 + +插件安装方法使用厂家提供的VS +Code扩展插件包(通常是.vsix后缀名),在已有的VS +Code软件中安装软实时、硬实时和混合部署的功能。此方法适用于电脑上已经安装了VS +Code,只需要通过单独插件安装即可使用软实时、硬实时和混合部署大师的用户。 + +前置条件 + +- Windows操作系统可以正常访问互联网 +- 通过厂家提供的材料,获取软实时、硬实时、混合部署的最新插件软件包(后缀.vsix),保存在电脑本地目录。 +- 确保已安装Visual Studio Code 1.8+。 + +软实时、硬实时和混合部署的插件均为.vsix文件,采用相同的方式进行安装。打开Windows系统下的VS +Code,点击 ,在插件市场右上角‘…’图标下拉选择Install from +VSIX…,打开本地文件目录选择下载的软实时、硬实时或混合部署插件文件分别安装。 + +|image25| + +安装软实时插件“soft-realtime-1.x.xx.vsix”后, +可参考“软实时插件用户手册”使用。 + +安装硬实时插件“QSemOS-Hard-RealTime-plugin-1.x.x.vsix”后, +可参考“硬实时插件用户手册”使用。 + +安装混合插件“hybrid-deplayment-1.x.x.vsix”后。可参考“混合部署插件用户手册”使用。 + +3.2.2 Ubuntu环境插件安装 +~~~~~~~~~~~~~~~~~~~~~~~~ + +对于大部分用户,采用Windows VS Code安装插件后,可以通过VS +Code一键在Ubuntu环境中安装软实时和混合部署的插件,也可以手动安装。 + +前置条件 + +- 可以从Windows VS Code连接远程Ubuntu主机,参考 + `4 配置远程访问环境`_ +- Windows VS Code已经安装软实时、硬实时或混合部署插件。 + + 确认左下角已经连接上远程Ubuntu主机后,点击左侧边栏的 + 扩展市场,在“本地已安装”列表中找到“QSemOS软实时大师”(或硬实时大师/混合部署大师),VS + Code自动检测可以为远程Ubuntu安装,点击蓝色按钮“Install in + xxx”在远程Ubuntu执行插件安装。 + + |image26| + + 完成后可以看到本地安装和远程安装的列表中都有QSemOS软实时大师的插件。硬实时、混合部署插件同样可以用这个方法安装,完成Ubuntu开发环境的搭建。 + + |image27| + + 用户也可以手动使用vsix文件上传安装。以软实时插件为例,通过VS + Code远程连接Ubuntu环境后,点击 + ,在插件市场右上角‘…’图标下拉选择Install from + VSIX…,打开本地或远程文件目录选择下载的soft-realtime-{版本号}.vsix文件进行安装。安装完后,右下角会有弹窗提示重新加载VS + Code,插件才会生效。 + + |image28| + + 排错: + + 用户可能会遇到打开硬实时插件的首页,页面没有正常显示首页内容。如下图所示,依赖并未安装成功,导致硬实时插件无法正常工作。 + + |image29| + + OUTPUT窗口显示依赖库安装失败。硬实时插件安装时可能会因为网络安装等问题,导致插件依赖安装失败。此时应该手动在Ubuntu环境安装依赖。参考\ `7.1 硬实时插件安装依赖`_\ 。 + +3.3 虚拟镜像导入安装 +--------------------- + +3.3.1 Windows环境安装 +~~~~~~~~~~~~~~~~~~~~~~ + +Virtual box安装 +^^^^^^^^^^^^^^^ + +1. 使用提供的VirtualBox-7.x.xx-xx-Win.exe安装包,或者通过网站 + https://www.virtualbox.org/ 根据操作系统类型下载Virtual-Box安装包 + + 1. 双击安装(建议安装7.0.x版本) + + 1. 进入安装界面, 选择安装路径(可自定义),然后下一步, + 选择安装-是 + + 1. 点击安装,安装完成。 + 点击安装过程中如果有依赖问题,请参考Virtual Box安装常见问题 + + |image30| |image31| + + |image32| |image33| + + |image34| + +Vs Code 安装 +^^^^^^^^^^^^ + +参考\ `3.1.1 Windows环境全量安装`_\ 即可。 + +3.3.2 Ubuntu环境导入 +~~~~~~~~~~~~~~~~~~~~ + +1. 点击管理->导入虚拟电脑 + +2.文件路径选择需要导入的.OVA文件,点击下一步 + +3.选择OVA文件解压后导入虚拟盘的位置,点击完成。 +(需要确保导入磁盘容量大于镜像解压后所需要容量,否则可能导入失败, +导入的磁盘所在空间建议大于30G) + +4.耐心等待右上角导入进度条结束,安装完成后,选中虚拟机点击启动即可。 + +|image35| |image36| + +|image37| |image38| + +5. +网络设置不需要桥接模式,把设置-网络-启用网络连接的\ |image39|\ 取消,点击确认即可启动。 + +如果用户有桥接连接方式诉求,可关闭“仅主机”模式以及“NAT”模式后参考Virtual +Box设置桥接网络使用。sss + +|image40| + +接下来参考配置远程访问环境 `4.3 远程连接Ubuntu环境`_ +即可连接使用。 + +软实时插件的使用可参考“软实时插件用户手册”。 + +硬实时插件的使用可参考“硬实时插件用户手册”。 + +混合部署插件的使用可参考“混合部署插件用户手册”。 + +4 配置远程访问环境 +================== + +需要做嵌入式开发和编译工作,需要配备Linux开发环境,如Ubuntu。本章节主要讲解如何使用Windows的VS +Code远程连接访问Ubuntu环境。 + +4.1 Ubuntu安装SSH服务 +--------------------- + +1.命令安装SSH服务 sudo apt-get install openssh-server + +2. 启动SSH服务 sudo systemctl start ssh + +3.通过 ifconfig 命令查看当前ip, 如果找不到命令,请运行sudo apt-get +install net-tools命令安装。 + +4.2 Windows侧 VS Code安装Remote SSH +------------------------------------ + +如果通过安装VS Code插件安装,已经有了Remote SSH,可以跳过此小节。 + +1. 打开Windows系统下的Visual Studio Code,点击 + ,在插件市场的搜索输入框中输入“remote-ssh”。 + + |image41| + + 1. 点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。 + + |image42| + +4.3 远程连接Ubuntu环境 +---------------------- + +1. 打开Windows系统的Visual Studio Code,点击 ,在SSH TARGETS下,单击+。 + + |image43| + + 1. 在弹出的SSH连接命令输入框中输入“ssh + username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号 + + .. figure:: media/31357ca20c263e8b506c4483ca1c00f1.png + :alt: IMG_271 + + IMG_271 + + 1. 在弹出的输入框中,选择SSH + configuration文件,选择默认的第一选项即可。 + + |image44| + + 1. 打开config文件,输入远程Linux的ip,用户名,密码,端口,保存,右下方会有一个弹窗提示是否保存,点击保存后,点击刷新\ |image45|\ , + 该远程计算机就会出现在右侧SSH TARGETS列表下 + +- 在SSH TARGETS中,找到远程计算机,点击 + ,打开远程计算机。(需要确保远程计算机开启了SSH服务,否则会连接失败)(ssh + user[@192.168.56.101](mailto:hy6572@192.168.56.101)) + + Ubuntu导入镜像环境: + +账号:user 密码:qwer1234 + +虚拟网卡IP : 192.168.56.101 + +1. |image46| + + 1. 首次连接时,在弹出的输入框中选择Linux,然后再选择Continue,然后输入登录远程计算机的密码。在Windows系统远程访问Ubuntu过程中,需要频繁的输入密码进行连接,为解决该问题,您可以使用SSH公钥来进行设置,设置方法请参考配置公钥免密登录。 + + .. figure:: media/9b1f1793e8e525cd6e48c2e183c8ad57.png + :alt: IMG_275 + + IMG_275 + + 1. 连接成功后,等待VS Code在远程计算机自动安装插件。同时,QSemOS + IDE插件活动时会自动检测后台依赖包gbapio的版本及有无安装,并自动安装更新后台依赖包。还会有自动检测依赖的其他插件有无安装,并提示用户进行安装,用户按右下角提示进行安装即可。 + + |image47| + + 1. 安装完成后,根据界面提示在Windows系统下重新加载Visual Studio + Code,便可以打开软实时、硬实时、混合部署插件的界面进行源码开发、编译、烧录等操作。 + + 至此,环境搭建完成,如下图所示,左下角显示远程连接Linux系统IP地址 + + |image48| + +5 更新插件工具 +============== + +使用QSemOS-HRT工具包,Linux环境和windows环境均需要更新 + +5.1 Linux环境 +-------------- + +注意: + +QSemOS-HRT仅适用于硬实时插件,软实时和混合部署插件只需要步骤3)更新插件即可。 + +1. 整包更新,将QSemOS-HRT,拷贝到主机中,依次执行以下命令:(只更新后端服务请直接跳到下一步) + + sh uninstall_linux.sh (卸载) + + sh installer_deps_linux.sh (安装) + + sh check_linux.sh (检查后端服务是否能成功启动) + + 1. 只更新后端服务不更新依赖包,只需把QSemOS-HRT文件夹下的qsemos_hrt-{version}-py3-none-any.whl文件删除替换为最新版本的即可,替换完需执行如下命令: + + python3 qsemos-hrt-installer.py + + 1. 卸载Linux上旧的插件,参考卸载插件- + `6.1 Linux环境`_\ 操作。 + + 1. 更新vsix插件,建议将插件拷贝到Linux中,然后远程连接机器后通过如下图方法安装更新。 + + |image49| + +更新完毕,重新启动VS Code。 + +5.2 Windows环境 +--------------- + +1. 参考卸载插件\ `6.2 Windows环境`_\ 卸载步骤,卸载Windows上旧的插件。 + + 1. 更新vsix插件,如下图所示选择插件安装。 + + |image50| + +6 卸载插件 +========== + +.. _linux环境-1: + +6.1 Linux环境 +------------- + +注意: + +软实时和混合部署插件只需要在VS +Code中卸载Linux环境中对应的插件即可,注意插件位于远程Linux的已安装列表中。 + +|image51| + +硬实时插件除了卸载插件外,需要执行QSemOS-HRT下脚本清理环境。 + +sh uninstall_linux.sh + +.. _windows环境-1: + +6.2 Windows环境 +--------------- + +删除Windows VS Code插件,注意插件位于本地Windows的已安装列表中。 + +|image52| + +硬实时插件除了卸载插件外,还需要双击工具包QSemOS-HRT下uninstall_win.bat文件,清理Windows的安装环境 + +7 常见问题 +========== + +7.1 硬实时插件安装依赖 +---------------------- + +使用硬实时插件需要确保Ubuntu环境的依赖已经安装成功,本章节提供自动和手动的方式安装依赖。 + +**前置条件** + +厂家提供的软件包包含需要安装的相关依赖,安装前准备好QSemOS-HRT.zip + +**配置Ubuntu环境** + +1. 自动安装 + +将QSemOS-HRT.zip拷贝到Ubuntu环境中(一般可以放在用户的home目录下即可,如/home/$用户名/),并解压文件夹。文件夹中包含安装过程中使用到的工具和软件包。 + +|image53| + +**警告\ 注意:** + +非第一次安装的情况下(包括安装失败的情况),安装前进入Ubuntu环境执行卸载脚本uninstall_linux.sh(若提示没有权限先执行sudo +chmod +x uninstall_linux.sh赋权) + +**警告\ 注意:** + +安装过程需要主机可连网且具有sudo权限,如无法提供网络和sudo权限,请参考手动安装方法,根据实际环境安装对应软件包。 + +- 对文件进行赋权。 + + sudo chmod +x installer_deps_linux.sh + +- 执行如下命令安装。 + + sh installer_deps_linux.sh + +- 安装结束后,执行check脚本检查是否安装成功 + + sh check_linux.sh + +|image54| + +1. **手动安装** + +(如果自动安装成功后,本章节可以忽略) + +- **环境准备** + +以Ubuntu 22.04.4 LTS为例,安装过程需要主机可连网且具有sudo权限。 + +- **安装Python 3.10,及setuptools,wheel等库** + + sudo apt update + + sudo apt-get install python3 python3-pip python3-venv + + pip install setuptools wheel + + sudo apt install sshpass + +- **安装gdb-multiarch工具,版本12以上** + + sudo apt install gdb-multiarch + +- **安装Docker,版本18以上** + + sudo apt install docker docker.io + +- **配置docker服务** + + 1. 启动Docker服务: + + sudo systemctl start docker + + 2. 验证安装是否成功: + + sudo docker –version + + 3. 将当前用户添加到docker组中,以避免每次运行docker命令时都需要sudo权限: + + sudo usermod -aG docker $USER + + 4. 重新登录:为了使用户组更改生效,请注销并重新登录或者输入以下命令: + + su - $USER + + 5. 配置远程服务: + + sudo vim /usr/lib/systemd/system/docker.service + +在[Service]这个部分,注释掉原来的ExecStart,加上下面这个参数 + ++-----------------------------------------------------------------------+ +| [Service] ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H | +| unix://var/run/docker.sock | ++=======================================================================+ ++-----------------------------------------------------------------------+ + +1. 重启服务: + + sudo systemctl daemon-reload + + sudo systemctl restart docker + + 1. 查看docker进程: + + sudo ps -ef \| grep docker + +- **安装后端服务** + +进入QSemOS-HRT目录执行命令行 + +python3 qsemos-hrt-installer.py + +|image55| + +如果出现报错,请删除$home/.gba-ncti/hard-real-time目录重试 + +- **安装qemu,版本8以上** + +在QSemOS-HRT\tools目录下qemu_8.2.6-1_amd64.deb安装包,执行命令 + +sudo apt-get install -y libpixman-1-dev + +sudo dpkg -i qemu_8.2.6-1_amd64.deb + +Ubuntu环境依赖安装结束,参考软实时和混合部署一键安装或手动安装插件的方法,在VS +Code中安装硬实时插件到Ubuntu环境中,完成硬实时插件的安装。安装完成后,右下角会有弹窗提示重新加载VS +Code,插件才会生效 + +7.2 Virtual Box安装常见问题 +--------------------------- + +7.2.1 安装过程中如果出现缺少Visual C++2019环境 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|image56| + +解决方法:运行VC_redist.x64.exe 安装Visual C++2019环境 + +使用提供的VC_redist.x64.exe,或者通过下载链接安装: + +https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe + +7.2.2 安装过程中如果出现缺少pywin32 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|image57| + +解决方法:Window命令行窗口运行:pip install pywin32 + +如果window未安装python以及pip,请安装python3.10或者python3.11版本。 + +7.2.3 虚拟机启动过程桥接网卡不一致 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|image58| + +只需要关闭虚拟电脑,选中虚拟机,右键-设置-网络-网卡, + +- 找到桥接的网卡改为本地电脑的联网的网卡,确定即可。 +- 如果不需要桥接模式(桥接模式主要用于多人共用一台的场景),可以把启用网络连接的\ |image59|\ 取消,点击确认即可启动。 + +|image60| + +7.3 配置公钥免密登录 +-------------------- + +1. Window端生成秘钥 + +Window 打开 Cmd, 运行 ssh-keygen -t rsa , +然后一直点击Enter,生成id_rsa.pub + +|image61| + +1. 拷贝~/.ssh/id_rsa.pub 到Linux 服务器下。 + + 1. 运行 cat id_rsa.pub >> ~/.ssh/authorized_keys + + 1. 修改文件目录权限 + + chmod 600 ~/.ssh/authorized_keys + + chmod 700 ~/.ssh + + 1. 修改sshd配置 + + sudo vim /etc/ssh/sshd_config + + 确认这三句开启 + ++-----------------------------------------------------------------------+ +| RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile | +| .ssh/authorized_keys | ++=======================================================================+ ++-----------------------------------------------------------------------+ + +保存退出 + +1. 重启SSHD服务。 sudo service sshd restart + +7.通过Vs code再次尝试连接,即可成功 + +7.4 Virtual Box设置桥接网络 +--------------------------- + +桥接网络设置可用于多台主机需要访问同一台Linux服务器时使用。如不需要,请跳过此章节 + +1. 首先进入设置 + +|image62| + +2. +进入网络网卡设置,将网卡3启用设置为桥接模式,桥接网卡为用户连接公司网络的网卡。(因为我用wifi连接公司网,所以选的是wifi网卡),选好后点击确定。(PS:可以把网卡1以及2的启用网络连接关闭)\ |image63| + +3. 启动虚拟机,通过ifconfig -a +看到网卡3对应的是enp0s9,修改/etc/netplan/50-cloud-init.yaml 网卡配置文件 + +|image64| + +1. 配置文件修改如下 + +|image65| + +ip地址 address,route网关需要根据选择桥接的网卡相同网段的一个访问ip。 + +以下是我的window的桥接的wifi网卡。可以看到我新配置的ip与桥接网卡是一个网段 + +|image66| + ++-----------------------------------------------------------------------+ +| network: ethernets: enp0s3: dhcp4: no addresses: [192.168.56.101/24] | +| enp0s8: dhcp4: true enp0s9: dhcp4: no addresses: [172.16.38.165/21] | +| routes: # 设置网关地址 - to: default via: 172.16.38.1 nameservers: | +| addresses: [8.8.8.8, 114.114.114.114] version: 2 | ++=======================================================================+ ++-----------------------------------------------------------------------+ + +1. 运行 sudo netplan apply生效,桥接网络部署完成。 + +|image67| + +注意事项: +如果设置好了后连接失败,请确认内部网络是否有防火墙或者路由网关是否有网络拦截策略。 + +.. |image0| image:: media/47f93bc56aff7c84546db533d0c23418.jpeg +.. |image1| image:: media/a5b0b03c9df4654712c91efc9c56abbd.png +.. |image2| image:: media/15ed462d6ee2b39efc3fb0ab7602b244.png +.. |image3| image:: media/0e8988023b8a676441f6b27107e063c8.png +.. |image4| image:: media/168d95845a3f55027915d8e8fa4b0304.png +.. |image5| image:: media/a68be06279673c3d0ff4b0307ac1e013.png +.. |image6| image:: media/2dbaaa1bcadf3357c8b0e84950a5e3ab.png +.. |image7| image:: media/b2205e17210e409a54161d135d5eddd4.png +.. |image8| image:: media/f682ee2df2ec9ba11364c5801ef50a49.png +.. |image9| image:: media/3a6cd4d4470d1396d4d24824769f8715.png +.. |image10| image:: media/9bc28fc8685378090868ac34a679f818.png +.. |image11| image:: media/dabe04500e0aa452b9efa95592677abc.png +.. |image12| image:: media/2db12f0fe3185e8bd36bcae5b9e469a3.png +.. |image13| image:: media/34f1d593c69dcb8c3e677e1be821bffb.png +.. |image14| image:: media/8ea9f435c9ba777245d67bdada11a7d6.png +.. |image15| image:: media/c2d9b4a11b2380ca3bb5787caef8cc01.png +.. |警告| image:: media/54ef44c6fcd4ac78d5acf5187e7aeefc.png +.. |image17| image:: media/80d424701302062185b17d91808f6ac1.png +.. |image18| image:: media/0d18544b3a8f61992a9fc48c0f0f0dcf.png +.. |image19| image:: media/8534d4da7eae70effb51640121e42105.png +.. |image20| image:: media/c73fe4541e30aa4f23dc41b980c4fd67.png +.. |image21| image:: media/54641333d72fd1b888c57bd531ed9cff.png +.. |image22| image:: media/c885ef9a01cb66249795bf241369fb07.png +.. |image23| image:: media/1fb00cda3d6c8ea5cd18c7fac65548f7.png +.. |image24| image:: media/643896d02b89aaa4d003cf07c400915f.png +.. |image25| image:: media/0d18544b3a8f61992a9fc48c0f0f0dcf.png +.. |image26| image:: media/0ae15af34568a50e7b388d6cc9a4f8c1.png +.. |image27| image:: media/366eff32e98329c268264eae3703aecb.png +.. |image28| image:: media/d7617dcc3acb6d284063ef754463f46b.png +.. |image29| image:: media/b59e54bab5895e0361f5098ee23b3312.png +.. |image30| image:: media/2bfd6990686575093d742fd7bbaa621d.png +.. |image31| image:: media/1d8c392aec69cf41408540a274a93547.png +.. |image32| image:: media/517e7d2ae77ccfef9a69e7427c63df3f.png +.. |image33| image:: media/11b49067c41afdbb85e7b627e5572b27.png +.. |image34| image:: media/82cd28d5cbdf31691b8762a4845a12cb.png +.. |image35| image:: media/2b5e932af79424fbcc581d380c9a62e6.png +.. |image36| image:: media/2bd21c779e80e00d3a69cfc2c7799bc4.png +.. |image37| image:: media/ad2ea2d5e7912bab04fc37b8c078a720.png +.. |image38| image:: media/9ab8d25446142a56426585eb3279ea1d.png +.. |image39| image:: media/5f06f2819394d6adc549896f5d8843c3.png +.. |image40| image:: media/cf66cb004c22003676bee0ed1d31dd96.png +.. |image41| image:: media/68e48729d7ef538914234ad0ef8c2d5b.png +.. |image42| image:: media/68d70be2b157555722726be1481e4fa4.png +.. |image43| image:: media/a9b296095566abee934efe657ea2cea8.png +.. |image44| image:: media/8678000d7c374f845e9339d0693b7fc7.png +.. |image45| image:: media/683244b3c1c68707faea9f7ec85b2efa.png +.. |image46| image:: media/544bbd9bd11bceaf2bd67e0181baf15e.png +.. |image47| image:: media/5290cee0f1509d985b598d3ff313d05c.png +.. |image48| image:: media/d88be7857d0328aba7038314d451b7e1.png +.. |image49| image:: media/a1075dcaed0936e81d8379ed176934ab.png +.. |image50| image:: media/fafea9f786d352c51d4a8ac04d0772dc.png +.. |image51| image:: media/207fb6e1691d5494ebe3a1894d382338.png +.. |image52| image:: media/224d99800dabed82b3dde18387918779.png +.. |image53| image:: media/7fd2e3617819d60fa96846910f7e8fbd.png +.. |image54| image:: media/ce90ff72e6a453c8f5d8b3a898b161d3.jpeg +.. |image55| image:: media/8dc415445e5fd11b5ccebcd949011347.png +.. |image56| image:: media/be6d27505b7e34b7796f2c5fc9174cc1.png +.. |image57| image:: media/8abb04ce5a02ac8bd857271f64182547.png +.. |image58| image:: media/5bf76d63278dec0c9355257db1db22b5.png +.. |image59| image:: media/5f06f2819394d6adc549896f5d8843c3.png +.. |image60| image:: media/cf66cb004c22003676bee0ed1d31dd96.png +.. |image61| image:: media/9c2be283da5c78d80dd4bfeab526de71.png +.. |image62| image:: media/d3a70aab42c74ca2173af07dfe0d8bde.png +.. |image63| image:: media/866792ee28008543036e9f4fa10a58a4.png +.. |image64| image:: media/79bbd15c6727ee140ebe24b1e80121f6.png +.. |image65| image:: media/178556199a972e908da6ef1686693326.png +.. |image66| image:: media/a63a7f1baa287f42be7aa9f0e9485ed1.png +.. |image67| image:: media/6c97f9ca65e08fd8dc0565d773941f1a.png +.. |image68| image:: media/screenshot-20241118-185447.png + diff --git a/docs/source/features/qsemos_ide/installation/media/0ae15af34568a50e7b388d6cc9a4f8c1.png b/docs/source/features/qsemos_ide/installation/media/0ae15af34568a50e7b388d6cc9a4f8c1.png new file mode 100644 index 0000000000000000000000000000000000000000..d36539f2999a1c7de1fb59ab65aa87d13b834c2a Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/0ae15af34568a50e7b388d6cc9a4f8c1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/0d18544b3a8f61992a9fc48c0f0f0dcf.png b/docs/source/features/qsemos_ide/installation/media/0d18544b3a8f61992a9fc48c0f0f0dcf.png new file mode 100644 index 0000000000000000000000000000000000000000..16f3074837571369daef79951740d83b5b9effb9 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/0d18544b3a8f61992a9fc48c0f0f0dcf.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/0e8988023b8a676441f6b27107e063c8.png b/docs/source/features/qsemos_ide/installation/media/0e8988023b8a676441f6b27107e063c8.png new file mode 100644 index 0000000000000000000000000000000000000000..e4fa6ee24b6045bb1827cc187cb71ef6224694cd Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/0e8988023b8a676441f6b27107e063c8.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/11b49067c41afdbb85e7b627e5572b27.png b/docs/source/features/qsemos_ide/installation/media/11b49067c41afdbb85e7b627e5572b27.png new file mode 100644 index 0000000000000000000000000000000000000000..3acdba4c8cbb79381cb4003d22716ead6aee5a49 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/11b49067c41afdbb85e7b627e5572b27.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/15ed462d6ee2b39efc3fb0ab7602b244.png b/docs/source/features/qsemos_ide/installation/media/15ed462d6ee2b39efc3fb0ab7602b244.png new file mode 100644 index 0000000000000000000000000000000000000000..99bc92dd49bd1823257b95863c8e2696ce8ee828 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/15ed462d6ee2b39efc3fb0ab7602b244.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/168d95845a3f55027915d8e8fa4b0304.png b/docs/source/features/qsemos_ide/installation/media/168d95845a3f55027915d8e8fa4b0304.png new file mode 100644 index 0000000000000000000000000000000000000000..af15c7c0ed2726111dc84b2ef6f05e666485f5c3 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/168d95845a3f55027915d8e8fa4b0304.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/178556199a972e908da6ef1686693326.png b/docs/source/features/qsemos_ide/installation/media/178556199a972e908da6ef1686693326.png new file mode 100644 index 0000000000000000000000000000000000000000..420336c4968bf2f3d49361629392efc9949f88d7 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/178556199a972e908da6ef1686693326.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/1d8c392aec69cf41408540a274a93547.png b/docs/source/features/qsemos_ide/installation/media/1d8c392aec69cf41408540a274a93547.png new file mode 100644 index 0000000000000000000000000000000000000000..8d71b3c5b19c2f78cbd654d6485a67f2fd820f94 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/1d8c392aec69cf41408540a274a93547.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/1fb00cda3d6c8ea5cd18c7fac65548f7.png b/docs/source/features/qsemos_ide/installation/media/1fb00cda3d6c8ea5cd18c7fac65548f7.png new file mode 100644 index 0000000000000000000000000000000000000000..3039c207fac4bee7dc1d7b2ede134eae69407ca8 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/1fb00cda3d6c8ea5cd18c7fac65548f7.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/207fb6e1691d5494ebe3a1894d382338.png b/docs/source/features/qsemos_ide/installation/media/207fb6e1691d5494ebe3a1894d382338.png new file mode 100644 index 0000000000000000000000000000000000000000..1e97d80b61f0c869a6e79b96fc3566e2f353185d Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/207fb6e1691d5494ebe3a1894d382338.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/224d99800dabed82b3dde18387918779.png b/docs/source/features/qsemos_ide/installation/media/224d99800dabed82b3dde18387918779.png new file mode 100644 index 0000000000000000000000000000000000000000..5687002aa5043c82e1a28ce1b125a6e74a25c274 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/224d99800dabed82b3dde18387918779.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/2b5e932af79424fbcc581d380c9a62e6.png b/docs/source/features/qsemos_ide/installation/media/2b5e932af79424fbcc581d380c9a62e6.png new file mode 100644 index 0000000000000000000000000000000000000000..2e0ca2d462c83d86c0609b3e7c8f1b373205e7dd Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/2b5e932af79424fbcc581d380c9a62e6.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/2bd21c779e80e00d3a69cfc2c7799bc4.png b/docs/source/features/qsemos_ide/installation/media/2bd21c779e80e00d3a69cfc2c7799bc4.png new file mode 100644 index 0000000000000000000000000000000000000000..1f29c4acb7e091c787ce9006ed1df509ad5de56e Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/2bd21c779e80e00d3a69cfc2c7799bc4.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/2bfd6990686575093d742fd7bbaa621d.png b/docs/source/features/qsemos_ide/installation/media/2bfd6990686575093d742fd7bbaa621d.png new file mode 100644 index 0000000000000000000000000000000000000000..485337a3a3d4b0a4479f8d4b6aa8f935ed56b683 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/2bfd6990686575093d742fd7bbaa621d.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/2db12f0fe3185e8bd36bcae5b9e469a3.png b/docs/source/features/qsemos_ide/installation/media/2db12f0fe3185e8bd36bcae5b9e469a3.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a460730d286f0b3ef95b7586e43adb0fe785a6 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/2db12f0fe3185e8bd36bcae5b9e469a3.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/2dbaaa1bcadf3357c8b0e84950a5e3ab.png b/docs/source/features/qsemos_ide/installation/media/2dbaaa1bcadf3357c8b0e84950a5e3ab.png new file mode 100644 index 0000000000000000000000000000000000000000..998661376f65099211ba1b85daec13b380f5bf8d Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/2dbaaa1bcadf3357c8b0e84950a5e3ab.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/31357ca20c263e8b506c4483ca1c00f1.png b/docs/source/features/qsemos_ide/installation/media/31357ca20c263e8b506c4483ca1c00f1.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2abb322f686beae3152cb08cf6ddf44da85052 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/31357ca20c263e8b506c4483ca1c00f1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/34f1d593c69dcb8c3e677e1be821bffb.png b/docs/source/features/qsemos_ide/installation/media/34f1d593c69dcb8c3e677e1be821bffb.png new file mode 100644 index 0000000000000000000000000000000000000000..800e52a2b18cb8d26ee653f0bd280fe2798ffa44 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/34f1d593c69dcb8c3e677e1be821bffb.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/366eff32e98329c268264eae3703aecb.png b/docs/source/features/qsemos_ide/installation/media/366eff32e98329c268264eae3703aecb.png new file mode 100644 index 0000000000000000000000000000000000000000..a8533751dfcb33007131514b67e574a9a5c157b0 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/366eff32e98329c268264eae3703aecb.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/3a6cd4d4470d1396d4d24824769f8715.png b/docs/source/features/qsemos_ide/installation/media/3a6cd4d4470d1396d4d24824769f8715.png new file mode 100644 index 0000000000000000000000000000000000000000..2d30a6b0d6c285b78d8a33b1e10a0e2e40cc7950 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/3a6cd4d4470d1396d4d24824769f8715.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/47f93bc56aff7c84546db533d0c23418.jpeg b/docs/source/features/qsemos_ide/installation/media/47f93bc56aff7c84546db533d0c23418.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9b918f32fb13bb31d8b43e30cce926e693bdec94 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/47f93bc56aff7c84546db533d0c23418.jpeg differ diff --git a/docs/source/features/qsemos_ide/installation/media/517e7d2ae77ccfef9a69e7427c63df3f.png b/docs/source/features/qsemos_ide/installation/media/517e7d2ae77ccfef9a69e7427c63df3f.png new file mode 100644 index 0000000000000000000000000000000000000000..adbf9f1f7a94438d8bd22bdb979faf7c6b6d12ec Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/517e7d2ae77ccfef9a69e7427c63df3f.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/5290cee0f1509d985b598d3ff313d05c.png b/docs/source/features/qsemos_ide/installation/media/5290cee0f1509d985b598d3ff313d05c.png new file mode 100644 index 0000000000000000000000000000000000000000..d850e477fb6423e88559c85e846b65a9a38589bb Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/5290cee0f1509d985b598d3ff313d05c.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/544bbd9bd11bceaf2bd67e0181baf15e.png b/docs/source/features/qsemos_ide/installation/media/544bbd9bd11bceaf2bd67e0181baf15e.png new file mode 100644 index 0000000000000000000000000000000000000000..beb0495d9b77c41cedc746b22eece159b9f43c91 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/544bbd9bd11bceaf2bd67e0181baf15e.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/54641333d72fd1b888c57bd531ed9cff.png b/docs/source/features/qsemos_ide/installation/media/54641333d72fd1b888c57bd531ed9cff.png new file mode 100644 index 0000000000000000000000000000000000000000..f9068eed7ba6921c84074bc259b7a94ee1392447 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/54641333d72fd1b888c57bd531ed9cff.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/54ef44c6fcd4ac78d5acf5187e7aeefc.png b/docs/source/features/qsemos_ide/installation/media/54ef44c6fcd4ac78d5acf5187e7aeefc.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb5f852a5eb4ce024cfefc3f2062d1decd0532d Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/54ef44c6fcd4ac78d5acf5187e7aeefc.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/5bf76d63278dec0c9355257db1db22b5.png b/docs/source/features/qsemos_ide/installation/media/5bf76d63278dec0c9355257db1db22b5.png new file mode 100644 index 0000000000000000000000000000000000000000..e7a66ac10c35d9c10352c48ccde7bf4fe3565e87 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/5bf76d63278dec0c9355257db1db22b5.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/5f06f2819394d6adc549896f5d8843c3.png b/docs/source/features/qsemos_ide/installation/media/5f06f2819394d6adc549896f5d8843c3.png new file mode 100644 index 0000000000000000000000000000000000000000..af17142a3eebf91107a7790b73651cca296eb68f Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/5f06f2819394d6adc549896f5d8843c3.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/643896d02b89aaa4d003cf07c400915f.png b/docs/source/features/qsemos_ide/installation/media/643896d02b89aaa4d003cf07c400915f.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd9801c484b731c3e0d3d811c0f9edbce949407 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/643896d02b89aaa4d003cf07c400915f.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/683244b3c1c68707faea9f7ec85b2efa.png b/docs/source/features/qsemos_ide/installation/media/683244b3c1c68707faea9f7ec85b2efa.png new file mode 100644 index 0000000000000000000000000000000000000000..1daf19366b6acdf561be324f98bcab0f60bc83bb Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/683244b3c1c68707faea9f7ec85b2efa.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/68d70be2b157555722726be1481e4fa4.png b/docs/source/features/qsemos_ide/installation/media/68d70be2b157555722726be1481e4fa4.png new file mode 100644 index 0000000000000000000000000000000000000000..d949b52c762d8abcb6f20af2879746cf7f71dc94 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/68d70be2b157555722726be1481e4fa4.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/68e48729d7ef538914234ad0ef8c2d5b.png b/docs/source/features/qsemos_ide/installation/media/68e48729d7ef538914234ad0ef8c2d5b.png new file mode 100644 index 0000000000000000000000000000000000000000..7958be0275c5b6823b4296a9478e33387be228d1 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/68e48729d7ef538914234ad0ef8c2d5b.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/6c97f9ca65e08fd8dc0565d773941f1a.png b/docs/source/features/qsemos_ide/installation/media/6c97f9ca65e08fd8dc0565d773941f1a.png new file mode 100644 index 0000000000000000000000000000000000000000..311c6f22c46947d0c91e04858a378557235f89ae Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/6c97f9ca65e08fd8dc0565d773941f1a.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/79bbd15c6727ee140ebe24b1e80121f6.png b/docs/source/features/qsemos_ide/installation/media/79bbd15c6727ee140ebe24b1e80121f6.png new file mode 100644 index 0000000000000000000000000000000000000000..43a90addbd9b8d03d446209a7d4939489927afc2 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/79bbd15c6727ee140ebe24b1e80121f6.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/7fd2e3617819d60fa96846910f7e8fbd.png b/docs/source/features/qsemos_ide/installation/media/7fd2e3617819d60fa96846910f7e8fbd.png new file mode 100644 index 0000000000000000000000000000000000000000..289ab8b36ece8542008eea8f8ace8d12a41bc5e4 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/7fd2e3617819d60fa96846910f7e8fbd.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/80d424701302062185b17d91808f6ac1.png b/docs/source/features/qsemos_ide/installation/media/80d424701302062185b17d91808f6ac1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c526b1ca84f5ffab49371dfdd8cdbc0ba562864 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/80d424701302062185b17d91808f6ac1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/82cd28d5cbdf31691b8762a4845a12cb.png b/docs/source/features/qsemos_ide/installation/media/82cd28d5cbdf31691b8762a4845a12cb.png new file mode 100644 index 0000000000000000000000000000000000000000..913bc0677313e1f1eef51a0f5efd12f0e8152f9b Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/82cd28d5cbdf31691b8762a4845a12cb.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/8534d4da7eae70effb51640121e42105.png b/docs/source/features/qsemos_ide/installation/media/8534d4da7eae70effb51640121e42105.png new file mode 100644 index 0000000000000000000000000000000000000000..22a5e5fd4c926ba045f16984bcda0f822fc349a0 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/8534d4da7eae70effb51640121e42105.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/866792ee28008543036e9f4fa10a58a4.png b/docs/source/features/qsemos_ide/installation/media/866792ee28008543036e9f4fa10a58a4.png new file mode 100644 index 0000000000000000000000000000000000000000..077d03786dd0f19ad0c6747d57cdb5e018a2502a Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/866792ee28008543036e9f4fa10a58a4.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/8678000d7c374f845e9339d0693b7fc7.png b/docs/source/features/qsemos_ide/installation/media/8678000d7c374f845e9339d0693b7fc7.png new file mode 100644 index 0000000000000000000000000000000000000000..4371c1379fbe12ff486295f9353139a606fdd8e2 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/8678000d7c374f845e9339d0693b7fc7.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/8abb04ce5a02ac8bd857271f64182547.png b/docs/source/features/qsemos_ide/installation/media/8abb04ce5a02ac8bd857271f64182547.png new file mode 100644 index 0000000000000000000000000000000000000000..80890644016bf21886a918de80b779dfdc888804 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/8abb04ce5a02ac8bd857271f64182547.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/8dc415445e5fd11b5ccebcd949011347.png b/docs/source/features/qsemos_ide/installation/media/8dc415445e5fd11b5ccebcd949011347.png new file mode 100644 index 0000000000000000000000000000000000000000..1b5030fdb61b1d09e4b2264f5ee33c3eba2f56c3 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/8dc415445e5fd11b5ccebcd949011347.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/8ea9f435c9ba777245d67bdada11a7d6.png b/docs/source/features/qsemos_ide/installation/media/8ea9f435c9ba777245d67bdada11a7d6.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7d4aefd88d64773be01c7d450be4454c446c3f Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/8ea9f435c9ba777245d67bdada11a7d6.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/9ab8d25446142a56426585eb3279ea1d.png b/docs/source/features/qsemos_ide/installation/media/9ab8d25446142a56426585eb3279ea1d.png new file mode 100644 index 0000000000000000000000000000000000000000..adce3c64ef836341c11ab2db8c29f78979f63cf6 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/9ab8d25446142a56426585eb3279ea1d.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/9b1f1793e8e525cd6e48c2e183c8ad57.png b/docs/source/features/qsemos_ide/installation/media/9b1f1793e8e525cd6e48c2e183c8ad57.png new file mode 100644 index 0000000000000000000000000000000000000000..b82992deafe6c00ebf51acc9b61c7f5ef98a2d99 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/9b1f1793e8e525cd6e48c2e183c8ad57.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/9bc28fc8685378090868ac34a679f818.png b/docs/source/features/qsemos_ide/installation/media/9bc28fc8685378090868ac34a679f818.png new file mode 100644 index 0000000000000000000000000000000000000000..aa74eea95650bc652622a06b1b24844eb38e0425 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/9bc28fc8685378090868ac34a679f818.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/9c2be283da5c78d80dd4bfeab526de71.png b/docs/source/features/qsemos_ide/installation/media/9c2be283da5c78d80dd4bfeab526de71.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8c02906d534fefe5acc7b904fea734835ab9af Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/9c2be283da5c78d80dd4bfeab526de71.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/a1075dcaed0936e81d8379ed176934ab.png b/docs/source/features/qsemos_ide/installation/media/a1075dcaed0936e81d8379ed176934ab.png new file mode 100644 index 0000000000000000000000000000000000000000..202b82d6df8957686d36881999a59c50513b2c82 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/a1075dcaed0936e81d8379ed176934ab.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/a5b0b03c9df4654712c91efc9c56abbd.png b/docs/source/features/qsemos_ide/installation/media/a5b0b03c9df4654712c91efc9c56abbd.png new file mode 100644 index 0000000000000000000000000000000000000000..7978c7d0b3e08257ccf40bbe883f2a21b97d24d2 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/a5b0b03c9df4654712c91efc9c56abbd.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/a63a7f1baa287f42be7aa9f0e9485ed1.png b/docs/source/features/qsemos_ide/installation/media/a63a7f1baa287f42be7aa9f0e9485ed1.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5d461a7d9707153999bc130ec85ac0dc54bb8e Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/a63a7f1baa287f42be7aa9f0e9485ed1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/a68be06279673c3d0ff4b0307ac1e013.png b/docs/source/features/qsemos_ide/installation/media/a68be06279673c3d0ff4b0307ac1e013.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d3dbfd8832ebb71a00f4f035f141adc6785b11 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/a68be06279673c3d0ff4b0307ac1e013.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/a9b296095566abee934efe657ea2cea8.png b/docs/source/features/qsemos_ide/installation/media/a9b296095566abee934efe657ea2cea8.png new file mode 100644 index 0000000000000000000000000000000000000000..5b203afb910cbef8dd199d23c22128c639771e63 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/a9b296095566abee934efe657ea2cea8.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/ad2ea2d5e7912bab04fc37b8c078a720.png b/docs/source/features/qsemos_ide/installation/media/ad2ea2d5e7912bab04fc37b8c078a720.png new file mode 100644 index 0000000000000000000000000000000000000000..76cab94c410cd92bf2f0283230f9997471cc8802 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/ad2ea2d5e7912bab04fc37b8c078a720.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/b2205e17210e409a54161d135d5eddd4.png b/docs/source/features/qsemos_ide/installation/media/b2205e17210e409a54161d135d5eddd4.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7a692bbbd520f6c57dace26a4f96473cf0b6e2 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/b2205e17210e409a54161d135d5eddd4.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/b59e54bab5895e0361f5098ee23b3312.png b/docs/source/features/qsemos_ide/installation/media/b59e54bab5895e0361f5098ee23b3312.png new file mode 100644 index 0000000000000000000000000000000000000000..2a19361dba48734a67f0a901a3e50cab15dedd5a Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/b59e54bab5895e0361f5098ee23b3312.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/be6d27505b7e34b7796f2c5fc9174cc1.png b/docs/source/features/qsemos_ide/installation/media/be6d27505b7e34b7796f2c5fc9174cc1.png new file mode 100644 index 0000000000000000000000000000000000000000..890f53f16683f14c41b4c33f56290a049e8dc146 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/be6d27505b7e34b7796f2c5fc9174cc1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/c2d9b4a11b2380ca3bb5787caef8cc01.png b/docs/source/features/qsemos_ide/installation/media/c2d9b4a11b2380ca3bb5787caef8cc01.png new file mode 100644 index 0000000000000000000000000000000000000000..c21838d454e4dff267626fb16de48cf0bd213704 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/c2d9b4a11b2380ca3bb5787caef8cc01.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/c73fe4541e30aa4f23dc41b980c4fd67.png b/docs/source/features/qsemos_ide/installation/media/c73fe4541e30aa4f23dc41b980c4fd67.png new file mode 100644 index 0000000000000000000000000000000000000000..31502a8f4ffeeb9167d6d3442321f2c66c8ac157 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/c73fe4541e30aa4f23dc41b980c4fd67.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/c885ef9a01cb66249795bf241369fb07.png b/docs/source/features/qsemos_ide/installation/media/c885ef9a01cb66249795bf241369fb07.png new file mode 100644 index 0000000000000000000000000000000000000000..3b7a3333fff5d33e73407d3b4a44409028d081cc Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/c885ef9a01cb66249795bf241369fb07.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/ce90ff72e6a453c8f5d8b3a898b161d3.jpeg b/docs/source/features/qsemos_ide/installation/media/ce90ff72e6a453c8f5d8b3a898b161d3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1fed3ce96bb906f8666ae31bd3e7f8a993697430 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/ce90ff72e6a453c8f5d8b3a898b161d3.jpeg differ diff --git a/docs/source/features/qsemos_ide/installation/media/cf66cb004c22003676bee0ed1d31dd96.png b/docs/source/features/qsemos_ide/installation/media/cf66cb004c22003676bee0ed1d31dd96.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b18f27084556f77b4a8030aadcc22a0838f0f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/cf66cb004c22003676bee0ed1d31dd96.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/d3a70aab42c74ca2173af07dfe0d8bde.png b/docs/source/features/qsemos_ide/installation/media/d3a70aab42c74ca2173af07dfe0d8bde.png new file mode 100644 index 0000000000000000000000000000000000000000..4c95a0884f45d5c3d9868f664a7609d87032f4a3 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/d3a70aab42c74ca2173af07dfe0d8bde.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/d7617dcc3acb6d284063ef754463f46b.png b/docs/source/features/qsemos_ide/installation/media/d7617dcc3acb6d284063ef754463f46b.png new file mode 100644 index 0000000000000000000000000000000000000000..008f5f621561293df444fda537461a69e0568998 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/d7617dcc3acb6d284063ef754463f46b.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/d88be7857d0328aba7038314d451b7e1.png b/docs/source/features/qsemos_ide/installation/media/d88be7857d0328aba7038314d451b7e1.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1bd23f49a879dcde2636699efa36bb06ea7904 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/d88be7857d0328aba7038314d451b7e1.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/dabe04500e0aa452b9efa95592677abc.png b/docs/source/features/qsemos_ide/installation/media/dabe04500e0aa452b9efa95592677abc.png new file mode 100644 index 0000000000000000000000000000000000000000..2b25490f96f9407e428349205e056a9ff172e7c2 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/dabe04500e0aa452b9efa95592677abc.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/f682ee2df2ec9ba11364c5801ef50a49.png b/docs/source/features/qsemos_ide/installation/media/f682ee2df2ec9ba11364c5801ef50a49.png new file mode 100644 index 0000000000000000000000000000000000000000..b769224e29e966e5f139676371cc58d8f3b7fc49 Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/f682ee2df2ec9ba11364c5801ef50a49.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/fafea9f786d352c51d4a8ac04d0772dc.png b/docs/source/features/qsemos_ide/installation/media/fafea9f786d352c51d4a8ac04d0772dc.png new file mode 100644 index 0000000000000000000000000000000000000000..c441518092323f9fcf838ada9412b76cf0442c4e Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/fafea9f786d352c51d4a8ac04d0772dc.png differ diff --git a/docs/source/features/qsemos_ide/installation/media/screenshot-20241118-185447.png b/docs/source/features/qsemos_ide/installation/media/screenshot-20241118-185447.png new file mode 100644 index 0000000000000000000000000000000000000000..34b862cc6d47992f13706ae7989f99d4993b035a Binary files /dev/null and b/docs/source/features/qsemos_ide/installation/media/screenshot-20241118-185447.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/index.rst b/docs/source/features/qsemos_ide/soft_realtime_plugin/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..c8c3cf40e6f73182311394c2cff6dae280d5b790 --- /dev/null +++ b/docs/source/features/qsemos_ide/soft_realtime_plugin/index.rst @@ -0,0 +1,2043 @@ +QSemOS-Soft-RealTime-plugin使用指南 +==================================== + +目录 +----- + +`1.1 工具简介`_ + +`1.2 快速开始`_ + + `1.2.1 搭建开发环境流程`_ + + `1.2.2 插件工作流程说明`_ + +`1.3 工程管理`_ + + `1.3.1 创建工程`_ + + `1.3.1.1 创建通用工程`_ + + `1.3.1.2 创建Linux内核工程`_ + + `1.3.1.3 Rootfs内核镜像编辑工程`_ + + `1.3.1.4 创建OpenEuler Yocto工程`_ + + `1.3.1.5 创建C工程`_ + + `1.3.1.6 创建C++工程`_ + + `1.3.2 导入工程`_ + + `1.3.3 克隆工程`_ + + `1.3.4 头/源文件添加Makefile`_ + + `1.3.4.1 头文件添加Makefile`_ + + `1.3.4.2 源文件添加Makefile`_ + +`1.4 代码编辑`_ + + `1.4.1 C/C++代码编辑`_ + +`1.5 调试`_ + + `1.5.1 调试能力介绍`_ + + `1.5.2 GDB调试`_ + +`1.6 编译构建`_ + + `1.6.1 Linux内核工程构建`_ + + `1.6.2 OpenEuler Yocto工程构建`_ + + `1.6.3 C/C++工程构建`_ + + `1.6.4 Rootfs工程构建`_ + + `1.6.5 重新构建Rebuild`_ + +`1.7 仿真`_ + +`1.8 代码烧录`_ + + `1.8.1 烧录RK3568开发板镜像`_ + +`1.9 管维工具`_ + +`1.10 命令行工具`_ + +1.1 工具简介 +------------ + +**QSemOS-Soft-RealTime-plugin**\ 是面向智能设备开发者提供的一站式集成开发环境,支持代码编辑、编译、烧录、调试和仿真等功能,支持C/C++语言,以插件的形式部署在Visual +Studio Code上。 + +|image0| + +**QSemOS-Soft-RealTime-plugin**\ 采用Windows+Ubuntu混合开发环境,在Ubuntu上主要进行代码开发、代码调试、镜像烧录等操作,在Ubuntu环境实现源码编译。其具有以下特点: + +- 支持代码查找、代码高亮、代码自动补齐、代码输入提示、代码检查等,开发者可以轻松、高效编码。 +- 支持开发板,包括目前支持RK3568开发板,后续扩展支持RK3588、飞腾E2000Q、芯驰D9 + Pro、全志A40i等开发板。 +- 支持自动检测各芯片/开发板依赖的工具链是否完备,并提供一键下载和安装缺失工具链。 +- 支持多人共享开发模式,采用基于Remote-SSH模式实现多人共享远程开发,实现一个团队公用一台服务器进行编译、烧录。 +- 支持源码级调试能力,提供查看内存、变量、调用栈、寄存器、反汇编等调试信息。 + +**QSemOS-Soft-RealTime-plugin**\ 工具主要分为如下4个功能区域。 + +|IMG_256|\ :基本功能区 +:\ **QSemOS-Soft-RealTime-plugin**\ 菜单栏,提供基本的工程创建、源码导入、工程配置等功能。 + +|IMG_2571|\ :开发板任务区:在工程界面,提供开发板相关操作任务,如源码的编译、镜像的烧录等。 + +|IMG_2581|\ :代码编辑器:提供代码的查看、编写和调试等开发功能。 + +|IMG_2591|\ :输出控制区:提供日志打印、调试指令输入、命令行指令输入等。 + +|image5| + +1.2 快速开始 +------------- + +1.2.1 搭建开发环境流程 +~~~~~~~~~~~~~~~~~~~~~~ + +通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual +Studio +Code进行代码的开发。但当前阶段,开发板源码还不支持在Windows环境下进行编译,因此,需要使用Ubuntu的编译环境对源码进行编译。 + +在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的\ **QSemOS-Soft-RealTime-plugin**\ (Ubuntu下可以不安装Visual +Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。 + +系统要求 +^^^^^^^^ + +- Windows系统要求:Windows10 64位系统。 +- Ubuntu系统要求:远程linux主机的操作系统推荐发行版是Ubuntu18.04~21.10版本(常用20.04版本),内存16 + GB及以上。 +- 磁盘空间:需要在用户home所以分区有100G的空间。 +- Ubuntu系统的用户名不能包含中文字符。 +- Python版本要求:Python 3.10 + + +搭建Windows环境 +^^^^^^^^^^^^^^^ + +1. 获取\ **QSemOS-Soft-RealTime-plugin**\ 最新插件软件包。 +2. 确保已安装Visual Studio Code 1.8+。 +3. 打开Windows系统下的Visual Studio + Code,点击\ |IMG_266|\ ,在插件市场选择\ **QSemOS-Soft-RealTime-plugin**\ 插件进行安装。 + +|image7| + +1. 至此,\ **QSemOS-Soft-RealTime-plugin**\ 开发环境安装完成。 + +|image8| + +配置Windows远程访问Ubuntu环境 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +安装SSH服务并获取远程访问的IP地址 +''''''''''''''''''''''''''''''''' + +1. 在远程linux主机的Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。 + +**说明** + +如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo +apt-get install +openssh-client=1:8.2p1-4),再重新执行该命令安装openssh-server。 + +sudo apt-get install openssh-server + +1. 执行如下命令,启动SSH服务。 + +sudo systemctl start ssh + +1. 执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。 + +Ifconfig + +**说明** + +如果执行ifconfig命令提示“command-not-found”,请执行sudo apt-get install +net-tools命令安装网络查询工具,然后重新查询IP地址。 + +.. figure:: media/d918bd622a6c3aef8841e71db6eb77d7.png + :alt: IMG_265 + + IMG_265 + +安装Remote SSH +'''''''''''''' + +1. 打开Windows系统下的Visual Studio + Code,点击\ |IMG_266|\ ,在插件市场的搜索输入框中输入“remote-ssh”。 + +.. figure:: media/7bda118becca0c2322c04dd079680089.png + :alt: IMG_267 + + IMG_267 + +1. 点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。 + +|image9| + +远程连接Ubuntu环境 +'''''''''''''''''' + +1. 打开Windows系统的Visual Studio Code,点击\ |IMG_269|\ ,在SSH + TARGETS下,单击+。 + +.. figure:: media/4af12b0282298ea85de30ca42f4fbaf4.png + :alt: IMG_270 + + IMG_270 + +1. 在弹出的SSH连接命令输入框中输入“ssh + username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。 + +.. figure:: media/31357ca20c263e8b506c4483ca1c00f1.png + :alt: IMG_271 + + IMG_271 + +1. 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。 + +.. figure:: media/0690e263022007a57242d3c23e3dad7e.png + :alt: IMG_272 + + IMG_272 + +1. 在SSH TARGETS中,找到远程计算机,点击\ |IMG_273|\ ,打开远程计算机。 + +.. figure:: media/5aafb2ddf682900bf8070cbe66e121b1.png + :alt: IMG_274 + + IMG_274 + +1. 首次连接时,在弹出的输入框中选择Linux,然后再选择Continue,然后输入登录远程计算机的密码,连接远程计算机 + 。 + +**说明** + +在Windows系统远程访问Ubuntu过程中,需要频繁的输入密码进行连接,为解决该问题,您可以使用SSH公钥来进行设置,设置方法请参考注册远程访问Ubuntu环境的公钥。 + +.. figure:: media/9b1f1793e8e525cd6e48c2e183c8ad57.png + :alt: IMG_275 + + IMG_275 + +1. 连接成功后,等待在远程计算机用户目录下的.vscode-server文件夹下自动安装插件。 + +国创IDE插件活动时会自动检测后台依赖包gbapio的版本及有无安装,并自动安装更新后台依赖包。还会有自动检测依赖的其他插件有无安装,并提示用户进行安装,用户按右下角提示进行安装即可。 + +|image12| + +1. 安装完成后,根据界面提示在Windows系统下重新加载Visual Studio + Code,便可以在Windows的\ **QSemOS-Soft-RealTime-plugin**\ 界面进行源码开发、编译、烧录等操作。 + +至此,环境搭建完成,如下图所示,左下角显示远程连接计算机的IP地址。 + +|image13| + +安装编译工具链 +^^^^^^^^^^^^^^ + +要使用插件进行工程构建,要求系统已安装编译工具,常见的编译工具链有GNU和LLVM。 + +GNU 工具链与 LLVM 工具链主要区别如下表: + +========= ============== ================== +**项目** **GNU工具链** LLVM\ **工具链** +========= ============== ================== +C编译器 gcc clang +C++编译器 g++ clang++ +binutils GNU binutils LLVM binutils +汇编器 GNU as 集成汇编器 +链接器 ld.bfd,ld.gold LLVM linker ld.lld +运行时 libgcc compiler-rt +原子操作 libatomic compiler-rt +C语言库 GNU libc glibc LLVM libc +C++标准库 libstdc++ libc++ +C++ABI libsupcxx libc++abi +栈展开 libgcc_s LLVM libunwind +========= ============== ================== + +以下为安装GNU工具链的步骤: + +1. 打开Linaro官方下载页面Downloads \| Linaro,并定位到如图所示位置 + +|image14| + +1. 点击上图红框的链接进入下载文件预览页面 + +|image15| + +选择所需的版本,这里我们以14.0版本为例子,按示例图依次点击进入 + +|image16| + +选择图中红箭头指向的文件进行下载 + +|image17| + +1. 下载完成后务必将该.tar.xz文件移动到Linux系统中进行解压 + +参考命令: + +**tar -xvf** gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu.tar.xz + +1. 解压完成即安装完成。后续使用交叉编译工具时,可填写工具链文件路径。 + +示例填写路径: + +(如果没有配置环境变量 就必须输入全路径) +/home/admin/gnu/gcc-linaro-14.0.0-2023.06-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- + +|image18|\ (图示为编译选项配置,仅展示使用方法,具体编译步骤请参考【编译构建】) + +1.2.2 插件工作流程说明 +~~~~~~~~~~~~~~~~~~~~~~ + +插件运行环境的组成 +^^^^^^^^^^^^^^^^^^ + +当插件安装在windows本地机器时 +''''''''''''''''''''''''''''' + +当\ **QSemOS-Soft-RealTime-plugin**\ 国创软实时大师插件安装在windows本地机器时,插件可在windows本地使用工作,可运行工程创建、工程配置、管维、烧录等都可以正常使用,但当依赖linux环境的构建编译等功能时需要远程到linux上进行使用及运行。 + +当插件安装在远程linux机器时 +''''''''''''''''''''''''''' + +**QSemOS-Soft-RealTime-plugin**\ 国创软实时大师插件更多的场景是为了开发linux的内核及应用等任务,所以会在本地PC的windows系统安装好vscode,之后安装Remote-SSH插件,远程到linux开发主机或服务器中,这时再在远程环境安装\ **QSemOS-Soft-RealTime-plugin**\ 国创软实时大师插件,此时插件的所有操作功能都将在远程的linux的主机上进行。(针对openSumi可能会是另一种场景,将在openSumi版本发布后补充相关场景流程说明) + +插件功能运行工作流程 +^^^^^^^^^^^^^^^^^^^^ + +**QSemOS-Soft-RealTime-plugin**\ 国创软实时大师插件激活运行后的工作流程见下图: + +1.3 工程管理 +------------- + +1.3.1 创建工程 +~~~~~~~~~~~~~~~ + +1.3.1.1 创建通用工程 +^^^^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ 国创软实时大师,进入主页,点击\ **新增工程**\ 创建新工程。 + +|image19| + +1. 进入创建工程向导页,点击选择\ **通用工程**\ 。 + +|image20| + +1. 在通用工程的配置向导页,配置工程相关信息,包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 工程模板:通用工程模板。 + +|image21| + +1. 工程配置完成后,点击完成,会通过调用gbapio命令,根据\ **通用工程模板**\ 创建工程。 + +|image22| + +1.3.1.2 创建Linux内核工程 +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页,点击新增工程创建新工程。 + +|image23| + +1. 进入创建工程向导页,点击选择\ **Linux内核工程**\ 。 + +|image24| + +1. 在Linux内核工程的配置向导页,配置工程相关信息(源码路径选择”在Git + 存储库中”),包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 开发版:选择支持的开发板。(现已支持rk3568,rk3588,全志A40i,飞腾E2000Q,芯驰D9 + Pro,仿真qemu-arm64,仿真qemu-arm) +- 平台架构:选择支持的平台架构。 +- 模板MetaData:选择模板MetaData。 +- 源代码路径:选择在Git存储库中。 +- Git存储库URL:填入URL,可用默认路径。 +- 存储库子目录(可选):暂不填。 +- Git修订版(分支):填入分支名,可用默认。 + +|image25| + +在Linux内核工程的配置向导页,配置工程相关信息(源码路径选择”在本地目录中”),包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 开发版:选择支持的开发板。 +- 平台架构:选择支持的平台架构。 +- 模板MetaData:选择模板MetaData。 +- 源代码路径:选择在本地目录中。 +- 本地目录绝对路径:选择本地源码目录路径。 +- 创建软链接方式:暂不填。 + +|image26| + +1. 工程配置完成后,点击完成,会自动调用gbapio命令,创建工程目录和自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image27| + +1.3.1.3 Rootfs内核镜像编辑工程 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页,点击新增工程创建新工程。 + +|image28| + +1. 进入创建工程向导页,点击选择“rootfs镜像编辑”。 + +|image29| + +1. 1在rootfs工程的配置向导页,配置工程相关信息(选择基础rootfs为”在Git + 存储库中”),包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 选择基础rootfs:在Git 存储库中 +- Git存储库URL:填入URL,可用默认路径。 +- 存储库子目录(可选):暂不填。 +- Git修订版(分支):填入分支名,可用默认。 +- 下载类型:选择输入URL的下载类型 +- 如果下载是zip/tar*文件自动解压:根据下载的源码进行勾选。 + +|image30| + +3.2在rootfs工程的配置向导页,配置工程相关信息(选择基础rootfs为”在本地目录中”),包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 选择基础rootfs:在本地目录中。 +- 本地目录绝对路径:选择本地源码目录路径。 +- 创建软链接方式:暂不填。 + +|image31| + +4.填写完配置,点击下一步,进入”选择及增加软件(RPM)包”向导页,配置相关信息,包括: + +- 文件系统映射目录:输入文件系统映射目录名称,默认为“FSmount”。 +- 软件包存放到fs位置:输入rpm软件包存放的fs路径,默认为“/var/cache/rpm/”。 +- 预选软件包RPM:可勾选本地预选软件包,软件包下载后安装到fs。 + +|image32| + +5.填写完配置,点击下一步,进入“选择及增加软件(RPM)包”,可增加软件包 + +|image33| + +5.1.点击“+”,进入新增RPM向导页,配置相关信息(选择“在本地目录中的文件”),包括: + +- 本地目录绝对路径:选择本地RPM包文件路径。 +- 显示名称:填入本地目录绝对路径后自动填充 +- 显示版本:可不填。 +- 确认时同时保存到公共配置(matedate)中,下次可直接选用:勾选。 + +|image34| + +5.2.点击“+”,进入新增RPM向导页,配置相关信息(选择“http/ftp下载地址” +),包括: + +- 下载地址URL:填入URL。 +- 对应raw文件或名称:填入下载地址URL后自动填充 +- 版本说明:可不填。 +- 下载类型:根据输入的URL选择。 +- 确认时同时保存到公共配置(matedate)中,下次可直接选用:勾选。 + +|image35| + +新增RPM后,勾选列表中的RPM。 + +|image36| + +6.工程配置完成后,点击完成,会自动调用gbapio命令,创建工程目录和自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image37| + +1.3.1.4 创建OpenEuler Yocto工程 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页,点击新增工程创建新工程。 + +|image38| + +1. 进入创建工程向导页,点击选择“OpenEuler Yocto工程”。 + +|image39| + +1. 在OpenEuler Yocto工程的配置向导页,配置工程相关信息,包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 开发版:选择支持的开发板。 +- 源代码路径:在Git存储库中。 +- Git存储库URL:填入URL,可用默认路径。 +- 存储库子目录(可选):暂不填。 +- Git修订版(分支):填入分支名,可用默认。 +- 目标机器类型:选择支持的目标机器类型。 +- 平台架构:选择支持的平台架构。 + +|image40| + +1. 填写完配置,点击下一步,进入”选择常用支持包与层(Layer)”向导页,勾选常用的层或软件包。 + +|image41| + +1. 工程配置完成后,点击完成,会自动调用gbapio命令,创建工程目录和自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image42| + +1.3.1.5 创建C工程 +^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页,点击新增工程创建新工程。 + +|image43| + +1. 进入创建工程向导页,点击选择“C工程”。 + +|image44| + +1. 在C工程的配置向导页,配置工程相关信息,包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 工程模板:选择支持的工程模板。 +- 工具链:选择支持的工具链。 +- 编译前缀:选择工具链后会自动填充。 +- 编译程序路径:暂时为空。 + +|image45| + +1. 配置完成后,点击”下一步”,进入选择SDK向导页,配置SDK信息。 + +4.1如果本机没有SDK,可不勾选,直接点击完成按钮创建工程。 + +|image46| + +4.2如果本地默认路径下有SDK,可勾选默认的SDK。 + +|image47| + +4.3,如果有SDK下载地址,可点击“+”,新增SDK,选择“ttp/ftp下载地址”,填写相关信息: + +- 下载地址URL:填入仓库URL。 +- 对应raw文件或名称:填入下载地址url后会自动填充。 +- 版本说明:选填。 + +|image48| + +填写完后点击确认,并勾选刚刚填入的SDK。 + +|image49| + +4.4,如果本地有SDK,点击“+”,新增SDK,选择“在本地目录中的文件”,填写相关信息: + +- 本地目录绝对路径:点击浏览按钮,选择本地目录中的sdk(SDK文件由国创提供)。 +- 显示名称:填入”本地目录绝对路径”后会自动填充。 +- 显示版本:选填。 +- 选择的是安装后的目录或文件:如果选择的是安装后的文件则勾选;如果选择的是没有安装的文件则不勾选。 + +|image50| + +填写完后点击确认,并勾选刚刚填入的SDK。 + +|image51| + +1. 工程配置完成后,点击完成,会通过调用gbapio命令,根据C工程模板创建工程。 + +|image52| + +.. _创建c工程-1: + +1.3.1.6 创建C++工程 +^^^^^^^^^^^^^^^^^^^^ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页,点击新增工程创建新工程。 + +|image53| + +1. 进入创建工程向导页,点击选择“C++工程”。\ |image54| +2. 在C++工程的配置向导页,配置工程相关信息,包括: + +- 工程名称:设置工程名称。 +- 位置:选择工程文件存储路径。 +- 工程模板:选择支持的工程模板。 +- 工具链:选择支持的工具链。 +- 编译前缀:选择工具链后会自动填充。 +- 编译程序路径:暂时为空。 + +|image55| + +1. 配置完成后,点击”下一步”,进入选择SDK向导页,配置SDK信息。 + +4.1如果本机没有SDK,可不勾选,直接点击完成按钮创建工程。 + +|image56| + +4.2如果本地默认路径下有SDK,可勾选默认的SDK。 + +|image57| + +4.3如果有SDK的下载地址,点击“+”,新增SDK,选择“http/ftp下载地址”,填写相关信息: + +- 下载地址URL:填入仓库URL。 +- 对应raw文件或名称:填入下载地址url后会自动填充。 +- 版本说明:选填。 + +|image58| + +填写完后点击确认,并勾选刚刚填入的SDK。 + +|image59| + +4.4如果本地有SDK,点击“+”,新增SDK,选择“在本地目录中的文件”,填写相关信息: + +- 本地目录绝对路径:点击浏览按钮,选择本地目录中的sdk。(SDK文件由国创提供) +- 显示名称:填入”本地目录绝对路径”后会自动填充。 +- 显示版本:选填。 +- 选择的是安装后的目录或文件:必须勾选上。 + +|image60| + +填写完后点击确认,并勾选刚刚填入的SDK。 + +|image61| + +1. 工程配置完成后,点击完成,会通过调用gbapio命令,根据\ **C++工程模板**\ 创建工程。 + +|image62| + +1.3.2 导入工程 +~~~~~~~~~~~~~~~ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页面,点击\ **导入工程**\ 。 + +|image63| + +1. 进入导入工程向导页,点击文件夹按钮,选择本地文件夹。 + +|image64| + +1. 选择路径后点击确定,点击“导入”。 + +|image65| + +1.3.3 克隆工程 +~~~~~~~~~~~~~~~ + +1. 打开\ **QSemOS-Soft-RealTime-plugin**\ ,进入主页面,点击\ **克隆工程**\ ,进入克隆向导页。 + +|image66| + +2.在克隆工程的配置向导页,配置工程相关信息,包括: + +- 仓库URL:输入仓库URL。 +- 目标目录:点击文件夹按钮,选择本地存储路径。 + +|image67| + +3.配置完成后,点击确认,会通过调用gbapio命令,自动启动源码的下载。由于源码包体积较大,请耐心等待源码下载完成。 + +|image68| + +1.3.4 头/源文件添加Makefile +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1.3.4.1 头文件添加Makefile +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. 选择后缀为.h的头文件,鼠标右键打开菜单,点击“将头文件添加到Makefile + +|image69| + +1. IDE弹出选项框,提示选择添加到makefile或cmake,允许同时添加; + +|image70| + +1. 如果勾选了makefile并点击确定,即可在makefile中查看到该头文件的路径; + +|image71| + +1. 如果勾选了cmake并点击确定,即可在CMakeLists.txt中查看到包含该头文件的目录路径; + +|image72| + +1.3.4.2 源文件添加Makefile +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1.选择后缀为.c或.cpp的源文件,鼠标右键打开菜单,点击“将源文件添加到Makefile”;\ |image73| + +2.IDE弹出选项框,提示选择添加到makefile或cmake,允许同时添加;\ |image74| + +3.如果勾选了makefile并点击确定,即可在makefile中查看到该源文件的路径;\ |image75| + +4.如果勾选了cmake并点击确定,即可在CMakeLists.txt中查看到该源文件的路径;\ |image76| + +1.4 代码编辑 +------------- + +1.4.1 C/C++代码编辑 +~~~~~~~~~~~~~~~~~~~~ + +1. 支持C/C++的代码编辑,基于C/C++插件,支持代码查找、关键字高亮、代码自动补齐、代码输入提示和代码检查等功能。详细的说明请参考C/C++代码编辑。 + +1.5 调试 +--------- + +1.5.1 调试能力介绍 +~~~~~~~~~~~~~~~~~~ + +**QSemOS-Soft-RealTime-plugin**\ 工具支持常用的调试能力,开发者如果使用调试能力,首先保证编译出来的二进制文件含有调试信息。 + +以下内容主要针对\ **QSemOS-Soft-RealTime-plugin**\ 的调试能力进行描述。 + +调试工作界面如下图所示,主要分为调试功能区、调试侧边栏和调试控制台。 + +.. figure:: media/7ee358a6f6e69d8e1dd8f757debed82f.png + :alt: 点击放大 + + 点击放大 + +常用调试功能 +^^^^^^^^^^^^ + +调试功能区 +'''''''''' + +启动调试功能后,当代码执行到设置的断点时,程序会暂停,你可以根据调试功能区的按钮进行代码的调试。 + +.. figure:: media/52b23aa9fa58ed19f177ccc3989787ca.png + :alt: IMG_257 + + IMG_257 + +- |IMG_258|\ :Continue/Pause(F5),当程序执行到断点时停止执行,点击此按钮程序继续执行。 +- |IMG_259|\ :Step + Over(F10),在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。 +- |IMG_260|\ :Step + Into(F11),在单步调试时,遇到子函数后,进入子函数并继续单步执行。 +- |IMG_261|\ :Step + Out(Shift+F11),在单步调试执行到子函数内时,点击Step + Out会执行完子函数剩余部分,并跳出返回到上一层函数。 +- |IMG_262|\ :Restart(Ctrl+Shift+F5),重新启动调试。 +- |IMG_263|\ :Stop(Shift+F5),停止调试任务。 + +管理断点 +'''''''' + +**函数断点** + +在Visual Studio Code中插入函数断点的方式有多种方法: + +用鼠标点击代码行最左侧的位置 + +在侧边栏的“断点”中手动添加断点函数 + +使用快捷键F9 + +|image83| + +**条件断点** + +在代码函数所在行的最左侧,点击鼠标右键选择“添加条件断点”,然后输入断点的条件和进入次数即可。 + +**内联断点** + +将鼠标放到要打断点的函数,然后点击鼠标右键选择“添加内联断点”,或者使用快捷键Shift+F9。 + +.. figure:: media/573234aaf20c22027c7af5b2ca170ac7.png + :alt: IMG_256 + + IMG_256 + +插入断点之后,在左侧断点这一栏,右击某一条断点数据,可进行的操作包括: + +- 删除断点:删除当前选中的断点。 +- 删除所有断点:删除所有断点。 +- 启用所有断点:使断点生效。 +- 禁用所有断点:使断点失效。 + +**查看及修改变量** + +在调试过程中,可以通过“变量”查看变量(包括局部变量、全局变量以及静态变量)的取值来判断程序的计算结果是否有误,从而快速进行代码检查。如果需要对变量值进行修改,请双击对应的变量值,键入修改值。 + +|image84| + +同时,也可以通过“监视”功能来监控指定的变量信息,点击\ |IMG_257|\ 图标来添加变量。 + +|image86| + +**查看调用栈** + +在调试过程中,可以通过查看调用栈来分析主程序调用的各子程序的调用关系,从而快速进行代码检查。 + +|image87| + +查看及修改寄存器 +'''''''''''''''' + +在调试过程中,可以通过查看相关寄存器的值来确定各参数值是否有误以及代码执行的位置,从而快速进行代码检查。如果需要对寄存器值进行修改,请双击寄存器值,然后键入修改值。 + +|image88| + +查看反汇编 +'''''''''' + +在调试过程中,通过查看反汇编,可以确认代码的汇编实现,从而快速进行代码检查。在代码左侧调用堆栈页面,选择函数点击右键,然后点击“打开反汇编视图”,查看反汇编。 + +反汇编示意图如下图所示。 + +|image89| + +查看内存 +'''''''' + +在调试过程中,通过查看对应的内存地址,获取内存地址中的取值,可以准确分析代码中各变量的取值及存储状态,从而快速进行代码检查。 + +在调试控制台输入:-exec x/10xw data 查看内存。 + +|image90| + +1.5.2 GDB调试 +~~~~~~~~~~~~~~ + +1.c或者c++应用程序远程连接单板调试 + +1.用IDE创建c或者c++ +APP工程(两种创建方式:1.选择工程模板为C工程或者C++工程,更多预设选项里工具链选择Cross +GCC,交叉编译前缀写如:aarch64–linux-gnu-,不用选择SDK。 +2.选择工程模板为C工程或者C++工程,更多预设选项不用选,下一步选择SDK, +这边以RK3588的sdk为例),创建好之后,进到工程配置界面设置工具链中Makefile或者Cmake的选项标志为-g。如下图所示:\ |image91| + +2.进行编译,编译完成之后进到工程配置的调试配置界面,进行如下的操作: + +1. 选择调试可执行文件是刚才编译出来的程序,(这里编译出来程序的默认路径是工程目录/bin)。 +2. 设置调试客户端,默认是gdb-multiarch,这个工具可以调试多个架构的程序(如果你的linux的环境中没有,请sudo + apt-get install gdb-multiarch 下载安装了) +3. 设置远程调试地址,如:RK3588单板的配置的ip地址:10.100.199.136,这里就设置为10.100.199.136:1234, + 这个端口号1234可以任意设置,配置单板的网路地址参考\ `[金山文档] + IDE调试网络环境设置.docx `__ +4. 远程访问端口:一般默认22, 如果单板上ssh默认的端口不是22,要进行修改 +5. 调试参数: + 这里调试参数指的是程序运行传入的命令行参数,这边调试的demo程序没有用到命令行参数,所以为空。 +6. 远程调试单板用户名:指的是单板的用户名(RK3588单板的用户名是root) +7. 调试文件路径:指的是调试程序放到单板哪个路径下(这边的调试demo程序是放到单板/root路径下) +8. 点击保存配置按钮。 + +.. figure:: media/ab0ff8dc9415e55b8bb6cd15c25889b5.png + :alt: IMG_256 + + IMG_256 + +3.进到源代码里面打断点: + +|image92| + +1. 点击运行->启动调试。注意:在点击启动调试前确保单板上有gdbserver服务而且是全局生效的 + +|image93| + +提示: + +如果你的开发板设置了密码,启动调试后终端会提示你输入两次密码 + +|image94| + +4.调试起来之后,可以执行逐过程(F10),单步调试(F11)等,也可以查看一些调试信息: + +|image95| + +注意:当选择用sdk时,编译程序用的交叉编译工具是source +sdk后环境变量CC或者CXX,这个CC或者CXX +中编译选项-O2会影响调试信息,导致调试不正确。 + +|image96| + +解决方法1:(如RK3588的sdk) + +打开home/ubuntu/.gba-ncti/reps/sdk/openeuler-glibc-x86_64-openeuler-image-armv8a-ok3588-toolchain-23.09/environment-setup-armv8a-openeuler-linux文件找到export +CC或者export CXX把-O2删掉。 + +|image97| + +解决方法2:(如RK3588的sdk) + +打开工程中的Makefile文件,把CC := $(CC) 改成 CC := +aarch64-openeuler-linux-gcc + +|image98| + +1.6 编译构建 +------------- + +1.6.1 Linux内核工程构建 +~~~~~~~~~~~~~~~~~~~~~~~ + +1. 打开Linux内核工程,并点击PROJECT + TASK下\ **构建**\ 按钮,进入到构建页面。 + +|image99| + +1. 在构建配置页面,点击\ **选择编译选项**\ 按钮 + +- 设置\ **交叉工具编译链** +- **设置选择的内核裁剪的配置文件**\ ,如果选择的是\ **自定义menucofig**\ ,则终端启动图形界面操作menucofig。 + +|image100| + +- **修改编译目标镜像名** +- **修改编译额外参数** + +|image101| + +|image102| + +编译参数设置完成后,点击\ **确认**\ 按钮,保存工程配置信息。如果点击\ **确认并保存参数到公共配置按钮**\ ,则保存工程配置信息并同步保存到公共配置文件中,如果没有配置环境变量 +就必须输入全路径。 + +|image103| + +|image104| + +1. 点击\ **构建**\ 按钮,启动\ **构建**\ 流程\ **。** + +|image105| + +构建过程中可导出或查看日志,构建完成后也可在构建历史中查看执行过程中的日志或导出日志。 + +.. figure:: media/69b9cd34a0806d2f2182f6575900e2b0.png + :alt: /tmp/webword_300268425/upload_632710353 + + /tmp/webword_300268425/upload_632710353 + +1.6.2 OpenEuler Yocto工程构建 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. 打开OpenEuler Yocto工程,并点击QUICK + ACCESS下\ **构建**\ 按钮,进入到构建页面。 + +|image106| + +1. 点击\ **构建**\ 按钮,启动\ **构建**\ 流程\ **。** + +|image107| + +构建过程中可导出或查看日志,如果构建完成,可在构建历史中查看执行过程中的日志和或导出日志。 + +|image108| + +1.6.3 C/C++工程构建 +~~~~~~~~~~~~~~~~~~~~ + +1. 打开C/C++工程,并点击QUICK + ACCESS下\ **工程配置**\ 按钮,打开\ **工具链**\ 配置页面\ **,**\ 设置Cmake/Make\ **构建**\ 参数。 + +|image109| + +|image110| + +1. 参数设置完成后,并点击PROJECT + TASK下\ **构建**\ 按钮,进入到构建页面。 + +|image111| + +1. 点击\ **构建**\ 按钮,选择编译方式\ **Make**\ 或者\ **Cmake**\ ,启动\ **构建**\ 流程\ **。** + +|image112| + +构建过程中可导出或查看日志,如果构建完成,可在构建历史中查看执行过程中的日志或导出日志。 + +|image113| + +1.6.4 Rootfs工程构建 +~~~~~~~~~~~~~~~~~~~~~ + +1.打开Rootfs工程,并点击PROJECT TASK下构建按钮,进入到构建页面。 + +|image114| + +1. 在页面右侧的列表中可以看到,待构建的工程,点击“构建”可一键构建 + +|image115| + +1. 点击“构建”后,输入密码,即可开始构建 + +|image116| + +|image117| + +1. 当看到终端打印构建成功的信息,构建完成 + +|image118| + +1.6.5 重新构建Rebuild +~~~~~~~~~~~~~~~~~~~~~~ + +1. 在任何一个工程的PROJECT TASK + 下,点击“重新构建Rebuild”,会进入该工程的重新构建页面,与构建页面的功能基本一致 + +|image119| + +1. 进入该页面后,可以对工程的构建参数进行修改,如Linux内核工程需要配置交叉编译工具链。 + +|image120| + +1. 在工程列表中,点击构建,即可开始重新构建 + +|image121| + +1. 重新构建,会先清理缓存信息,然后开始进行构建 + +|image122| + +1. 当终端打印构建完成的信息,重新构建完成 + +|image123| + +1.7 仿真 +--------- + +1. 打开Linux内核工程或者OpenEuler Yocto工程,并点击QUICK + ACCESS下\ **工程配置**\ 按钮,进入到\ **仿真配置**\ 页面。 + +|image124| + +1. 在仿真配置页面中, + +支持设置选择\ **仿真器**\ 版本,支持浏览选择; + +**机器型号**\ 默认为virt,不可修改; + +支持\ **自定义网络设备**\ ,可使用默认值; + +支持设置\ **主机中共享目录映射**\ ; + +支持设置\ **内存大小**\ ; + +支持设置\ **CPU核数**\ ; + +支持\ **CPU型号**\ ,该选项通常和仿真器/机器型号相关联,建议使用默认值; + +支持设置\ **无图像模式**\ 、\ **调试模式;** + +支持设置\ **内核镜像**\ ,该选项默认使用工程自带的虚拟镜像,允许用户自行选择构建成功后的真实镜像; + +**文件系统**\ 默认使用插件自带的rootfs.ext4文件; + +支持设置\ **内核启动命令,**\ 该选项可使用默认值,如果文件系统类型不是。cpio.gz,内核参数内需加额外参数,如:root=/dev/vda; + +支持设置\ **设备树** + +|image125| + +1. 打开某个具体的工程,点击PROJECT + TASKS下工程配置按钮,进入到\ **管维工具**\ 页面。 + +|image126| + +1. 进入到\ **管理工具**\ 页面 + +|image127| + +1. 点击检测仿真环境,可检查qemu环境是否正常、是否已编译生成镜像文件 + +|image128| + +1. 点击启动本地仿真方式,启动仿真 + +|image129| + +1. 仿真启动成功后,如果所示。 + +|image130| + +1. 输入账户root,进入qemu仿真环境 + +|image131| + +1.8 代码烧录 +------------- + +1.8.1 烧录RK3568开发板镜像 +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +烧录准备 +^^^^^^^^ + +连接开发板 +'''''''''' + +依次连接开发板的电源线(接口③)、Debug调试线(接口②)、USB烧写线(接口①)。 + +图2.1: + +.. figure:: media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png + :alt: IMG_257 + + IMG_257 + +安装USB驱动 +''''''''''' + +在下载的镜像包中按照路径 windows\DriverAssitant_vx.x.x\\ +DriverInstall.exe +打开驱动安装程序。如为首次安装,则直接点击“驱动安装”按钮进行安装并等待安装完成;如之前已安装过老版本的烧录工具,需先执行“驱动卸载”卸载老版本驱动后再点击 +“驱动安装”按钮安装新版本驱动。 + +图2.2: + +.. figure:: media/febede95d9b0c30296e476329785da84.png + :alt: IMG_258 + + IMG_258 + +.. figure:: media/0b7a099134e9bf2eadfc1a45fec19d1b.png + :alt: IMG_259 + + IMG_259 + +打开烧录工具 +'''''''''''' + +在路径下双击 windows\RKDevTool.exe 打开烧录工具。 + +进入烧录模式 +'''''''''''' + +已进入烧录模式 + + +如界面显示“发现一个MASKROM设备”,则说明开发板已经入烧录模式,可直接进行烧录。 + +图2.3: + +.. figure:: media/2f99b1f7802995bc44eeec042e4b9f91.png + :alt: IMG_260 + + IMG_260 + +未进入烧录模式 + + +**1)“MASKROM”模式烧录:** + +如界面显示“没有发现设备”,则同时按下Reset按键(图2.1 +按键⑤)及Maskrom(图2.1 按键⑥) +按键,等待两秒后先松开Maskrom键,烧录工具随即显示“发现一个 MASKROM +设备”(默认烧写模式,如图2.6),随后松开Reset键,此时开发板已经进入烧写模式,可进行烧录。 + +图2.4: + +.. figure:: media/2f99b1f7802995bc44eeec042e4b9f91.png + :alt: IMG_261 + + IMG_261 + +**2)“LOADER”模式烧录(可选)** + +如在“MASKROM”模式下固件烧录失败,并出现类似“测试设备失败”的报错,则需切换为“LOADER”模式进行烧录。 + +具体步骤:先按住Recovery(图2.1 +按键④)按键不放,紧接着按一下Reset释放,等待两秒后释放Recovery按键,烧录工具随即显示“发现一个LOADER”设备,可进行后续烧录。 + +图2.4: + +.. figure:: media/7fd79a497b3dfbab69e3f66060be388e.png + :alt: IMG_262 + + IMG_262 + +烧录执行 +^^^^^^^^ + +导入配置 + + +开始烧写前,需先导入镜像包中的config.cfg配置,直至显示导入配置成功。导入配置后,misc、sys-prod、chip-prod三个分区不存在镜像(预留位置),烧写时无法勾选。 + +图3.1: + +.. figure:: media/5acb79b20133c883c13c6738124c13ec.png + :alt: IMG_263 + + IMG_263 + +图3.2: + +.. figure:: media/c6cd28ce4e310598c81a80d11606a4f9.png + :alt: IMG_264 + + IMG_264 + +更新固件路径 + + +点击右侧白色框,依次将勾选项的路径修改为所下载的镜像包的路径,以“Vendor”为例,操作如下: + +图3.3: + +.. figure:: media/0ecf63075eb30bd2463ea3f3c5c90bf9.png + :alt: IMG_265 + + IMG_265 + +图3.4: + +.. figure:: media/6805ba41e7a0270d4ccec5548dbb903e.png + :alt: IMG_266 + + IMG_266 + +固件烧录 + + +点击“执行”,进行固件烧录,直至显示“下载完成”。 + +图3.5: + +.. figure:: media/40685f356cf25b03361cb654ebe51cb7.png + :alt: IMG_267 + + IMG_267 + +烧录完成 +^^^^^^^^ + +烧录完成后,等待开发板重启,同时开发版可正常运行,烧录完成。 + +图4.1: + +|image132| + +1.9 管维工具 +------------ + +入口 +~~~~ + +1. 打开某个工程,并点击PROJECT + TASK下\ **管维工具**\ 按钮,进入到\ **管维工具**\ 页面。 + +|image133| + +1. 进入管维工具后,前端界面如下: + +|image134| + +远程连接 +~~~~~~~~ + +1. 设置输入Host OS的RPC + server的\ **IP:端口**\ ,点击\ **连接**\ ,启动RPC server。 + +暂仅支持人工部署RPC Server。 + +|image135| + +1. 如果连接成功,则连接按钮更新为断开按钮 + +|image136| + +1. 若连接异常,前端界面会提示异常信息。 + +|image137| + +检测仿真环境 +~~~~~~~~~~~~ + +详见1.7章节 + +本地仿真 +~~~~~~~~ + +详见1.7章节 + +性能状态监控 +~~~~~~~~~~~~ + +1. 连接上HOST + OS之后,界面下方展示性能监控信息。可以通过开关打开CPU监控和内存监控。 + +|image138| + +1. 打开开关后,图表展示CPU负载信息和内存负载信息 + +|image139| + +日志信息 +~~~~~~~~ + +1. 打开显示日志开关后,会打印输出系统日志信息 + +|image140| + +1. 点击\ **日志导出**\ ,弹出活动窗口选择保存位置,日志保存成功后IDE会弹窗提示日志保存成功。 + +|image141| + +进程信息 +~~~~~~~~ + +1. 切换到\ **进程信息**\ 页签,页面默认不展示进程线程相关信息 + +|image142| + +1. 点击\ **启动进程信息监控**\ ,图表展示HOST OS的进程信息 + +|image143| + +1. 若勾选\ **包括线程**\ ,则图表展示HOST OS的进程和线程信息 + +|image144| + +1. 点击\ **导出进程监控信息**\ ,导出成功后会弹窗提示进程信息的保存位置,界面也会打印进程信息的保存位置 + +|image145| + +数据刷新 +~~~~~~~~ + +1. 支持按需指定数据刷新频率,默认3s刷新一次 + +|image146| + +1. 若调整数据刷新时间,界面将按调整后的时间来刷新展示数据 + +|image147| + +1.10 命令行工具 +---------------- + +gbapio命令 +~~~~~~~~~~ + +用法 +^^^^ + +gbapio [选项] 命令 [参数] + +选项 +^^^^ + +**–version** + +显示gbapio的版本 + +**–help, +-h**\ ` `__ + +显示可用的选项和命令帮助 + +$ gbapio –help + +|image148| + +命令 +^^^^ + +agent +''''' + +.. _用法-1: + +用法 + + +gbapio agent [选项] 命令 [参数] + +描述 + + +代理服务功能 + +.. _选项-1: + +选项 + + +-d, –projectswork-dir TEXT DIRETORY, 指定目录, +未指定默认读取工作空间的第一个有效工程 + +-c, –cell TEXT 指定子系统, 0:root为主系统, 其他为guest os + +-p, –rpc TEXT 指定远程rpc_server地址 + +-h, –help Show this message and exit. + +.. _命令-1: + +命令 + + +gdbstart 启动GDBserver, 子系统为GDB stub + +gdbstop 停止GDBserver, 子系统为GDB stub + +getcpu 获取CPU信息 + +getlog 返回日志信息 + +getlogfile 下载日志文件 + +getmem 获取内存信息 + +start 启动agent服务 + +start_websocket 开启websocket服务 + +stop 停止agent服务 + +stop_websocket 停止websocket服务 + +test 显示代理服务是否运行状态及agent服务端口等信息 + +示例 + + +gbapio agent -p 127.0.0.1:2198 gdbstop + +boards +'''''' + +.. _用法-2: + +用法 + + +gbapio boards + +.. _描述-1: + +描述 + + +Board Explorer, 列出可选版卡列表 + +.. _选项-2: + +选项 + + +NA + +.. _命令-2: + +命令 + + +NA + +.. _示例-1: + +示例 + + +gbapio boards + +build +''''' + +.. _用法-3: + +用法 + + +gbapio build [选项] 命令 [参数] + +.. _描述-2: + +描述 + + +构建编译工程 + +.. _选项-3: + +选项 + + +-d, –project-dir PATH DIRECTORY, +指定工程目录绝对地址,未指定默认取工作空间第一个有效工程 + +-c, –project-profile FILE FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下的配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第一个环境 + +-h, –help Show this message and exit. + +.. _命令-3: + +命令 + + +clean 重新构建,先清理之前构建缓存并重新构建 + +hb 构建混合部署工程 + +hb_stop 停止构建混合部署工程 + +run 按工具配置文件及系统配置文件进行编译构建 + +st_stop 停止软实时构建过程 + +stop 停止构建 + +.. _示例-2: + +示例 + + +gbapio build -d /home/ubuntu/GbaNctiProjects/demo001 -c +/home/ubuntu/GbaNctiProjects/demo001/ncti-esda-profile.json clean + +check +''''' + +.. _用法-4: + +用法 + + +gbapio check [选项] 命令 [参数] + +.. _描述-3: + +描述 + + +Static Code Analysis, 进行代码静态分析 + +.. _选项-4: + +选项 + + +-d, –project-dir PATH 工程目录 + +-f, –src-filters TEXT 扫描文件过滤器, 过滤待检测文件 + +--flags TEXT 添加传递给分析工具的flags + +--severity [low|medium|high] 指定由检查工具报告的缺陷严重性类型 + +-s, –silent 抑制进度报告,并只显示高严重性的缺陷 + +-v, –verbose 指定是否输出详细信息 + +--json-output 指定是否json格式返回 + +--fail-on-defect [low|medium|high] + +-h, –help Show this message and exit. + +.. _命令-4: + +命令 + + +NA + +.. _示例-3: + +示例 + + +gbapio check -d /home/ubuntu/GbaNctiProjects/demo001 + +coderep +''''''' + +.. _用法-5: + +用法 + + +gbapio coderep [选项] 命令 + +.. _描述-4: + +描述 + + +代码仓库功能 + +.. _选项-5: + +选项 + + +-l, –local TEXT 指定来源为本地路径 + +-u, –url TEXT 指定来源为远程url + +-b, –branch TEXT 指定分支 + +-s, –subdir TEXT 指定子分支 + +-o, –out TEXT 指定目标目录 + +-h, –help Show this message and exit. + +.. _命令-5: + +命令 + + +clone 克隆源代码 + +.. _示例-4: + +示例 + + +gbapio coderep -u git@10.100.199.97:zr/kernel-openeuler-lts-2203-sp2.git +-b main -o /home/usr/GbaNctiProjects/demo001 clone + +jailhouse +''''''''' + +.. _用法-6: + +用法 + + +gbapio jailhouse [选项] 命令 [参数] + +.. _描述-5: + +描述 + + +混合部署jailhouse功能指令 + +.. _选项-6: + +选项 + + +-d, –projectswork-dir TEXT DIRECTORY, 指定目录 + +-c, –project-profile TEXT FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下配置文件 + +-e, –env TEXT 指定配置文件的环境参数,不指定用默认第1个环境 + +-p, –rpc TEXT 指定远程rpc_server地址, 默认在本地 + +-h, –help Show this message and exit. + +.. _命令-6: + +命令 + + +cell 显示cell列表 + +cell_connect 启动连接 + +cell_create [cell文件] 创建non root cell + +cell_destroy [cell名称或id] 销毁os镜像 + +cell_linux [cell文件] [引导文件] [设备树dts文件] [文件系统rootfs文件] +[附加参数] 运行linux镜像 + +cell_load [cell名称或id] [bin文件名] 在cell中装载os镜像 + +cell_shutdown [cell名称或id] 停止树os镜像 + +cell_start [cell名称或id] 启动os镜像 + +cell_status [cell名称或id] 查看os镜像启动状态信息 + +check 规则检查 + +disable 停止jailouse + +enable [cell文件] 启动root cell + +mkcells 配置文件生成non root cell + +mkdts 配置文件生成设备树dts + +mkrootcell 配置文件生成root cell + +.. _示例-5: + +示例 + + +gbapio jailhouse -d /home/usr/GbaNctiProjects/demo001 enable +/home/jailhouse/demo.cell + +pkg +''' + +.. _用法-7: + +用法 + + +gbapio pkg [选项] 命令 [参数] + +.. _描述-6: + +描述 + + +列出pkg列表 + +.. _选项-7: + +选项 + + +-h, –help Show this message and exit. + +.. _命令-7: + +命令 + + +list List installed packages + +.. _示例-6: + +示例 + + +gbapio pkg list + +project +''''''' + +.. _用法-8: + +用法 + + +gbapio project [选项] 命令 [参数] + +.. _描述-7: + +描述 + + +Project Manager, 列出工程列表 + +.. _选项-8: + +选项 + + +-d, –projectswork-dir DIRECTORY DIRECTORY, 指定目录, +默认是vscode及国创IDE工作目录D:\GbaNctiProjects,Linux在: +[用户主目录]/GbaNctiProjects + +-c, –project-profile TEXT FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下配置文件 + +-h, –help Show this message and exit. + +.. _命令-8: + +命令 + + +hb_create 混合部署创建工程 + +init 创建工程 + +list 工程列表 + +.. _示例-7: + +示例 + + +gbapio project -d /home/usr/GbaNctiProjects/demo001 init + +qemu +'''' + +.. _用法-9: + +用法 + + +gbapio qemu [选项] 命令 [参数] + +.. _描述-8: + +描述 + + +仿真指令功能 + +.. _选项-9: + +选项 + + +-d, –projectswork-dir TEXT DIRETORY, 指定目录, +未指定默认读取工作空间的第一个有效工程 + +-c, –project-profile TEXT FILE, +指定配置文件进行工程初始化,不指定时自动找工程下配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第1个环境 + +-p, –platform TEXT 指定架构, 可以是: x86,arm,arrch64, +不指定按配置文件中类型和板卡平台信息 + +-k, –kernel TEXT 指定linux内核文件, 必须指定 + +-i, –initrd TEXT 指定根文件系统 (可借助 BusyBox 构建极简 initramfs) + +-t, –dtb TEXT 指定设备树 + +-a, –append TEXT 指定设备参数 + +-r, –rootfs TEXT 指定通用根文件系统 + +-h, –help Show this message and exit. + +.. _命令-9: + +命令 + + +check 检测qemu仿真环境 + +start 启动qemu仿真 + +stop 停止仿真 + +.. _示例-8: + +示例 + + +gbapio qemu -d /home/usr/GbaNctiProjects/demo001 check + +upload +'''''' + +.. _用法-10: + +用法 + + +gbapio upload [选项] 命令 [参数] + +.. _描述-9: + +描述 + + +发布烧录工程镜像 + +.. _选项-10: + +选项 + + +-d, –projectswork-dir PATH DIRECTORY, 指定目录 + +-c, –project-profile FILE FILE, 指定配置文件进行工程初始化, +不指定时自动找工程下的配置文件 + +-e, –env TEXT 指定配置文件的参数环境, 不指定用默认第一个环境 + +-p, –protocl TEXT 指定上传协议,可以是: +blackmagic,dfu,jlink,serial(串口),stl + +ink,不指定按配置文件进行 + +-h, –help Show this message and exit. + +.. _命令-10: + +命令 + + +hb 烧录混合部署工程 + +hb_stop 停止烧录混合部署工程 + +run 执行烧录 + +.. _示例-9: + +示例 + + +gbapio upload -d /home/usr/GbaNctiProjects/demo001 run + +.. |image0| image:: media/d5c2045478d9c363931cd393c70d0967.png +.. |IMG_256| image:: media/0d052cb6110c65184c9b43fa9e7be3be.png +.. |IMG_2571| image:: media/d669819ee8046f320fa761555cca8ee4.png +.. |IMG_2581| image:: media/e5c324a441ad3ced88a2ef8eed00a766.png +.. |IMG_259| image:: media/50471e867656c5b46d21c4a98327a136.png +.. |image5| image:: media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png +.. |IMG_266| image:: media/b0dab9a7717cad1f2c3fc457843d8b1e.png +.. |image7| image:: media/550833f81383adc5100f3de0c3fabf3a.png +.. |image8| image:: media/5453d1a20de861dfcf2745135ffcd682.png +.. |image9| image:: media/0fdadb55f855267a7d534becc0c8bc92.png +.. |IMG_269| image:: media/6966cae0fe17a37bc374b002f24ec37b.png +.. |IMG_273| image:: media/a2ea400f9fa913d9a5f80a4ccb3da64f.png +.. |image12| image:: media/63a036f8b3e945243bb9a3fc3ca5128f.png +.. |image13| image:: media/8b0a8dd97ce21ae2013e88131f330225.png +.. |image14| image:: media/bd6acd7229eba29bc8a89a4ff6315acb.png +.. |image15| image:: media/a7432081624c35d77423f07d696e8cd1.png +.. |image16| image:: media/315cf4f0d594007da4eac6073a3f4996.png +.. |image17| image:: media/24bb8f6a27200acccfc9f35abef66ace.png +.. |image18| image:: media/38b981eb7007dce7e97c2ebed9cf0afc.png +.. |image19| image:: media/f25a8e1cedde1d4a7a7fdc50c5991a94.png +.. |image20| image:: media/59e63923b54382504a890a7abbda42d1.png +.. |image21| image:: media/38f9c530bddd4e73aa0b69f7ccdc79c9.png +.. |image22| image:: media/169b577a320e9bdbc0c4878b1b726121.png +.. |image23| image:: media/d7d7899ba4633f5ddc702f85038cff90.png +.. |image24| image:: media/9c3e864059c7762bcd1d24925375ada2.png +.. |image25| image:: media/18a8015d7641ce9e455b18db1c013487.png +.. |image26| image:: media/0b49251d7f9e3aefe10107914a280c3b.png +.. |image27| image:: media/cd026caac826be9c0b4562dc77da2231.png +.. |image28| image:: media/d7d7899ba4633f5ddc702f85038cff90.png +.. |image29| image:: media/a8f3dabd037005c388c7c84a443e183c.png +.. |image30| image:: media/232ffac111afab720bdc977a4cf59c6c.png +.. |image31| image:: media/50e96bcd5e005e5c9c15c027f5f64767.png +.. |image32| image:: media/5da3c39de73e8c5605b18998ef8cb54f.png +.. |image33| image:: media/b63dcf23db53638500b41ef6fb6337e0.png +.. |image34| image:: media/aa75940364209caf69464bb5a0fdc182.png +.. |image35| image:: media/0f077075b7e0e2f8a2acfaf364ea3bca.png +.. |image36| image:: media/b867e0762243702d113b42fbf3308ffd.png +.. |image37| image:: media/a35d49f0aa5d96aedc528ffda6a9786a.png +.. |image38| image:: media/d7d7899ba4633f5ddc702f85038cff90.png +.. |image39| image:: media/12037cc0034433af460c4490aff31b7d.png +.. |image40| image:: media/61090ef941c3bee6886befa7ccbd4e32.png +.. |image41| image:: media/ab30421cd34170b0f584f9261c5cce95.png +.. |image42| image:: media/d91edd580afe5c0d6d3a527114edc566.png +.. |image43| image:: media/d7d7899ba4633f5ddc702f85038cff90.png +.. |image44| image:: media/890bb1bcee0d532346b14ca9243949c8.png +.. |image45| image:: media/c2d042905e25ba278f31a07aa22cc94f.png +.. |image46| image:: media/5c59a0fdc8aab158e9bbdfd3c8167a0b.png +.. |image47| image:: media/f482a43c403fc92c3741b4bda5500496.png +.. |image48| image:: media/500da1006b05173ddc3307577a85d5ce.png +.. |image49| image:: media/a0e05696d710c6adee345fb610eb57e7.png +.. |image50| image:: media/1ced4c025cb97db61f71aaf8f9a7fba8.png +.. |image51| image:: media/0262364758fdcc4474f4f1751716e999.png +.. |image52| image:: media/1926f7a9982c84601d7617acdc602016.png +.. |image53| image:: media/d7d7899ba4633f5ddc702f85038cff90.png +.. |image54| image:: media/d6e328cd48a38536ac77a44e7dbdcebb.png +.. |image55| image:: media/cdc3abf3ed3ad169875cdf01df3bbebd.png +.. |image56| image:: media/9323905c3fe5016eaac85c14dd89d157.png +.. |image57| image:: media/23ba66e67c88a3d73ee4818b8fef341b.png +.. |image58| image:: media/af774bec3be1580f4589365ddfdfd42a.png +.. |image59| image:: media/c3d177a22042b1d9b2076d3141382240.png +.. |image60| image:: media/1ced4c025cb97db61f71aaf8f9a7fba8.png +.. |image61| image:: media/6607f84413a4d15952bc62bfab3ca297.png +.. |image62| image:: media/e7ec0596e7d4c240ebf2b82c799e5b99.png +.. |image63| image:: media/bb9b6243192763722d0b52e8165500da.png +.. |image64| image:: media/96caa939cb39eda2f6baca6a744a74ea.png +.. |image65| image:: media/30695ad0f3785929a2762a5589fb18ee.png +.. |image66| image:: media/cc2144407f2d5860cb0b45daa4061f49.png +.. |image67| image:: media/cb9824b8e01f9f789b8159f6490a5cab.png +.. |image68| image:: media/61c6794ba718017d62bd22808994dcb4.png +.. |image69| image:: media/4179ece1d807a09e93df0010ce642c63.png +.. |image70| image:: media/7d859c19f449c152ed0e4a7a6e0eda75.png +.. |image71| image:: media/b940d60c57340f598a98fb435c952662.png +.. |image72| image:: media/27bf396f7e682b956b587b5e4c32717f.png +.. |image73| image:: media/630e4b8441f1ef6d3ac93a272fcfe991.png +.. |image74| image:: media/7d859c19f449c152ed0e4a7a6e0eda75.png +.. |image75| image:: media/bd10911ab4e75acaa92b8e298abc3d76.png +.. |image76| image:: media/334daffe84fefa6ba98decf10d0f8659.png +.. |IMG_258| image:: media/0febc10f99e86c7ee7e906aaa76ed135.png +.. |IMG_2591| image:: media/08a36e882fdf0781579f87eb3cb2d753.png +.. |IMG_260| image:: media/9328c4f42755dd3d1483da946d82c814.png +.. |IMG_261| image:: media/441c18b9da96878e4b911373de75b75c.png +.. |IMG_262| image:: media/0cde21f81990256ed126546e5e039350.png +.. |IMG_263| image:: media/c58bcb6e6e62d83f8699005a56622b76.png +.. |image83| image:: media/b9172c9a0a6cabafe30f7ae972508775.png +.. |image84| image:: media/7369f219eb7d616a8e8fda72184a8a5f.png +.. |IMG_257| image:: media/538d768eea5d804019b80c6d94003f3d.png +.. |image86| image:: media/3e8b461ba7d61261b1351b294690b662.png +.. |image87| image:: media/df8dd5634c193a471c60f3e789a83828.png +.. |image88| image:: media/6df9417d3e48b21760f094ed0942ff2f.png +.. |image89| image:: media/fdb3db609abf229f52fc32ae15a91d51.png +.. |image90| image:: media/27bbde2e834161d90f9ee930ad94d58b.png +.. |image91| image:: media/ed60a76737a0c5241e672d9bdd580141.png +.. |image92| image:: media/5da483bfff690860767bb62850cdb8b8.png +.. |image93| image:: media/dc593654c0e66575a658b227c4682488.png +.. |image94| image:: media/9a5d77c6cfeb278e3ea2f4bcd6908b0e.png +.. |image95| image:: media/fc965fdcb329688a0c4b22eef51e23bf.png +.. |image96| image:: media/c000509ee9ad03e06f68e585e8a2dfe5.png +.. |image97| image:: media/3eb3c199bbd2a73243332970f3f5c9bc.png +.. |image98| image:: media/3e50363e32c135c74c18da90fe9b328e.png +.. |image99| image:: media/99661383151bbd9474a8268458f93747.png +.. |image100| image:: media/01e58e42fcc62d8251a125eb7b5c72ad.png +.. |image101| image:: media/c1ead944b251d69c037418f3b84ea3fe.png +.. |image102| image:: media/2a968801a8dfcaff5a9f2d5bea7dd9c4.png +.. |image103| image:: media/f397a0b4221ca1455531c735937ecd64.png +.. |image104| image:: media/1cd0f3729eed8d64ec6fd5bf02a2e05e.png +.. |image105| image:: media/47e689a706af3f7d909668f8a52f634f.png +.. |image106| image:: media/90c6dfffee4475e09672dbb96b393664.png +.. |image107| image:: media/b57a2452928884e15dcc6db8983a8487.png +.. |image108| image:: media/ccd90c8a25565345c08475ef89a48979.png +.. |image109| image:: media/b7544e28d1475877dbd4ab6fd6c54147.png +.. |image110| image:: media/de8fcc94133a78349ccb123c1cbffd75.png +.. |image111| image:: media/ba93fa3bc546be7e20e7fb8a1035f8bd.png +.. |image112| image:: media/b9db519a9f22cfaf27b1eb2a0db2c9ff.png +.. |image113| image:: media/b7d029a2d132e49905ced7d48682a4b3.png +.. |image114| image:: media/fae9d723d8105638111c819770ffae9c.png +.. |image115| image:: media/1a1cb67ca16b5b59262a14d466b820a0.png +.. |image116| image:: media/cb476028e156ecddb59117042ffc760f.png +.. |image117| image:: media/689a4f96efaea0c93e4d418f565f7f02.png +.. |image118| image:: media/40c4c569759108a45f17bb7fed9b4177.png +.. |image119| image:: media/7f8902c6b45916bb1e8c02059e665ee4.png +.. |image120| image:: media/2606e612aadaee647f36031fe51ca7c5.png +.. |image121| image:: media/7ad5ea0a51badf8551617d5b4e8922de.png +.. |image122| image:: media/a2b5ad1650271d29cb1b2398d49d6e22.png +.. |image123| image:: media/048606d76ba55d3678cdb54f8541269d.png +.. |image124| image:: media/6735c2aab0dea594442a0f3f715c2403.png +.. |image125| image:: media/fb9ef77e410a7ff3cca06b31742edb91.png +.. |image126| image:: media/3526de248d9fc575ea206cc5bb3ed327.png +.. |image127| image:: media/718b49d6cfc47694a75b2daad8869851.png +.. |image128| image:: media/0be62ddd38004d7b2458b87617c0dad1.png +.. |image129| image:: media/cf3ed09ae8be3896a8b3a64512e2b3e2.png +.. |image130| image:: media/84dedb758861ea56a3a8c6d80f513125.png +.. |image131| image:: media/aefd918e506b2a4f90cead3f51191012.png +.. |image132| image:: media/fe687c442c48a5685b09560f8a1f1efd.png +.. |image133| image:: media/f53fcb126a064b0237a6de95892e5d73.png +.. |image134| image:: media/5f8e60c84249e4db98dd211ea985b94a.png +.. |image135| image:: media/6b7b07b3925da6a3ee2bc8f4bd45e79d.png +.. |image136| image:: media/ef0be11e2ab1a67075a5ce4372ee95c9.png +.. |image137| image:: media/1ce66e09909fcbddf299d6396b5e876c.png +.. |image138| image:: media/9b0a2e63b984fc350b4883b2072a2445.png +.. |image139| image:: media/bd56ecf2577cb944fe8b68747fa5bbf7.png +.. |image140| image:: media/59113e9cd8c1e74ed5e19d3529dabf8e.png +.. |image141| image:: media/55d4ebaf16241190e20a5e255cba2209.png +.. |image142| image:: media/aafd877d8b150145941e82d7a00426fb.png +.. |image143| image:: media/1bda549a37778ac28b4354a82fcf8c43.png +.. |image144| image:: media/ff7163908f7e02f429c2f649c032fef4.png +.. |image145| image:: media/c6ccef42089e8fe61de8f83671bf2a6d.png +.. |image146| image:: media/1cd1f69c3e298fead10799fd1b132890.png +.. |image147| image:: media/53feb025295b6b77a2040acd1a6e2add.png +.. |image148| image:: media/720047965be0fd8a8965415c48c4feff.png + diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png new file mode 100644 index 0000000000000000000000000000000000000000..6ffcc2301c47a4d5e1ba886af52caa6c20407b9f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/01e58e42fcc62d8251a125eb7b5c72ad.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0262364758fdcc4474f4f1751716e999.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0262364758fdcc4474f4f1751716e999.png new file mode 100644 index 0000000000000000000000000000000000000000..371104235f8e806afb791711023aaf901c10ca79 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0262364758fdcc4474f4f1751716e999.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/048606d76ba55d3678cdb54f8541269d.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/048606d76ba55d3678cdb54f8541269d.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8f0f81e7a6d00dcbf74f2087c9c88fe80afd89 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/048606d76ba55d3678cdb54f8541269d.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0690e263022007a57242d3c23e3dad7e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0690e263022007a57242d3c23e3dad7e.png new file mode 100644 index 0000000000000000000000000000000000000000..b34a869072221246762fe4bf430b74a2e601792e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0690e263022007a57242d3c23e3dad7e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png new file mode 100644 index 0000000000000000000000000000000000000000..9195eb9feb12d6f72b15df615f915538de2fefd0 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/08a36e882fdf0781579f87eb3cb2d753.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b49251d7f9e3aefe10107914a280c3b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b49251d7f9e3aefe10107914a280c3b.png new file mode 100644 index 0000000000000000000000000000000000000000..0342ee4662b45d92aa3932ac33adeaa92ee4b8fe Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b49251d7f9e3aefe10107914a280c3b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png new file mode 100644 index 0000000000000000000000000000000000000000..88d34365cf50b55ed16c2059e3a1bbbf2ca54eeb Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0b7a099134e9bf2eadfc1a45fec19d1b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0be62ddd38004d7b2458b87617c0dad1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0be62ddd38004d7b2458b87617c0dad1.png new file mode 100644 index 0000000000000000000000000000000000000000..5268a64033e075ac72a3fdbfb9bfa26aaffd72d9 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0be62ddd38004d7b2458b87617c0dad1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png new file mode 100644 index 0000000000000000000000000000000000000000..f5effb143db2203fa8707cdd56e7b98c4df864a2 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0cde21f81990256ed126546e5e039350.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png new file mode 100644 index 0000000000000000000000000000000000000000..aca5a2cd4596fe4d1481e23d95e6a5ff6b8f0ec8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0d052cb6110c65184c9b43fa9e7be3be.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa7054902bd4e5a33574c01d07eb554c8879681 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0ecf63075eb30bd2463ea3f3c5c90bf9.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0f077075b7e0e2f8a2acfaf364ea3bca.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0f077075b7e0e2f8a2acfaf364ea3bca.png new file mode 100644 index 0000000000000000000000000000000000000000..1158d25eee6f2fc26e58ab78b0afbd61f2358937 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0f077075b7e0e2f8a2acfaf364ea3bca.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0fdadb55f855267a7d534becc0c8bc92.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0fdadb55f855267a7d534becc0c8bc92.png new file mode 100644 index 0000000000000000000000000000000000000000..060005f17133c15e2ca07eb07020af00aa884cd4 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0fdadb55f855267a7d534becc0c8bc92.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png new file mode 100644 index 0000000000000000000000000000000000000000..dbde14ea5efaa4bc3dfdfa1152b42f30b1a8f3da Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/0febc10f99e86c7ee7e906aaa76ed135.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/12037cc0034433af460c4490aff31b7d.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/12037cc0034433af460c4490aff31b7d.png new file mode 100644 index 0000000000000000000000000000000000000000..cc05f0a5dced57fa1553b6f298b1f7824eae2586 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/12037cc0034433af460c4490aff31b7d.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/169b577a320e9bdbc0c4878b1b726121.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/169b577a320e9bdbc0c4878b1b726121.png new file mode 100644 index 0000000000000000000000000000000000000000..251c23adf07aeef49eb28632c6c64853a3423aec Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/169b577a320e9bdbc0c4878b1b726121.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/18a8015d7641ce9e455b18db1c013487.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/18a8015d7641ce9e455b18db1c013487.png new file mode 100644 index 0000000000000000000000000000000000000000..ca461287c3cc04ef815fab419bcf6177bdf085da Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/18a8015d7641ce9e455b18db1c013487.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1926f7a9982c84601d7617acdc602016.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1926f7a9982c84601d7617acdc602016.png new file mode 100644 index 0000000000000000000000000000000000000000..a51576ad27f9d9ac7e9dadb87996b8df60cac5ec Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1926f7a9982c84601d7617acdc602016.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1a1cb67ca16b5b59262a14d466b820a0.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1a1cb67ca16b5b59262a14d466b820a0.png new file mode 100644 index 0000000000000000000000000000000000000000..bf910d001db73828e37ee9ef31cd82c22380dd70 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1a1cb67ca16b5b59262a14d466b820a0.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1bda549a37778ac28b4354a82fcf8c43.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1bda549a37778ac28b4354a82fcf8c43.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5ccc681683250ff99ca6b385a9abc7c8667134 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1bda549a37778ac28b4354a82fcf8c43.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd0f3729eed8d64ec6fd5bf02a2e05e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd0f3729eed8d64ec6fd5bf02a2e05e.png new file mode 100644 index 0000000000000000000000000000000000000000..3027fce31cccc32db604ea589a4ca3b4262f0bb8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd0f3729eed8d64ec6fd5bf02a2e05e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd1f69c3e298fead10799fd1b132890.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd1f69c3e298fead10799fd1b132890.png new file mode 100644 index 0000000000000000000000000000000000000000..3b177d2a665c85d17038cb8a8df9f0922b839113 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1cd1f69c3e298fead10799fd1b132890.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ce66e09909fcbddf299d6396b5e876c.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ce66e09909fcbddf299d6396b5e876c.png new file mode 100644 index 0000000000000000000000000000000000000000..7bee492805c004885a83485350c51327b73ce176 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ce66e09909fcbddf299d6396b5e876c.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ced4c025cb97db61f71aaf8f9a7fba8.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ced4c025cb97db61f71aaf8f9a7fba8.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f6cf73f669c322b5db9b9647895667fc7b6d51 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/1ced4c025cb97db61f71aaf8f9a7fba8.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/232ffac111afab720bdc977a4cf59c6c.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/232ffac111afab720bdc977a4cf59c6c.png new file mode 100644 index 0000000000000000000000000000000000000000..5f42ba1b4e03012f4ff2b3a0595ad2ec83e6dfea Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/232ffac111afab720bdc977a4cf59c6c.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/23ba66e67c88a3d73ee4818b8fef341b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/23ba66e67c88a3d73ee4818b8fef341b.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf87480a9ed3549d2fce53f1faf46a69cb7de05 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/23ba66e67c88a3d73ee4818b8fef341b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png new file mode 100644 index 0000000000000000000000000000000000000000..f5efbc73b5eae1a3c121a63cc2ab7865dd62a7dd Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/24bb8f6a27200acccfc9f35abef66ace.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2606e612aadaee647f36031fe51ca7c5.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2606e612aadaee647f36031fe51ca7c5.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9d11f8fff14872f02c16fcf6c4b91a0877140e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2606e612aadaee647f36031fe51ca7c5.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e5108b0e00186405d1843abda1d3f0a3b63518 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bbde2e834161d90f9ee930ad94d58b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bf396f7e682b956b587b5e4c32717f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bf396f7e682b956b587b5e4c32717f.png new file mode 100644 index 0000000000000000000000000000000000000000..566656adc43670c6757aa8ef5624e843ade1aecd Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/27bf396f7e682b956b587b5e4c32717f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2a968801a8dfcaff5a9f2d5bea7dd9c4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2a968801a8dfcaff5a9f2d5bea7dd9c4.png new file mode 100644 index 0000000000000000000000000000000000000000..9c196abf9fb9a8ed92b4763a2d29a044e09e1f66 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2a968801a8dfcaff5a9f2d5bea7dd9c4.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png new file mode 100644 index 0000000000000000000000000000000000000000..c39612223e7ed3c7f13cf68ddfd4fc3ca8751af2 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/2f99b1f7802995bc44eeec042e4b9f91.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/30695ad0f3785929a2762a5589fb18ee.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/30695ad0f3785929a2762a5589fb18ee.png new file mode 100644 index 0000000000000000000000000000000000000000..1842d0c393e68de57f551e47ebb8b525752f3e9a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/30695ad0f3785929a2762a5589fb18ee.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/31357ca20c263e8b506c4483ca1c00f1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/31357ca20c263e8b506c4483ca1c00f1.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2abb322f686beae3152cb08cf6ddf44da85052 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/31357ca20c263e8b506c4483ca1c00f1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/315cf4f0d594007da4eac6073a3f4996.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/315cf4f0d594007da4eac6073a3f4996.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd4c8e6207fd3c8e5e69bceece4ec72ae1771d7 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/315cf4f0d594007da4eac6073a3f4996.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/334daffe84fefa6ba98decf10d0f8659.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/334daffe84fefa6ba98decf10d0f8659.png new file mode 100644 index 0000000000000000000000000000000000000000..1f928c8a9c0abbfd3c459378357d39ca4adb9b9a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/334daffe84fefa6ba98decf10d0f8659.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3526de248d9fc575ea206cc5bb3ed327.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3526de248d9fc575ea206cc5bb3ed327.png new file mode 100644 index 0000000000000000000000000000000000000000..f692c3e7716e0cf4ccb424f67324aef1184b8d66 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3526de248d9fc575ea206cc5bb3ed327.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb75ba7d96951fcc3689177353a18915b7e91a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38b981eb7007dce7e97c2ebed9cf0afc.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38f9c530bddd4e73aa0b69f7ccdc79c9.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38f9c530bddd4e73aa0b69f7ccdc79c9.png new file mode 100644 index 0000000000000000000000000000000000000000..f05464acf550976e291563f063dba2aee509390c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/38f9c530bddd4e73aa0b69f7ccdc79c9.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e50363e32c135c74c18da90fe9b328e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e50363e32c135c74c18da90fe9b328e.png new file mode 100644 index 0000000000000000000000000000000000000000..a25f1508dec27bc3082c2cfcb6968ffc8202cadf Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e50363e32c135c74c18da90fe9b328e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e8b461ba7d61261b1351b294690b662.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e8b461ba7d61261b1351b294690b662.png new file mode 100644 index 0000000000000000000000000000000000000000..442e11ce69f04c0014b1622a981fffa4eb899b9b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3e8b461ba7d61261b1351b294690b662.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3eb3c199bbd2a73243332970f3f5c9bc.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3eb3c199bbd2a73243332970f3f5c9bc.png new file mode 100644 index 0000000000000000000000000000000000000000..465585b8fa1eb2ad6c1a08e61a2faab80568257d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/3eb3c199bbd2a73243332970f3f5c9bc.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40685f356cf25b03361cb654ebe51cb7.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40685f356cf25b03361cb654ebe51cb7.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0010c591fa942b4a2225016a268053baef3a25 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40685f356cf25b03361cb654ebe51cb7.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40c4c569759108a45f17bb7fed9b4177.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40c4c569759108a45f17bb7fed9b4177.png new file mode 100644 index 0000000000000000000000000000000000000000..3169aaaefb8204acc4ee2dbf4ab3c2607ecc33f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/40c4c569759108a45f17bb7fed9b4177.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4179ece1d807a09e93df0010ce642c63.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4179ece1d807a09e93df0010ce642c63.png new file mode 100644 index 0000000000000000000000000000000000000000..7060c9c0adeebc9b309a15c60ca33b511720e319 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4179ece1d807a09e93df0010ce642c63.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f54de2f8a73ad21cbc17fc364f31dc42b575ac Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/441c18b9da96878e4b911373de75b75c.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/47e689a706af3f7d909668f8a52f634f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/47e689a706af3f7d909668f8a52f634f.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d75eda65dcb64d18f169dbce5bab9913b47852 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/47e689a706af3f7d909668f8a52f634f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4af12b0282298ea85de30ca42f4fbaf4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4af12b0282298ea85de30ca42f4fbaf4.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa9d13fe838efe888dee5e645fdb9cbd67d84df Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/4af12b0282298ea85de30ca42f4fbaf4.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/500da1006b05173ddc3307577a85d5ce.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/500da1006b05173ddc3307577a85d5ce.png new file mode 100644 index 0000000000000000000000000000000000000000..49930253722d85481485a1f98569354dd992e91c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/500da1006b05173ddc3307577a85d5ce.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50471e867656c5b46d21c4a98327a136.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50471e867656c5b46d21c4a98327a136.png new file mode 100644 index 0000000000000000000000000000000000000000..60da00ac9365076c27ef0b719c90456f31b1bb45 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50471e867656c5b46d21c4a98327a136.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50e96bcd5e005e5c9c15c027f5f64767.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50e96bcd5e005e5c9c15c027f5f64767.png new file mode 100644 index 0000000000000000000000000000000000000000..33188202393c2185dacc83586c2c8f151341a80c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/50e96bcd5e005e5c9c15c027f5f64767.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png new file mode 100644 index 0000000000000000000000000000000000000000..2263527332a19d3deb950348274ddc84a7151a8d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/52b23aa9fa58ed19f177ccc3989787ca.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/538d768eea5d804019b80c6d94003f3d.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/538d768eea5d804019b80c6d94003f3d.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4f6bad9a1c7b155f348e5b4846ffee6a61cf9f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/538d768eea5d804019b80c6d94003f3d.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/53feb025295b6b77a2040acd1a6e2add.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/53feb025295b6b77a2040acd1a6e2add.png new file mode 100644 index 0000000000000000000000000000000000000000..88a6bc60a66b359e78031683d6bca001ab094ba5 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/53feb025295b6b77a2040acd1a6e2add.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5453d1a20de861dfcf2745135ffcd682.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5453d1a20de861dfcf2745135ffcd682.png new file mode 100644 index 0000000000000000000000000000000000000000..933e273500b35c9fc4e8dd209b1bc2a8bee68fe9 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5453d1a20de861dfcf2745135ffcd682.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/550833f81383adc5100f3de0c3fabf3a.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/550833f81383adc5100f3de0c3fabf3a.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2270aa01111c8d82f02dbe4e15081a2178232a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/550833f81383adc5100f3de0c3fabf3a.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/55d4ebaf16241190e20a5e255cba2209.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/55d4ebaf16241190e20a5e255cba2209.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb10adfc54f394196c861b731f99f1f831b2b34 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/55d4ebaf16241190e20a5e255cba2209.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png new file mode 100644 index 0000000000000000000000000000000000000000..295ff28d339a2276e030f565c8469b8b75570cc4 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/573234aaf20c22027c7af5b2ca170ac7.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59113e9cd8c1e74ed5e19d3529dabf8e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59113e9cd8c1e74ed5e19d3529dabf8e.png new file mode 100644 index 0000000000000000000000000000000000000000..a0cfa13b28908e7baa85d54bcb74da679e57c217 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59113e9cd8c1e74ed5e19d3529dabf8e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59e63923b54382504a890a7abbda42d1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59e63923b54382504a890a7abbda42d1.png new file mode 100644 index 0000000000000000000000000000000000000000..c52423019b7562fe656a4b14b154360206d6cea8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/59e63923b54382504a890a7abbda42d1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5aafb2ddf682900bf8070cbe66e121b1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5aafb2ddf682900bf8070cbe66e121b1.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3cfad060738e0802619fc90017db774b6c0949 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5aafb2ddf682900bf8070cbe66e121b1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5acb79b20133c883c13c6738124c13ec.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5acb79b20133c883c13c6738124c13ec.png new file mode 100644 index 0000000000000000000000000000000000000000..45f38d7ac7ceafb2878a5d44cba412cd8a2871aa Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5acb79b20133c883c13c6738124c13ec.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5c59a0fdc8aab158e9bbdfd3c8167a0b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5c59a0fdc8aab158e9bbdfd3c8167a0b.png new file mode 100644 index 0000000000000000000000000000000000000000..2d84a8e009961a97b1c4825e509b9a2ca533ffd5 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5c59a0fdc8aab158e9bbdfd3c8167a0b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da3c39de73e8c5605b18998ef8cb54f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da3c39de73e8c5605b18998ef8cb54f.png new file mode 100644 index 0000000000000000000000000000000000000000..c13a86a6182feed1789aaa5542cf5d87c272aa5d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da3c39de73e8c5605b18998ef8cb54f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da483bfff690860767bb62850cdb8b8.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da483bfff690860767bb62850cdb8b8.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b82df968c20b288b68f2d758497d97f82dc251 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5da483bfff690860767bb62850cdb8b8.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5f8e60c84249e4db98dd211ea985b94a.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5f8e60c84249e4db98dd211ea985b94a.png new file mode 100644 index 0000000000000000000000000000000000000000..5066e84b1df0de03f8496e663f149ee9a35146fb Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/5f8e60c84249e4db98dd211ea985b94a.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61090ef941c3bee6886befa7ccbd4e32.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61090ef941c3bee6886befa7ccbd4e32.png new file mode 100644 index 0000000000000000000000000000000000000000..95ad70f332453f2718e04f5c641e1d198bb83b13 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61090ef941c3bee6886befa7ccbd4e32.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61c6794ba718017d62bd22808994dcb4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61c6794ba718017d62bd22808994dcb4.png new file mode 100644 index 0000000000000000000000000000000000000000..9b95ed2e53731c40f2800d16cfb77f30e175d92e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/61c6794ba718017d62bd22808994dcb4.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/630e4b8441f1ef6d3ac93a272fcfe991.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/630e4b8441f1ef6d3ac93a272fcfe991.png new file mode 100644 index 0000000000000000000000000000000000000000..b6aa73abe338c09f4903b9b6218b5c45369ae6a6 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/630e4b8441f1ef6d3ac93a272fcfe991.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/63a036f8b3e945243bb9a3fc3ca5128f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/63a036f8b3e945243bb9a3fc3ca5128f.png new file mode 100644 index 0000000000000000000000000000000000000000..cd38e0130fb258f4af7b11e77c9ac7d369a7ab4c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/63a036f8b3e945243bb9a3fc3ca5128f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6607f84413a4d15952bc62bfab3ca297.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6607f84413a4d15952bc62bfab3ca297.png new file mode 100644 index 0000000000000000000000000000000000000000..21996a12eacc42d4ead77f689e242d90e1b782b6 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6607f84413a4d15952bc62bfab3ca297.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6735c2aab0dea594442a0f3f715c2403.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6735c2aab0dea594442a0f3f715c2403.png new file mode 100644 index 0000000000000000000000000000000000000000..357f9bf6d367c0bbd010dabb07648db339bdb627 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6735c2aab0dea594442a0f3f715c2403.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1f324ea45dc62eaa9678acce415d4fe49a095a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6805ba41e7a0270d4ccec5548dbb903e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/689a4f96efaea0c93e4d418f565f7f02.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/689a4f96efaea0c93e4d418f565f7f02.png new file mode 100644 index 0000000000000000000000000000000000000000..4e44ddd1f06acd9b0921d4cfd822b2494771c770 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/689a4f96efaea0c93e4d418f565f7f02.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6966cae0fe17a37bc374b002f24ec37b.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6966cae0fe17a37bc374b002f24ec37b.png new file mode 100644 index 0000000000000000000000000000000000000000..97111fcc9b48ba155466930d3dc00a6f45c13b8b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6966cae0fe17a37bc374b002f24ec37b.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/69b9cd34a0806d2f2182f6575900e2b0.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/69b9cd34a0806d2f2182f6575900e2b0.png new file mode 100644 index 0000000000000000000000000000000000000000..357ee1252644c77a35b813f1d066158153a72da8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/69b9cd34a0806d2f2182f6575900e2b0.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6b7b07b3925da6a3ee2bc8f4bd45e79d.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6b7b07b3925da6a3ee2bc8f4bd45e79d.png new file mode 100644 index 0000000000000000000000000000000000000000..ca006068bd8bcfb57978973c9e1672c0457bcc13 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6b7b07b3925da6a3ee2bc8f4bd45e79d.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png new file mode 100644 index 0000000000000000000000000000000000000000..81c8b26f51a1d5dba6cf4eb36f554351880fdd87 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/6df9417d3e48b21760f094ed0942ff2f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/718b49d6cfc47694a75b2daad8869851.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/718b49d6cfc47694a75b2daad8869851.png new file mode 100644 index 0000000000000000000000000000000000000000..571394a32172e27734b98e8e9b68efa25e3d871a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/718b49d6cfc47694a75b2daad8869851.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/720047965be0fd8a8965415c48c4feff.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/720047965be0fd8a8965415c48c4feff.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac25f64ea52ead38894707cfc1786a7830543b6 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/720047965be0fd8a8965415c48c4feff.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png new file mode 100644 index 0000000000000000000000000000000000000000..fa357600499fa8263d20e73dd3711509c4af24f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7369f219eb7d616a8e8fda72184a8a5f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ad5ea0a51badf8551617d5b4e8922de.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ad5ea0a51badf8551617d5b4e8922de.png new file mode 100644 index 0000000000000000000000000000000000000000..a98b4e0761036fce183818819a64863a9e38ccea Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ad5ea0a51badf8551617d5b4e8922de.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7bda118becca0c2322c04dd079680089.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7bda118becca0c2322c04dd079680089.png new file mode 100644 index 0000000000000000000000000000000000000000..8b183c06a0f476e6e58c99af2b4266f78f03db3b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7bda118becca0c2322c04dd079680089.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7d859c19f449c152ed0e4a7a6e0eda75.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7d859c19f449c152ed0e4a7a6e0eda75.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed673d893f128e67fe0b7ee04b7af32bd94b37e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7d859c19f449c152ed0e4a7a6e0eda75.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png new file mode 100644 index 0000000000000000000000000000000000000000..bc971a067d458386834c0e55748c06324bbda654 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7ee358a6f6e69d8e1dd8f757debed82f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7f8902c6b45916bb1e8c02059e665ee4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7f8902c6b45916bb1e8c02059e665ee4.png new file mode 100644 index 0000000000000000000000000000000000000000..05c20510b5920bd583e83c17de6133c16048b01a Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7f8902c6b45916bb1e8c02059e665ee4.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png new file mode 100644 index 0000000000000000000000000000000000000000..b02bd52abfa9d7891403169e7f4c010d6ff1cd18 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/7fd79a497b3dfbab69e3f66060be388e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/84dedb758861ea56a3a8c6d80f513125.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/84dedb758861ea56a3a8c6d80f513125.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb5b0d2350d3f79e260d63dd464d630e6f99120 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/84dedb758861ea56a3a8c6d80f513125.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/890bb1bcee0d532346b14ca9243949c8.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/890bb1bcee0d532346b14ca9243949c8.png new file mode 100644 index 0000000000000000000000000000000000000000..1399931e8a061e7b086f37e6f139ef917e3e98a6 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/890bb1bcee0d532346b14ca9243949c8.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/8b0a8dd97ce21ae2013e88131f330225.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/8b0a8dd97ce21ae2013e88131f330225.png new file mode 100644 index 0000000000000000000000000000000000000000..305d2e0b13920e5942b166c6dc5155c211992c73 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/8b0a8dd97ce21ae2013e88131f330225.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/90c6dfffee4475e09672dbb96b393664.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/90c6dfffee4475e09672dbb96b393664.png new file mode 100644 index 0000000000000000000000000000000000000000..38fa58cf1eaa5e794b4d79b45225bf63484880ed Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/90c6dfffee4475e09672dbb96b393664.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9323905c3fe5016eaac85c14dd89d157.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9323905c3fe5016eaac85c14dd89d157.png new file mode 100644 index 0000000000000000000000000000000000000000..0faad7625ac452f1a61615518fa3e555e4fd9560 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9323905c3fe5016eaac85c14dd89d157.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png new file mode 100644 index 0000000000000000000000000000000000000000..94729fa4b319d6fc0fb8b5de29fc273183c32f92 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9328c4f42755dd3d1483da946d82c814.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/96caa939cb39eda2f6baca6a744a74ea.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/96caa939cb39eda2f6baca6a744a74ea.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7729e8238117814999151105bffcb77e0ba7f9 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/96caa939cb39eda2f6baca6a744a74ea.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/99661383151bbd9474a8268458f93747.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/99661383151bbd9474a8268458f93747.png new file mode 100644 index 0000000000000000000000000000000000000000..03aa263d33e5185e253492f6759b184b083d983e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/99661383151bbd9474a8268458f93747.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9a5d77c6cfeb278e3ea2f4bcd6908b0e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9a5d77c6cfeb278e3ea2f4bcd6908b0e.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1f883cf865ae9bf09de0c2fb53bd0a01b98709 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9a5d77c6cfeb278e3ea2f4bcd6908b0e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b0a2e63b984fc350b4883b2072a2445.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b0a2e63b984fc350b4883b2072a2445.png new file mode 100644 index 0000000000000000000000000000000000000000..12290d3e6d673e36cc4c0932894d581465860154 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b0a2e63b984fc350b4883b2072a2445.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b1f1793e8e525cd6e48c2e183c8ad57.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b1f1793e8e525cd6e48c2e183c8ad57.png new file mode 100644 index 0000000000000000000000000000000000000000..b82992deafe6c00ebf51acc9b61c7f5ef98a2d99 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9b1f1793e8e525cd6e48c2e183c8ad57.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9c3e864059c7762bcd1d24925375ada2.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9c3e864059c7762bcd1d24925375ada2.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb42352a11774ed2062df47d58329af92011550 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/9c3e864059c7762bcd1d24925375ada2.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a0e05696d710c6adee345fb610eb57e7.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a0e05696d710c6adee345fb610eb57e7.png new file mode 100644 index 0000000000000000000000000000000000000000..7464e08af788fa49988e544b72b2e26fb180a4fa Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a0e05696d710c6adee345fb610eb57e7.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2b5ad1650271d29cb1b2398d49d6e22.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2b5ad1650271d29cb1b2398d49d6e22.png new file mode 100644 index 0000000000000000000000000000000000000000..90c0a39026878637ec30b6ab581fbb94f12b1c09 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2b5ad1650271d29cb1b2398d49d6e22.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2ea400f9fa913d9a5f80a4ccb3da64f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2ea400f9fa913d9a5f80a4ccb3da64f.png new file mode 100644 index 0000000000000000000000000000000000000000..014bd33ebc03f13666ece9abfd3636658cead3fc Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a2ea400f9fa913d9a5f80a4ccb3da64f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a35d49f0aa5d96aedc528ffda6a9786a.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a35d49f0aa5d96aedc528ffda6a9786a.png new file mode 100644 index 0000000000000000000000000000000000000000..1b871b68669ea8316a0445489091da03eec02bb4 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a35d49f0aa5d96aedc528ffda6a9786a.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a7432081624c35d77423f07d696e8cd1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a7432081624c35d77423f07d696e8cd1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1afd85e92bda7a1d6e7e97c56396b4970f13ac9 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a7432081624c35d77423f07d696e8cd1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdb95932af6fc3c6c8853047b9cb0cb08aa4b9c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8e6a2203aee2403d9e8bbd5b0e55bb1.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8f3dabd037005c388c7c84a443e183c.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8f3dabd037005c388c7c84a443e183c.png new file mode 100644 index 0000000000000000000000000000000000000000..15d65387564b20080282b31dffdd76ec51ceccdd Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/a8f3dabd037005c388c7c84a443e183c.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aa75940364209caf69464bb5a0fdc182.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aa75940364209caf69464bb5a0fdc182.png new file mode 100644 index 0000000000000000000000000000000000000000..c727cdb37056e5b8ea102f00a801dcfe24f83893 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aa75940364209caf69464bb5a0fdc182.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aafd877d8b150145941e82d7a00426fb.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aafd877d8b150145941e82d7a00426fb.png new file mode 100644 index 0000000000000000000000000000000000000000..00691d5559fdef54c2effbbb8fc2d9cd975913f8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aafd877d8b150145941e82d7a00426fb.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab0ff8dc9415e55b8bb6cd15c25889b5.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab0ff8dc9415e55b8bb6cd15c25889b5.png new file mode 100644 index 0000000000000000000000000000000000000000..2fab49b9637a57ffcfa39c8ce9b3e199c63eb48b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab0ff8dc9415e55b8bb6cd15c25889b5.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab30421cd34170b0f584f9261c5cce95.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab30421cd34170b0f584f9261c5cce95.png new file mode 100644 index 0000000000000000000000000000000000000000..d66f165cbc86ee8da00e84ed2b47af740fdf0868 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ab30421cd34170b0f584f9261c5cce95.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aefd918e506b2a4f90cead3f51191012.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aefd918e506b2a4f90cead3f51191012.png new file mode 100644 index 0000000000000000000000000000000000000000..249cd3b2821068d702e677fd1effae97e69c00ed Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/aefd918e506b2a4f90cead3f51191012.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/af774bec3be1580f4589365ddfdfd42a.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/af774bec3be1580f4589365ddfdfd42a.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6e6b46dc204e395ba24c75922f1ef796401595 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/af774bec3be1580f4589365ddfdfd42a.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b0dab9a7717cad1f2c3fc457843d8b1e.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b0dab9a7717cad1f2c3fc457843d8b1e.png new file mode 100644 index 0000000000000000000000000000000000000000..3160087388750499cbfcb6d12979fd9d7a33e410 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b0dab9a7717cad1f2c3fc457843d8b1e.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b57a2452928884e15dcc6db8983a8487.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b57a2452928884e15dcc6db8983a8487.png new file mode 100644 index 0000000000000000000000000000000000000000..5bde6b993967d94ef5664b819b3c172a0afacd9b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b57a2452928884e15dcc6db8983a8487.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b63dcf23db53638500b41ef6fb6337e0.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b63dcf23db53638500b41ef6fb6337e0.png new file mode 100644 index 0000000000000000000000000000000000000000..77aed4dc3b1bcaee6f1d9c6bbce2cf4ac28bc0a4 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b63dcf23db53638500b41ef6fb6337e0.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7544e28d1475877dbd4ab6fd6c54147.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7544e28d1475877dbd4ab6fd6c54147.png new file mode 100644 index 0000000000000000000000000000000000000000..93538b53bfb6f66c9d8f14b9f31d6f46d5429704 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7544e28d1475877dbd4ab6fd6c54147.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7d029a2d132e49905ced7d48682a4b3.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7d029a2d132e49905ced7d48682a4b3.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae82ed002e1b2956ee30a790d37bba4cec4c8c0 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b7d029a2d132e49905ced7d48682a4b3.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b867e0762243702d113b42fbf3308ffd.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b867e0762243702d113b42fbf3308ffd.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6378a81882f61766e05d041ef10b2a5fe3181d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b867e0762243702d113b42fbf3308ffd.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png new file mode 100644 index 0000000000000000000000000000000000000000..640c5cd12c86521bd2320654ffb1b4a0415ec08f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9172c9a0a6cabafe30f7ae972508775.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b940d60c57340f598a98fb435c952662.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b940d60c57340f598a98fb435c952662.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cafb29828694b9abc81c1aa569274613f7f70c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b940d60c57340f598a98fb435c952662.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9db519a9f22cfaf27b1eb2a0db2c9ff.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9db519a9f22cfaf27b1eb2a0db2c9ff.png new file mode 100644 index 0000000000000000000000000000000000000000..9a19b32e5c7c94ecd1c63395f27ffda7c794267c Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/b9db519a9f22cfaf27b1eb2a0db2c9ff.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ba93fa3bc546be7e20e7fb8a1035f8bd.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ba93fa3bc546be7e20e7fb8a1035f8bd.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc679e7a40c54ff5b269e9bb228ad0c6cd374b1 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ba93fa3bc546be7e20e7fb8a1035f8bd.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bb9b6243192763722d0b52e8165500da.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bb9b6243192763722d0b52e8165500da.png new file mode 100644 index 0000000000000000000000000000000000000000..ae16e9b9adf2db2d9b5f1389fa81540023635cdc Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bb9b6243192763722d0b52e8165500da.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd10911ab4e75acaa92b8e298abc3d76.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd10911ab4e75acaa92b8e298abc3d76.png new file mode 100644 index 0000000000000000000000000000000000000000..318b704b2d4b522fda67e1525307e97fd72b66e2 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd10911ab4e75acaa92b8e298abc3d76.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd56ecf2577cb944fe8b68747fa5bbf7.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd56ecf2577cb944fe8b68747fa5bbf7.png new file mode 100644 index 0000000000000000000000000000000000000000..5af4f5dbc0d3b39d3e961b45121c79ccb93bc64d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd56ecf2577cb944fe8b68747fa5bbf7.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png new file mode 100644 index 0000000000000000000000000000000000000000..6d734f993ac5d810a93924fd941bd5dade2b48c3 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/bd6acd7229eba29bc8a89a4ff6315acb.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c000509ee9ad03e06f68e585e8a2dfe5.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c000509ee9ad03e06f68e585e8a2dfe5.png new file mode 100644 index 0000000000000000000000000000000000000000..fb2148f329fd493cbdd9aed449e8170c5e800026 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c000509ee9ad03e06f68e585e8a2dfe5.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c1ead944b251d69c037418f3b84ea3fe.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c1ead944b251d69c037418f3b84ea3fe.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7c9d4423b7ac167a30ae087420a64698c8d303 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c1ead944b251d69c037418f3b84ea3fe.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c2d042905e25ba278f31a07aa22cc94f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c2d042905e25ba278f31a07aa22cc94f.png new file mode 100644 index 0000000000000000000000000000000000000000..4bdfe840e961730ee7ec19267bc9d64f2f49e446 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c2d042905e25ba278f31a07aa22cc94f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c3d177a22042b1d9b2076d3141382240.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c3d177a22042b1d9b2076d3141382240.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9915a6fe757c457f0d3fffa0fbb5130b699d33 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c3d177a22042b1d9b2076d3141382240.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png new file mode 100644 index 0000000000000000000000000000000000000000..b5218c390edf597f099407470ad8a57249632997 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c58bcb6e6e62d83f8699005a56622b76.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6ccef42089e8fe61de8f83671bf2a6d.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6ccef42089e8fe61de8f83671bf2a6d.png new file mode 100644 index 0000000000000000000000000000000000000000..3a13671b6271a03138370ed94d0e33102526ca58 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6ccef42089e8fe61de8f83671bf2a6d.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png new file mode 100644 index 0000000000000000000000000000000000000000..d93c75583552a9148eba26e7674524f328cc0fb6 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/c6cd28ce4e310598c81a80d11606a4f9.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb476028e156ecddb59117042ffc760f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb476028e156ecddb59117042ffc760f.png new file mode 100644 index 0000000000000000000000000000000000000000..75fbd3d98578a4d671e53e285e437f87994c1d1e Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb476028e156ecddb59117042ffc760f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb9824b8e01f9f789b8159f6490a5cab.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb9824b8e01f9f789b8159f6490a5cab.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5a7ccf2bb5c8a9edc8fd05157681bde47786c9 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cb9824b8e01f9f789b8159f6490a5cab.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cc2144407f2d5860cb0b45daa4061f49.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cc2144407f2d5860cb0b45daa4061f49.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b540dd3c7ffbc49a220ca2a428a70d71909cac Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cc2144407f2d5860cb0b45daa4061f49.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ccd90c8a25565345c08475ef89a48979.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ccd90c8a25565345c08475ef89a48979.png new file mode 100644 index 0000000000000000000000000000000000000000..1701c7879eeff505bfbf60ebcd21dc5f41215f6b Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ccd90c8a25565345c08475ef89a48979.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cd026caac826be9c0b4562dc77da2231.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cd026caac826be9c0b4562dc77da2231.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ddbebdcc815575f6a4959167666590933e36e3 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cd026caac826be9c0b4562dc77da2231.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cdc3abf3ed3ad169875cdf01df3bbebd.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cdc3abf3ed3ad169875cdf01df3bbebd.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f9d6c6f77a3e6bed6afeedfc48f21225f5030d Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cdc3abf3ed3ad169875cdf01df3bbebd.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cf3ed09ae8be3896a8b3a64512e2b3e2.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cf3ed09ae8be3896a8b3a64512e2b3e2.png new file mode 100644 index 0000000000000000000000000000000000000000..d455d4d19b914d92d27986a5ee190ded491af647 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/cf3ed09ae8be3896a8b3a64512e2b3e2.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d5c2045478d9c363931cd393c70d0967.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d5c2045478d9c363931cd393c70d0967.png new file mode 100644 index 0000000000000000000000000000000000000000..95da426ae8715cffc2a42aed317c7e7a0dbdec69 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d5c2045478d9c363931cd393c70d0967.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d669819ee8046f320fa761555cca8ee4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d669819ee8046f320fa761555cca8ee4.png new file mode 100644 index 0000000000000000000000000000000000000000..598f1bb02acaee4ab11a125392842b16c61e1ecd Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d669819ee8046f320fa761555cca8ee4.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d6e328cd48a38536ac77a44e7dbdcebb.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d6e328cd48a38536ac77a44e7dbdcebb.png new file mode 100644 index 0000000000000000000000000000000000000000..a54738f54506e7cc8fe66a1c6efd7de154e535e8 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d6e328cd48a38536ac77a44e7dbdcebb.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d7d7899ba4633f5ddc702f85038cff90.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d7d7899ba4633f5ddc702f85038cff90.png new file mode 100644 index 0000000000000000000000000000000000000000..8388a040f081e0a472aee7fe16b46589e6c9a785 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d7d7899ba4633f5ddc702f85038cff90.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d918bd622a6c3aef8841e71db6eb77d7.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d918bd622a6c3aef8841e71db6eb77d7.png new file mode 100644 index 0000000000000000000000000000000000000000..393d6f7fbedfc3ad5556fd1ab23f5ee093a4d90f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d918bd622a6c3aef8841e71db6eb77d7.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d91edd580afe5c0d6d3a527114edc566.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d91edd580afe5c0d6d3a527114edc566.png new file mode 100644 index 0000000000000000000000000000000000000000..bde0a1201678cc5790feb94044c6248de0cba502 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/d91edd580afe5c0d6d3a527114edc566.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/dc593654c0e66575a658b227c4682488.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/dc593654c0e66575a658b227c4682488.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc1cc693490904f1156cdf016eec32fb75fc9d7 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/dc593654c0e66575a658b227c4682488.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/de8fcc94133a78349ccb123c1cbffd75.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/de8fcc94133a78349ccb123c1cbffd75.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9694df9e16d9fec60a6f745fb94ecc63e94cec Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/de8fcc94133a78349ccb123c1cbffd75.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/df8dd5634c193a471c60f3e789a83828.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/df8dd5634c193a471c60f3e789a83828.png new file mode 100644 index 0000000000000000000000000000000000000000..165e80de9462d38d4bff0835bb7933b94bec8444 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/df8dd5634c193a471c60f3e789a83828.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png new file mode 100644 index 0000000000000000000000000000000000000000..1064fcf9faddc20d279b71b52ecc8f2bf2c49551 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e5c324a441ad3ced88a2ef8eed00a766.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e7ec0596e7d4c240ebf2b82c799e5b99.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e7ec0596e7d4c240ebf2b82c799e5b99.png new file mode 100644 index 0000000000000000000000000000000000000000..848d5cdcb54459a22bf310ccafeeb0d885c80b6f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/e7ec0596e7d4c240ebf2b82c799e5b99.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ed60a76737a0c5241e672d9bdd580141.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ed60a76737a0c5241e672d9bdd580141.png new file mode 100644 index 0000000000000000000000000000000000000000..1b01dc63733435c148e1c3d70ef3b8b58532ae19 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ed60a76737a0c5241e672d9bdd580141.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ef0be11e2ab1a67075a5ce4372ee95c9.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ef0be11e2ab1a67075a5ce4372ee95c9.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2e4cae32655d84c3c9e26c584e9b852b648462 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ef0be11e2ab1a67075a5ce4372ee95c9.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f25a8e1cedde1d4a7a7fdc50c5991a94.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f25a8e1cedde1d4a7a7fdc50c5991a94.png new file mode 100644 index 0000000000000000000000000000000000000000..df894fee48139b534f752ae5f24700dd2bd68d44 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f25a8e1cedde1d4a7a7fdc50c5991a94.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f397a0b4221ca1455531c735937ecd64.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f397a0b4221ca1455531c735937ecd64.png new file mode 100644 index 0000000000000000000000000000000000000000..115aa3414564603a719e4dc72e5c8a6486b4d179 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f397a0b4221ca1455531c735937ecd64.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f482a43c403fc92c3741b4bda5500496.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f482a43c403fc92c3741b4bda5500496.png new file mode 100644 index 0000000000000000000000000000000000000000..939134ff4b77f0ead612e7d467578e065277fc2f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f482a43c403fc92c3741b4bda5500496.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f53fcb126a064b0237a6de95892e5d73.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f53fcb126a064b0237a6de95892e5d73.png new file mode 100644 index 0000000000000000000000000000000000000000..2fb846fbb6291fa5ac7c114aac0cd82dbdfb1dac Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/f53fcb126a064b0237a6de95892e5d73.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png new file mode 100644 index 0000000000000000000000000000000000000000..d15aff5013803aa144b4b20eb2a3ca692e7268f0 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fa0cda21cdbc6d9c9a8449cd8071cd2f.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fae9d723d8105638111c819770ffae9c.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fae9d723d8105638111c819770ffae9c.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c6225a4c729cb33f404110ab9c8f92ed9a64f1 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fae9d723d8105638111c819770ffae9c.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fb9ef77e410a7ff3cca06b31742edb91.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fb9ef77e410a7ff3cca06b31742edb91.png new file mode 100644 index 0000000000000000000000000000000000000000..966b05689126b879cd4f9776b180e60830a6eb50 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fb9ef77e410a7ff3cca06b31742edb91.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fc965fdcb329688a0c4b22eef51e23bf.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fc965fdcb329688a0c4b22eef51e23bf.png new file mode 100644 index 0000000000000000000000000000000000000000..80d67ae5659a5bbeea64288c86e53bccfa52d5f1 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fc965fdcb329688a0c4b22eef51e23bf.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png new file mode 100644 index 0000000000000000000000000000000000000000..4e79d9a3b5e773c83fb8c64baffd12fde47f6773 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fdb3db609abf229f52fc32ae15a91d51.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png new file mode 100644 index 0000000000000000000000000000000000000000..072f918c3271bf1214f5a85e562c38354d78f847 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/fe687c442c48a5685b09560f8a1f1efd.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/febede95d9b0c30296e476329785da84.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/febede95d9b0c30296e476329785da84.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebf82ad242cd384228f7e950307b327fc196a4f Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/febede95d9b0c30296e476329785da84.png differ diff --git a/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ff7163908f7e02f429c2f649c032fef4.png b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ff7163908f7e02f429c2f649c032fef4.png new file mode 100644 index 0000000000000000000000000000000000000000..80f29f91d17861ace339ef80300789347952b4d3 Binary files /dev/null and b/docs/source/features/qsemos_ide/soft_realtime_plugin/media/ff7163908f7e02f429c2f649c032fef4.png differ