Vitis统一软件平台将Xilinx各种软件统一,即支持Vitis嵌入式软件开发流程,又支持Vitis应用软件加速开发流程。本文介绍Vitis嵌入式软件中的linux应用程序开发流程。
1 Vitis软件开发工作流程
嵌入式应用开发流程:
![](/assets/blank.gif)
- 从Vivado导出xsa
- 将xsa导入vitis软件并创建platform
- 创建domain
- 在Vitis IDE调试应用
- 系统级调试
- 生成boot images
Vitis软件platform工作空间结构,有两种Project类型:
Platform Project和System project
Platform Project:提供硬件信息和软件运行环境。可通过导入XSA或存在的Platform建立。几个System project可以建立在同一个Platform Project 上,共享硬件和软件软件。
System project:将同时运行在器件上的应用进行组合。两个独立运行在同一个处理器上的应用不能在一个System
project里。一个workspace可以包含多个System
project。
![](/assets/blank.gif)
Workspace:当打开Vitis软件平台时,创建workspace,用来存储工程数据。
Platform:是硬件部件(XSA)和软件部件(BSP,FSB等)的集合。
Application(Software Project):一个Software Project包含一个或多个源文件,和必要的头文件,编译和生成二进制输出文件(ELF)。System project可以包含多个application project。每一个software project必须有一个相应的domain。
XSA:包含硬件信息,例如处理器配置信息,外设连接信息和器件初始化代码。当创建Platform Project时需要提供XSA。
Domain:Domain时一个板级支持包(BSP)或者包含驱动的运行系统(OS),在这上面构建应用。创建好的软件镜像包含部分Xilinx库。可以在Domain中创建多个应用。Domain可以时一个处理器,也可以是多个。
Flow:软件开发与应用加速开发工作流程有一些差异。目前有三种设计流程:
Zynq Ultrascale+ MPSoC器件在Vitis开发:
![](/assets/blank.gif)
Linux 应用可以通过Linux Domain的sysroot编译和链接库。
system projects 在MPSoC 芯片不同时间运行。在一个 system project上的应用运行在相同的时间。
2 使用Vitis创建Linux应用程序
![](/assets/blank.gif)
2.1 硬件平台与Linux镜像
在使用Vitis创建Linux应用程序之前需要完成如下两步:
1、使用Vivado创建硬件平台;
2、使用Petalinux构建Linux镜像。
以上两部分请参考之前的文章基于ZYNQ MPSOC XCZU3CG的百度Edgeboard FZU3 构建linux系统,在Ubuntu18.04上安装Vivado Vitis Petalinux 2020.1。
本次设计依然是在Edgeboard FZU3上完成。
构建后Linux镜像后,进入到Petalinux工程下的images/linux文件夹,之下如下指令:
cd images/linux
petalinux-build - -sdk
petalinux-package - -sysroot
完成上述过程后,开始使用Vitis创建Linux应用程序。
2.2 Vitis创建Linux应用程序
完成上述过程后,开始使用Vitis创建Linux应用程序。在Vitis下创建Linux应用程序分三步:
1、使用XSA创建Platform
Project;
2、在Platform Project加入Linux Domain;
3、创建Linux Application Project。
使用XSA创建Platform
Project
新建文件夹fzu3_vitis,打开vitis软件将Workspace设置成fzu3_vitis。
![](/assets/blank.gif)
新建Platform Project,点击Create Plateform
Project。
![](/assets/blank.gif)
工程名输入fzu3,选择Create from hardware specification(XSA)
![](/assets/blank.gif)
![](/assets/blank.gif)
选择XSA文件路径,在Operating system中指定linux,点击finish完成Platform
Project创建。
![](/assets/blank.gif)
在Platform Project加入Linux Domain
在加入Linux Domain之前,在fzu3_vitis文件夹中:
新建文件夹image,将Petalinux工程image/linux文件夹下的image.ub、boot.scr 和 rootfs.cpio.gz 拷贝到image。
新建文件夹boot,将system.bit、bl31.elf、uboot.elf、zynqmp_fsbl、pmufw.elf 文件复制到boot。
在boot中,新建文件linux.bif
the_ROM_image:
{[fsbl_config] a53_x64[bootloader] <zynqmp_fsbl.elf>[pmufw_image] <pmufw.elf>[destination_device=pl] <bitstream>[destination_cpu=a53-0,exception_level=el-3, trustzone] <bl31.elf>[destination_cpu=a53-0, exception_level=el-2]<u-boot.elf>
}
在vitis工程中进行如下设置:
![](/assets/blank.gif)
如下设Sysroot Directory路径为Petalinux工程下aarch64-xilinx-linux文件夹。
![](/assets/blank.gif)
设置完成后,Build Project编译工程。
![](/assets/blank.gif)
创建Linux Application Project
在Vitis中点击New->Application Project,
![](/assets/blank.gif)
点击next
![](/assets/blank.gif)
选择刚新建的Platform fzu3
![](/assets/blank.gif)
应用工程名设置成hello
![](/assets/blank.gif)
Domain在Platform中已经设置好,直接next
![](/assets/blank.gif)
选择Linux Hello World进行测试,完成Linux应用程序创建。
![](/assets/blank.gif)
编译hello_system
![](/assets/blank.gif)
在hello_system文件夹下Debug/sd_card文件夹中生成如下文件。
![](/assets/blank.gif)
3 测试
将sd_card中的文件拷贝到SD卡,单板启动,运行./hello.elf,输出Hello_World。
![](/assets/blank.gif)
这里写自定义目录标题
- 1 Vitis软件开发工作流程
- 2 使用Vitis创建Linux应用程序
- 欢迎使用Markdown编辑器
- 新的改变
- 功能快捷键
- 合理的创建标题,有助于目录的生成
- 如何改变文本的样式
- 插入链接与图片
- 如何插入一段漂亮的代码片
- 生成一个适合你的列表
- 创建一个表格
- 创建一个自定义列表
- 如何创建一个注脚
- 注释也是必不可少的
- KaTeX数学公式
- 新的甘特图功能,丰富你的文章
- UML 图表
- FLowchart流程图
- 导出与导入
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片: ![](/assets/blank.gif)
带尺寸的图片: ![](/assets/blank.gif)
居中的图片: ![](/assets/blank.gif)
居中并且带尺寸的图片: ![](/assets/blank.gif)
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目1
- 项目2
- 项目3
创建一个表格
一个简单的表格是这么创建的:
项目
|
Value
|
电脑
|
$1600
|
手机
|
$12
|
导管
|
$1
|
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列
|
第二列
|
第三列
|
第一列文本居中
|
第二列文本居右
|
第三列文本居左
|
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE
|
ASCII
|
HTML
|
Single backticks
|
'Isn't this fun?'
|
‘Isn’t this fun?’
|
Quotes
|
"Isn't this fun?"
|
“Isn’t this fun?”
|
Dashes
|
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash
|
创建一个自定义列表
-
Markdown
-
Text-to-HTML conversion tool
-
Authors
-
John
-
Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
#mermaid-svg-crr6RunpKL1tuNQi .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-crr6RunpKL1tuNQi .label text{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .node rect,#mermaid-svg-crr6RunpKL1tuNQi .node circle,#mermaid-svg-crr6RunpKL1tuNQi .node ellipse,#mermaid-svg-crr6RunpKL1tuNQi .node polygon,#mermaid-svg-crr6RunpKL1tuNQi .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-crr6RunpKL1tuNQi .node .label{text-align:center;fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .node.clickable{cursor:pointer}#mermaid-svg-crr6RunpKL1tuNQi .arrowheadPath{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-crr6RunpKL1tuNQi .flowchart-link{stroke:#333;fill:none}#mermaid-svg-crr6RunpKL1tuNQi .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-crr6RunpKL1tuNQi .edgeLabel rect{opacity:0.9}#mermaid-svg-crr6RunpKL1tuNQi .edgeLabel span{color:#333}#mermaid-svg-crr6RunpKL1tuNQi .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-crr6RunpKL1tuNQi .cluster text{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-crr6RunpKL1tuNQi .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-crr6RunpKL1tuNQi text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-crr6RunpKL1tuNQi .actor-line{stroke:grey}#mermaid-svg-crr6RunpKL1tuNQi .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-crr6RunpKL1tuNQi .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-crr6RunpKL1tuNQi #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-crr6RunpKL1tuNQi .sequenceNumber{fill:#fff}#mermaid-svg-crr6RunpKL1tuNQi #sequencenumber{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi #crosshead path{fill:#333;stroke:#333}#mermaid-svg-crr6RunpKL1tuNQi .messageText{fill:#333;stroke:#333}#mermaid-svg-crr6RunpKL1tuNQi .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-crr6RunpKL1tuNQi .labelText,#mermaid-svg-crr6RunpKL1tuNQi .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-crr6RunpKL1tuNQi .loopText,#mermaid-svg-crr6RunpKL1tuNQi .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-crr6RunpKL1tuNQi .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-crr6RunpKL1tuNQi .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-crr6RunpKL1tuNQi .noteText,#mermaid-svg-crr6RunpKL1tuNQi .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-crr6RunpKL1tuNQi .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-crr6RunpKL1tuNQi .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-crr6RunpKL1tuNQi .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-crr6RunpKL1tuNQi .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .section{stroke:none;opacity:0.2}#mermaid-svg-crr6RunpKL1tuNQi .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-crr6RunpKL1tuNQi .section2{fill:#fff400}#mermaid-svg-crr6RunpKL1tuNQi .section1,#mermaid-svg-crr6RunpKL1tuNQi .section3{fill:#fff;opacity:0.2}#mermaid-svg-crr6RunpKL1tuNQi .sectionTitle0{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .sectionTitle1{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .sectionTitle2{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .sectionTitle3{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-crr6RunpKL1tuNQi .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .grid path{stroke-width:0}#mermaid-svg-crr6RunpKL1tuNQi .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-crr6RunpKL1tuNQi .task{stroke-width:2}#mermaid-svg-crr6RunpKL1tuNQi .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .taskText:not([font-size]){font-size:11px}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-crr6RunpKL1tuNQi .task.clickable{cursor:pointer}#mermaid-svg-crr6RunpKL1tuNQi .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-crr6RunpKL1tuNQi .taskText0,#mermaid-svg-crr6RunpKL1tuNQi .taskText1,#mermaid-svg-crr6RunpKL1tuNQi .taskText2,#mermaid-svg-crr6RunpKL1tuNQi .taskText3{fill:#fff}#mermaid-svg-crr6RunpKL1tuNQi .task0,#mermaid-svg-crr6RunpKL1tuNQi .task1,#mermaid-svg-crr6RunpKL1tuNQi .task2,#mermaid-svg-crr6RunpKL1tuNQi .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutside0,#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutside2{fill:#000}#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutside1,#mermaid-svg-crr6RunpKL1tuNQi .taskTextOutside3{fill:#000}#mermaid-svg-crr6RunpKL1tuNQi .active0,#mermaid-svg-crr6RunpKL1tuNQi .active1,#mermaid-svg-crr6RunpKL1tuNQi .active2,#mermaid-svg-crr6RunpKL1tuNQi .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-crr6RunpKL1tuNQi .activeText0,#mermaid-svg-crr6RunpKL1tuNQi .activeText1,#mermaid-svg-crr6RunpKL1tuNQi .activeText2,#mermaid-svg-crr6RunpKL1tuNQi .activeText3{fill:#000 !important}#mermaid-svg-crr6RunpKL1tuNQi .done0,#mermaid-svg-crr6RunpKL1tuNQi .done1,#mermaid-svg-crr6RunpKL1tuNQi .done2,#mermaid-svg-crr6RunpKL1tuNQi .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-crr6RunpKL1tuNQi .doneText0,#mermaid-svg-crr6RunpKL1tuNQi .doneText1,#mermaid-svg-crr6RunpKL1tuNQi .doneText2,#mermaid-svg-crr6RunpKL1tuNQi .doneText3{fill:#000 !important}#mermaid-svg-crr6RunpKL1tuNQi .crit0,#mermaid-svg-crr6RunpKL1tuNQi .crit1,#mermaid-svg-crr6RunpKL1tuNQi .crit2,#mermaid-svg-crr6RunpKL1tuNQi .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-crr6RunpKL1tuNQi .activeCrit0,#mermaid-svg-crr6RunpKL1tuNQi .activeCrit1,#mermaid-svg-crr6RunpKL1tuNQi .activeCrit2,#mermaid-svg-crr6RunpKL1tuNQi .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-crr6RunpKL1tuNQi .doneCrit0,#mermaid-svg-crr6RunpKL1tuNQi .doneCrit1,#mermaid-svg-crr6RunpKL1tuNQi .doneCrit2,#mermaid-svg-crr6RunpKL1tuNQi .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-crr6RunpKL1tuNQi .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-crr6RunpKL1tuNQi .milestoneText{font-style:italic}#mermaid-svg-crr6RunpKL1tuNQi .doneCritText0,#mermaid-svg-crr6RunpKL1tuNQi .doneCritText1,#mermaid-svg-crr6RunpKL1tuNQi .doneCritText2,#mermaid-svg-crr6RunpKL1tuNQi .doneCritText3{fill:#000 !important}#mermaid-svg-crr6RunpKL1tuNQi .activeCritText0,#mermaid-svg-crr6RunpKL1tuNQi .activeCritText1,#mermaid-svg-crr6RunpKL1tuNQi .activeCritText2,#mermaid-svg-crr6RunpKL1tuNQi .activeCritText3{fill:#000 !important}#mermaid-svg-crr6RunpKL1tuNQi .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-crr6RunpKL1tuNQi g.classGroup text .title{font-weight:bolder}#mermaid-svg-crr6RunpKL1tuNQi g.clickable{cursor:pointer}#mermaid-svg-crr6RunpKL1tuNQi g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-crr6RunpKL1tuNQi g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-crr6RunpKL1tuNQi .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-crr6RunpKL1tuNQi .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-crr6RunpKL1tuNQi .dashed-line{stroke-dasharray:3}#mermaid-svg-crr6RunpKL1tuNQi #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi .commit-id,#mermaid-svg-crr6RunpKL1tuNQi .commit-msg,#mermaid-svg-crr6RunpKL1tuNQi .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-crr6RunpKL1tuNQi g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-crr6RunpKL1tuNQi g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-crr6RunpKL1tuNQi g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-crr6RunpKL1tuNQi .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-crr6RunpKL1tuNQi .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-crr6RunpKL1tuNQi .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-crr6RunpKL1tuNQi .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-crr6RunpKL1tuNQi .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-crr6RunpKL1tuNQi .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-crr6RunpKL1tuNQi .edgeLabel text{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-crr6RunpKL1tuNQi .node circle.state-start{fill:black;stroke:black}#mermaid-svg-crr6RunpKL1tuNQi .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-crr6RunpKL1tuNQi #statediagram-barbEnd{fill:#9370db}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-state .divider{stroke:#9370db}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-crr6RunpKL1tuNQi .note-edge{stroke-dasharray:5}#mermaid-svg-crr6RunpKL1tuNQi .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-crr6RunpKL1tuNQi .error-icon{fill:#522}#mermaid-svg-crr6RunpKL1tuNQi .error-text{fill:#522;stroke:#522}#mermaid-svg-crr6RunpKL1tuNQi .edge-thickness-normal{stroke-width:2px}#mermaid-svg-crr6RunpKL1tuNQi .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-crr6RunpKL1tuNQi .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-crr6RunpKL1tuNQi .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-crr6RunpKL1tuNQi .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-crr6RunpKL1tuNQi .marker{fill:#333}#mermaid-svg-crr6RunpKL1tuNQi .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-crr6RunpKL1tuNQi {color: rgba(0, 0, 0, 0.75);font: ;}张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间, 文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五
这将产生一个流程图。:
#mermaid-svg-roOP6ilq6nAAtlJD .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-roOP6ilq6nAAtlJD .label text{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .node rect,#mermaid-svg-roOP6ilq6nAAtlJD .node circle,#mermaid-svg-roOP6ilq6nAAtlJD .node ellipse,#mermaid-svg-roOP6ilq6nAAtlJD .node polygon,#mermaid-svg-roOP6ilq6nAAtlJD .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-roOP6ilq6nAAtlJD .node .label{text-align:center;fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .node.clickable{cursor:pointer}#mermaid-svg-roOP6ilq6nAAtlJD .arrowheadPath{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-roOP6ilq6nAAtlJD .flowchart-link{stroke:#333;fill:none}#mermaid-svg-roOP6ilq6nAAtlJD .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-roOP6ilq6nAAtlJD .edgeLabel rect{opacity:0.9}#mermaid-svg-roOP6ilq6nAAtlJD .edgeLabel span{color:#333}#mermaid-svg-roOP6ilq6nAAtlJD .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-roOP6ilq6nAAtlJD .cluster text{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-roOP6ilq6nAAtlJD .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-roOP6ilq6nAAtlJD text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-roOP6ilq6nAAtlJD .actor-line{stroke:grey}#mermaid-svg-roOP6ilq6nAAtlJD .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-roOP6ilq6nAAtlJD .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-roOP6ilq6nAAtlJD #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-roOP6ilq6nAAtlJD .sequenceNumber{fill:#fff}#mermaid-svg-roOP6ilq6nAAtlJD #sequencenumber{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD #crosshead path{fill:#333;stroke:#333}#mermaid-svg-roOP6ilq6nAAtlJD .messageText{fill:#333;stroke:#333}#mermaid-svg-roOP6ilq6nAAtlJD .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-roOP6ilq6nAAtlJD .labelText,#mermaid-svg-roOP6ilq6nAAtlJD .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-roOP6ilq6nAAtlJD .loopText,#mermaid-svg-roOP6ilq6nAAtlJD .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-roOP6ilq6nAAtlJD .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-roOP6ilq6nAAtlJD .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-roOP6ilq6nAAtlJD .noteText,#mermaid-svg-roOP6ilq6nAAtlJD .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-roOP6ilq6nAAtlJD .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-roOP6ilq6nAAtlJD .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-roOP6ilq6nAAtlJD .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-roOP6ilq6nAAtlJD .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .section{stroke:none;opacity:0.2}#mermaid-svg-roOP6ilq6nAAtlJD .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-roOP6ilq6nAAtlJD .section2{fill:#fff400}#mermaid-svg-roOP6ilq6nAAtlJD .section1,#mermaid-svg-roOP6ilq6nAAtlJD .section3{fill:#fff;opacity:0.2}#mermaid-svg-roOP6ilq6nAAtlJD .sectionTitle0{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .sectionTitle1{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .sectionTitle2{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .sectionTitle3{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-roOP6ilq6nAAtlJD .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .grid path{stroke-width:0}#mermaid-svg-roOP6ilq6nAAtlJD .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-roOP6ilq6nAAtlJD .task{stroke-width:2}#mermaid-svg-roOP6ilq6nAAtlJD .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .taskText:not([font-size]){font-size:11px}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-roOP6ilq6nAAtlJD .task.clickable{cursor:pointer}#mermaid-svg-roOP6ilq6nAAtlJD .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-roOP6ilq6nAAtlJD .taskText0,#mermaid-svg-roOP6ilq6nAAtlJD .taskText1,#mermaid-svg-roOP6ilq6nAAtlJD .taskText2,#mermaid-svg-roOP6ilq6nAAtlJD .taskText3{fill:#fff}#mermaid-svg-roOP6ilq6nAAtlJD .task0,#mermaid-svg-roOP6ilq6nAAtlJD .task1,#mermaid-svg-roOP6ilq6nAAtlJD .task2,#mermaid-svg-roOP6ilq6nAAtlJD .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutside0,#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutside2{fill:#000}#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutside1,#mermaid-svg-roOP6ilq6nAAtlJD .taskTextOutside3{fill:#000}#mermaid-svg-roOP6ilq6nAAtlJD .active0,#mermaid-svg-roOP6ilq6nAAtlJD .active1,#mermaid-svg-roOP6ilq6nAAtlJD .active2,#mermaid-svg-roOP6ilq6nAAtlJD .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-roOP6ilq6nAAtlJD .activeText0,#mermaid-svg-roOP6ilq6nAAtlJD .activeText1,#mermaid-svg-roOP6ilq6nAAtlJD .activeText2,#mermaid-svg-roOP6ilq6nAAtlJD .activeText3{fill:#000 !important}#mermaid-svg-roOP6ilq6nAAtlJD .done0,#mermaid-svg-roOP6ilq6nAAtlJD .done1,#mermaid-svg-roOP6ilq6nAAtlJD .done2,#mermaid-svg-roOP6ilq6nAAtlJD .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-roOP6ilq6nAAtlJD .doneText0,#mermaid-svg-roOP6ilq6nAAtlJD .doneText1,#mermaid-svg-roOP6ilq6nAAtlJD .doneText2,#mermaid-svg-roOP6ilq6nAAtlJD .doneText3{fill:#000 !important}#mermaid-svg-roOP6ilq6nAAtlJD .crit0,#mermaid-svg-roOP6ilq6nAAtlJD .crit1,#mermaid-svg-roOP6ilq6nAAtlJD .crit2,#mermaid-svg-roOP6ilq6nAAtlJD .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-roOP6ilq6nAAtlJD .activeCrit0,#mermaid-svg-roOP6ilq6nAAtlJD .activeCrit1,#mermaid-svg-roOP6ilq6nAAtlJD .activeCrit2,#mermaid-svg-roOP6ilq6nAAtlJD .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-roOP6ilq6nAAtlJD .doneCrit0,#mermaid-svg-roOP6ilq6nAAtlJD .doneCrit1,#mermaid-svg-roOP6ilq6nAAtlJD .doneCrit2,#mermaid-svg-roOP6ilq6nAAtlJD .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-roOP6ilq6nAAtlJD .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-roOP6ilq6nAAtlJD .milestoneText{font-style:italic}#mermaid-svg-roOP6ilq6nAAtlJD .doneCritText0,#mermaid-svg-roOP6ilq6nAAtlJD .doneCritText1,#mermaid-svg-roOP6ilq6nAAtlJD .doneCritText2,#mermaid-svg-roOP6ilq6nAAtlJD .doneCritText3{fill:#000 !important}#mermaid-svg-roOP6ilq6nAAtlJD .activeCritText0,#mermaid-svg-roOP6ilq6nAAtlJD .activeCritText1,#mermaid-svg-roOP6ilq6nAAtlJD .activeCritText2,#mermaid-svg-roOP6ilq6nAAtlJD .activeCritText3{fill:#000 !important}#mermaid-svg-roOP6ilq6nAAtlJD .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-roOP6ilq6nAAtlJD g.classGroup text .title{font-weight:bolder}#mermaid-svg-roOP6ilq6nAAtlJD g.clickable{cursor:pointer}#mermaid-svg-roOP6ilq6nAAtlJD g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-roOP6ilq6nAAtlJD g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-roOP6ilq6nAAtlJD .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-roOP6ilq6nAAtlJD .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-roOP6ilq6nAAtlJD .dashed-line{stroke-dasharray:3}#mermaid-svg-roOP6ilq6nAAtlJD #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD .commit-id,#mermaid-svg-roOP6ilq6nAAtlJD .commit-msg,#mermaid-svg-roOP6ilq6nAAtlJD .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-roOP6ilq6nAAtlJD g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-roOP6ilq6nAAtlJD g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-roOP6ilq6nAAtlJD g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-roOP6ilq6nAAtlJD .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-roOP6ilq6nAAtlJD .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-roOP6ilq6nAAtlJD .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-roOP6ilq6nAAtlJD .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-roOP6ilq6nAAtlJD .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-roOP6ilq6nAAtlJD .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-roOP6ilq6nAAtlJD .edgeLabel text{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-roOP6ilq6nAAtlJD .node circle.state-start{fill:black;stroke:black}#mermaid-svg-roOP6ilq6nAAtlJD .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-roOP6ilq6nAAtlJD #statediagram-barbEnd{fill:#9370db}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-state .divider{stroke:#9370db}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-roOP6ilq6nAAtlJD .note-edge{stroke-dasharray:5}#mermaid-svg-roOP6ilq6nAAtlJD .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-roOP6ilq6nAAtlJD .error-icon{fill:#522}#mermaid-svg-roOP6ilq6nAAtlJD .error-text{fill:#522;stroke:#522}#mermaid-svg-roOP6ilq6nAAtlJD .edge-thickness-normal{stroke-width:2px}#mermaid-svg-roOP6ilq6nAAtlJD .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-roOP6ilq6nAAtlJD .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-roOP6ilq6nAAtlJD .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-roOP6ilq6nAAtlJD .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-roOP6ilq6nAAtlJD .marker{fill:#333}#mermaid-svg-roOP6ilq6nAAtlJD .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-roOP6ilq6nAAtlJD {color: rgba(0, 0, 0, 0.75);font: ;}
链接
长方形
圆
圆角长方形
菱形
FLowchart流程图
我们依旧会支持flowchart的流程图:
Created with Raphaël 2.2.0开始我的操作确认?结束yesno
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
Vitis下Linux应用程序开发流程相关推荐
- 微信小程序开发流程的两种方法科普
现在微信小程序早已渗透我们日常生活的方方面面,很多商家看到了小程序带来的巨大流量,也想开发一个自己的小程序.所以今天就跟大家科普下微信小程序开发流程,你会发现这个开发过程其实非常简单. 1. 在微信公 ...
- 小程序发布上线流程_微信小程序开发流程的两种方法科普
现在微信小程序早已渗透到我们日常生活的方方面面,很多商家看到了小程序带来的巨大流量,也想开发一个自己的小程序.所以今天就跟大家科普下微信小程序开发流程,你会发现这个开发过程其实非常简单. 1. 在微信 ...
- Linux应用程序开发 基础知识
Linux应用程序开发 本文讲述了linux应用程序开发的基本内容.值得学习! Copyright © 2006 本文遵从GNU 的自由文档许可证(Free Documentation Lice ...
- 嵌入式Linux应用程序开发视频教程-曹国辉-专题视频课程
嵌入式Linux应用程序开发视频教程-1834人已学习 课程介绍 本课程是嵌入式研发精英培养计划的核心课程,重点讲解嵌入式Linux应用程序开发核心技术,包括嵌入式Linux开发工具的 ...
- linux独立应用程序开发,Linux应用程序开发(一)
Linux应用程序开发(一)---移植thttpd+Sqlite3+PHP5到arm linux(4) 移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下Cen ...
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...
本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——1.1 嵌入式Linux基础
本节书摘来异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者:华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
- 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...
<嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...
- Linux 应用程序开发入门
Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 © 2011, 2012 http://netkiller.github ...
- 小程序 cover-view 字体_【企商云】2021年,要知道的9个小程序开发流程清单
从17年小程序上线后,格外受到市场青睐,从火爆春节的"跳一跳"到商界巨头头条.百度.支付宝等纷纷上线,而20年疫情期间更让小程序成为商家运营法宝,极力转型线上线下.如今距离2021 ...
最新文章
- hdu1160FatMouse's Speed(DP)
- MOSFET驱动器汇总 : 单个N-CHANNEL,半桥,全桥,3项桥
- 【ASP.NET北大青鸟】-总结(二)
- python在哪写代码-python的代码写在哪里,怎么样运行python代码
- python填写excel-使用Python填写Excel文件的简便方法
- BZOJ-1013-球形空间产生器sphere
- 微信小程序中显示空格
- centOS 安装mysql5.6
- 使用Java 8 Lambda清理JUnit Throwable-Tests
- mysql取消mvvc机制_MySQL探秘(六):InnoDB一致性非锁定读
- bootice 此功能仅在uefi环境下可用_电脑新手必掌握基础知识:BIOS、EFI与UEFI详解!...
- TensorFlow2.0正式版安装
- pkm是什么意思_2017年的你应该拥有什么样的PKM系统?
- MySQL联合查询分页
- Drools规则引擎实践直白总结,Java开发教程入门
- 同步发电机转子的转动惯量与运动方程(一) 基本物理概念
- java 7新特性-TWR(Try-with-resources)
- 【关于vue的那些事】vue.runtime.esm.js?2b0e:619
- 计算机加法的电路原理及proteus仿真
- 日本机器自动化初创企业Cinnamon获天使轮融资
热门文章
- aforge 相机标定_C# Aforge设置摄像头视频属性和控制属性
- 推荐6本React在线电子版书籍
- 1.2 安装与卸载Visual Studio 2018
- php本地如何开启websocket遇到的坑
- ckplayer html5直播rtmp,实现简单网页rtmp直播:nginx+ckplayer+linux
- c语言禁忌搜索算法源代码,禁忌搜索算法CC++源代码.pdf
- 【软件开发架构平台】CH2 Spring IoC和Bean管理
- 目标检测NMS非极大值抑制及改进
- matlab 三对角矩阵 追赶法,追赶法求解三对角方程及其算例.doc
- 毛星云opencv7.1.3之sobel算子--失败算法