在嵌入式系统上实现虚拟地址空间的方法.pdf
《在嵌入式系统上实现虚拟地址空间的方法.pdf》由会员分享,可在线阅读,更多相关《在嵌入式系统上实现虚拟地址空间的方法.pdf(14页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911249635.4 (22)申请日 2019.12.09 (30)优先权数据 102018132385.9 2018.12.17 DE (71)申请人 恩德莱斯和豪瑟尔分析仪表两合公 司 地址 德国盖林根 (72)发明人 斯特凡肯普夫 (74)专利代理机构 中原信达知识产权代理有限 责任公司 11219 代理人 穆森戚传江 (51)Int.Cl. G06F 12/02(2006.01) (54)发明名称 在嵌入式系统上实现虚拟地址空间的方法 (57)摘要 本发明涉及一种。
2、在嵌入式系统上实现虚拟 地址空间的方法。 包括步骤: 提供具有定义物理 地址空间的物理存储器、 加载器和执行单元的嵌 入式系统; 提供可由嵌入式系统执行并具有至少 一个程序范围的程序, 该至少一个程序范围具有 相应访问特征并具有用于虚拟地址空间的预定 存储器布局, 被分配给虚拟地址空间中的虚拟地 址并具有程序大小; 通过加载器在嵌入式系统上 创建虚拟地址空间, 其包括具有相同段大小并具 有分开的虚拟开始地址的至少两个段, 包括第一 和第二段; 通过加载器针对程序在嵌入式系统上 创建转换表, 用于将至少一个程序范围的虚拟地 址转换为物理存储器中的物理地址; 通过执行单 元或者程序用转换表将对虚拟。
3、地址的存储器访 问转换为物理地址。 权利要求书1页 说明书6页 附图6页 CN 111324553 A 2020.06.23 CN 111324553 A 1.一种用于实现虚拟地址空间(V)的方法, 包括以下步骤: -提供具有物理存储器(12)、 加载器(14)和执行单元(16)的嵌入式系统(10), 其中, 所 述物理存储器(12)定义物理地址空间(H), -提供程序(P), 其中, 所述程序(P)能够由所述嵌入式系统(10)执行, 具有至少一个程 序范围(B), 所述至少一个程序范围(B)具有相应访问特征(Z1)并且具有用于所述虚拟地址 空间(V)的预定存储器布局(L), 其中, 所述至少。
4、一个程序范围(B)被分配给所述虚拟地址空 间(V)中的虚拟地址(V1)并且具有程序大小(G1), -通过所述加载器(14)在所述嵌入式系统(10)上创建所述虚拟地址空间(V), 其包括分 别具有相同段大小(G)并且分别具有分开的虚拟开始地址(VA0)的至少两个段(S), 包括第 一段(S0)和第二段(S1), -通过所述加载器(14)针对所述程序(P)在所述嵌入式系统(10)上创建转换表(T1), 用 于将所述至少一个程序范围(B)的虚拟地址(V1)转换为所述物理存储器(12)中的物理地址 (H1), -通过所述执行单元(16)或者所述程序(P)使用所述转换表(T1)将对所述虚拟地址 (V1)。
5、的存储器访问转换为所述物理地址(H1)。 2.根据权利要求1所述的方法, 其中, 所述存储器布局(L)被设计为使得: -具有不同访问特征(Z1)的程序范围(B)被写入到不同段(S)中, -段(S)总是从其虚拟开始地址(VA0)开始填充, -所述第一段(S0)绝不被映射到物理地址空间(H), -如果所述程序大小(G1)超过所述段大小(G)并且具有不同访问特征(Z1)的程序范围 (B)同时被写入到不同段(S), 则所述至少一个程序范围(B)被允许遍布多个段(S), 并且段 (S)从其虚拟开始地址(VA0)开始填充。 3.根据权利要求1或2所述的方法, 其中, 所述虚拟地址空间(V)被分成许多段(S。
6、), 其 中, 数目是二的幂。 4.一种用于基于源代码(Q)和存储器配置(K)生成用于嵌入式系统(10)的程序(P)的方 法, 使得所述程序(P)具有预定存储器布局(L), 其中, 所述程序(P)能够由所述嵌入式系统 (10)执行并且具有至少一个程序范围(B), 其中, 所述至少一个程序范围(B)被分配给所述 虚拟地址空间(V)中的虚拟地址(V1)并且具有访问特征(Z1)和程序大小(G1)。 5.根据权利要求4所述的方法, 其中, 所述存储器布局(L)被设计为使得: -具有不同访问特征(Z1)的程序范围(B)被写入到不同段(S), -段(S)总是从其虚拟开始地址(VA0)开始填充, -所述第一。
7、段(S0)绝不被映射到物理地址空间(H), -如果所述程序大小(G1)超过所述段大小(G)并且具有不同访问特征(Z1)的程序范围 (B)同时被写入到不同段(S), 则所述至少一个程序范围(B)被允许遍布多个段(S), 并且段 (S)从其虚拟开始地址(VA0)开始填充。 6.根据权利要求4或5所述的方法, 其中, 生成程序(P)的步骤通过所述嵌入式系统(10) 外部的开发系统(100)实现。 7.根据权利要求6所述的方法, 其中, 所述开发系统(100)包括执行生成所述程序(P)的 步骤的工具链(W), 其中, 所述工具链(W)包括编译器、 汇编器和链接器。 权利要求书 1/1 页 2 CN 1。
8、11324553 A 2 在嵌入式系统上实现虚拟地址空间的方法 技术领域 0001 本发明涉及一种用于在嵌入式系统上实现虚拟地址空间的方法。 背景技术 0002 现在, 嵌入式系统对于工业特别地对于过程分析是不可缺少的。 嵌入式系统日益 使用, 特别地在过程分析中。 嵌入式系统通常被定制到其接管特定任务(通常调节或者控 制)的特定技术上下文。 嵌入式系统以归因于该个体设计的特别优化和安全的方式操作。 因 此, 嵌入式系统满足在效率方面的不断增加的要求并且免于过程分析中的误差。 0003 然而, 被定制到特定任务的嵌入式系统常常具有其组件在单个地址空间中运行的 静态固件。 一个组件中的软件错误诸。
9、如存储器重写从而也可能影响剩余的组件, 诸如通过 损坏数据或者使得整个系统崩溃。 而且, 如果在嵌入式系统的使用寿命的过程期间应当存 在嵌入式系统的任务的改变, 则在地址空间内运行的静态固件阻碍新功能的后续引入。 0004 虚拟地址空间特别适合于向嵌入式系统的功能给予更多灵活性, 并且将个体组件 中的故障互相隔离。 例如, 通过在嵌入式系统上实现虚拟地址空间, 不同程序可以并行执 行。 在该实例中, 每个程序与其它程序隔离地执行, 使得一个程序不能操纵第二程序或者访 问第二程序的存储器范围。 虚拟地址空间的另一优点在于, 执行程序的代码和数据成碎片 被存储在嵌入式系统的物理主存储器中, 但是可。
10、以未成碎片被混合在虚拟地址空间中。 这 促进功能的后续重新加载。 由于每个程序具有其自己的线性地址空间, 因而程序必须在其 创建时和在运行时不知道其在执行程序的特定嵌入式系统的物理主存储器内的位置。 0005 为了在嵌入式系统上实现虚拟地址空间, 需要指示虚拟地址空间中的虚拟地址如 何被映射到嵌入式系统的物理主存储器中的物理地址的映射规则。 如果程序访问虚拟地 址, 则所述地址必须被转换为物理地址。 该转换通常由特殊硬件执行(所述特殊硬件也被称 为存储器管理单元, 也被称为MMU, 其驻留在嵌入式系统的主处理器中)。 对于该转换, 与嵌 入式系统的剩余组件相比较, MMU要求高水平的电力和/或。
11、计算资源。 0006 存在利用严重有限资源操作的嵌入式系统, 例如以便节省制造成本或者仅由于有 限能量预算是可用的。 由于MMU是复杂硬件单元, 因而具有严重有限资源的嵌入式系统常常 不具有MMU。 因此, 省去了这样的应用领域中的虚拟地址空间的实现方式。 发明内容 0007 因此, 本发明的目的是提出一种用于在没有用于地址转换的硬件支持的情况下管 理的嵌入式系统上的虚拟地址空间的资源高效的实现方式的方法。 0008 该目的通过根据本发明的以下方法实现。 0009 根据本发明的用于实现虚拟地址空间的方法包括以下步骤: 0010 -提供具有物理存储器、 加载器和执行单元的嵌入式系统, 其中, 物。
12、理存储器定义 物理地址空间, 0011 -提供程序, 其中, 程序可由嵌入式系统执行, 具有至少一个程序范围, 该至少一个 说明书 1/6 页 3 CN 111324553 A 3 程序范围具有相应访问特征并且具有用于虚拟地址空间的预定存储器布局, 其中, 至少一 个程序范围被分配给虚拟地址空间中的虚拟地址并且具有程序大小, 0012 -通过加载器在嵌入式系统上创建虚拟地址空间, 该虚拟地址空间包括具有相应 相同段大小和相应分开的虚拟开始地址的至少两个段, 包括第一段和第二段, 0013 -通过加载器针对程序在嵌入式系统上创建转换表, 用于将至少一个程序范围的 虚拟地址转换为物理存储器中的物理。
13、地址, 0014 -通过执行单元或者程序使用转换表将对虚拟地址的存储器访问转换为物理地 址。 0015 根据本发明的方法使甚至在具有有限资源的嵌入式系统中实现虚拟地址空间成 为可能。 0016 根据本发明的方法的优点在于, 方法可以经由虚拟地址空间的结构中的限制并且 经由用于将虚拟地址转换为物理地址的所选择的数据结构以软件高效实现。 对方法进行设 计, 使得将虚拟地址转换为物理地址可以利用一致的努力和少量指令执行。 因此, 不需要 MMU。 0017 根据本发明的一个实施例, 存储器布局被构建为: 使得具有不同访问特征的程序 范围被写入到不同段; 使得段总是从其虚拟开始地址开始填充; 使得第一。
14、段绝不被映射到 物理地址空间; 使得如果程序大小超过段大小并且具有不同访问特征的程序范围同时被写 入到不同段, 则至少一个程序范围被允许遍布多个段, 并且段从其虚拟开始地址开始填充。 0018 根据本发明的另一实施例, 虚拟地址空间被分成许多段, 其中, 数目是二的幂。 0019 前述目的还通过根据本发明的以下方法实现。 0020 根据本发明的方法适于生成用于嵌入式系统的程序。 程序基于源代码和存储器配 置, 使得程序具有预定存储器布局。 程序可由嵌入式系统执行并且具有至少一个程序范围。 至少一个程序范围被分配给虚拟地址空间中的虚拟地址并且具有访问特征和程序大小。 0021 根据本发明的一个实。
15、施例, 存储布局被设计为: 使得具有不同访问特征的程序范 围被写入到不同段; 使得段总是从其虚拟开始地址开始填充; 使得第一段绝不被映射到物 理地址空间; 使得如果程序大小超过段大小并且具有不同访问特征的程序范围同时被写入 到不同段, 则至少一个程序范围被允许遍布多个段, 并且段从其虚拟开始地址开始填充。 0022 根据本发明的一个实施例, 生成程序的步骤通过嵌入式系统外部的开发系统实 现。 0023 根据本发明的实施例, 开发系统包括执行生成程序的步骤的工具链, 其中, 工具链 包括编译器、 汇编器和链接器。 附图说明 0024 本发明根据以下附图描述被更详细地解释。 它们示出: 0025 。
16、-图1: 根据本发明的用于在嵌入式系统上实现虚拟地址空间的方法的示意性表 示, 0026 -图2: 可执行程序的源代码的示例, 0027 -图3: 从图2中所示的源代码生成的可执行程序, 0028 -图4: 将虚拟地址空间分为段的示例, 说明书 2/6 页 4 CN 111324553 A 4 0029 -图5: 来自图3的可执行程序的存储器布局的示例性配置, 0030 -图6: 转换表的示例性实施例, 0031 -图7: 将虚拟地址成功转换为物理地址的示例, 0032 -图8: 将虚拟地址错误转换为物理地址的示例, 以及 0033 -图9: 将虚拟地址错误转换为物理地址的另一示例。 具体实施。
17、方式 0034 图1示出了根据本发明的用于实现嵌入式系统10上的虚拟地址空间V的方法的示 意性表示。 0035 实现虚拟地址空间V的高效实现方式的方法的总体设计包括如由虚线在图1中表 示的两个系统: 嵌入式系统10和开发系统100。 0036 开发系统100创建适于在嵌入式系统10上执行的程序P。 嵌入式系统10被配置成接 收由开发系统100生成的程序P, 如由系统之间的箭头表示。 程序P可以例如经由嵌入式系统 10的USB接口或者无线电接口传送到所述系统(未示出)。 0037 在开发系统100上, 源代码Q借助于工具链W被转译为可执行程序P。 工具链W包括例 如编译器、 汇编器和链接器。 除。
18、源代码Q之外, 工具链W接收存储器配置K作为输入(例如, 以 链接器脚本的形式)。 0038 存储器配置K描述了程序P的存储器布局L必须对应于支持嵌入式系统10上的从虚 拟地址V0到物理地址H0的高效地址转换的预定规则。 下面将更详细地解释这些预定规则。 0039 程序P包括至少一个程序范围B, 例如对应于可执行代码C的第一程序范围B1和例 如对应于数据D的第二程序范围B2。 每个程序范围B包含存储器布局L的描述。 程序P具有程 序大小G1。 存储器布局L包含关于在虚拟地址空间V中程序P的代码C和程序P的数据D将被存 储在何处的信息。 数据D例如是程序P的初始化或者未初始化的全局变量。 004。
19、0 图2示出了用于可执行程序P的源代码Q的示例。 图3示出了从图2中所示的源代码Q 生成的可执行程序P。 0041 图3中所示的程序P指示对于存储器布局L, 程序P的代码C在大小方面是0 xb94字节 ( “program header” 区段的第一行的 “memsz” 字段), 将被加载到第一虚拟地址V1 0 x40000000( “program header” 区段的第一行的 “vaddr” 字段), 并且仅应当是可读并且可 执行的, 其由指定 “flags r-x” 表示。 0042 由程序P存储的数据D的数据范围在大小方面是0 x464字节( “program header” 区 段。
20、的第二行的 “memsz” 字段), 将被加载到第二虚拟地址V2 0 x80000000( “program header” 区段的第二行的 “vaddr” 字段), 并且旨在是仅可读并且可写的, 其由指定 “flags rw-” 表 示。 程序P自然还包含可执行代码C, 其由通过 “Disassembly of section.text” 引入的范围 指示。 0043 “flags” 指定信号通知以下指定标识访问特征Z1。 指定r代表 “read” , 其意指可读 的。 指定w代表 “write” , 其意指可写的。 指定x代表 “execute” , 其意指可执行的。 另外, 应注 意到,。
21、 以0 x开始的数字后续字符中的表示十六进制数。 0044 嵌入式系统10包括物理存储器12、 加载器14、 和执行单元16。 0045 在嵌入式系统10上, 加载器14准备程序P用于执行。 加载器14的任务是将来自程序 说明书 3/6 页 5 CN 111324553 A 5 P的代码C和数据D复制到嵌入式系统10的物理存储器12中。 在该实例中, 物理地址H0通常不 符合程序P的存储器布局L的虚拟地址V0。 相反, 加载器14创建虚拟地址V0到物理地址H0的 映射。 出于该目的, 加载器必须标识虚拟地址可以映射到其上的物理主存储器中的未分配 的足够大的存储器范围。 稍后将描述该映射数据结构。
22、的设计。 如果程序P的存储器布局L不 允许虚拟地址V0到物理地址H0的高效映射, 则加载器14以错误终止。 0046 在完成加载过程之后, 执行单元16(例如, 以解译器的形式)可以执行程序P。 对虚 拟地址V0的存储器访问在建立的映射的帮助下被转换为物理地址H0。 如果执行单元16是解 译器, 则解译器可以相应地转换存储器访问。 0047 另一备选方案在于, 执行单元16对应于嵌入式系统10的主处理器, 其直接地执行 程序P, 但是工具链W的编译器以这样的方式转译来自源代码Q的程序P: 程序P在每次存储器 访问之前首先执行地址转换; 参见图7至9。 0048 实际上执行的存储器访问然后经由物。
23、理地址H0发生。 在图1中, 这借助于执行单元 16与虚拟地址空间V中的第一虚拟地址V1处的代码C和第二虚拟地址V2处的数据D以及物理 地址空间H中的第一物理地址H1处的代码C和第二物理地址H2处的数据D之间的连续的虚线 双箭头指示。 0049 为了支持高效映射, 虚拟地址空间V被分成少量相等大小段S, 其中, 数目是二的 幂。 图4示出了各自再分成512MB的八个段S的32位虚拟地址空间V的示例。 0050 程序P的存储器布局L现在必须满足以下边界条件或者规则: 0051 第一, 具有不同访问特征Z1的程序P的程序范围B必须被放置在不同段S中。 例如, 不允许代码C的只读代码范围和数据D的可。
24、读和可写数据范围一个接一个地被放置在段S 中。 0052 第二, 段S必须总是从其虚拟开始地址VA0开始填充。 例如, 位于各自具有512MB的 八个段的32位虚拟地址空间V的第三段S2中的范围因此必须从地址0 x40000000开始。 0053 第三, 第一段S0绝不被映射到物理存储器12。 因此, 可以拦截零指针访问。 0054 第四, 程序P的程序范围B也可以遍布多个段S, 只要前述三个边界条件或者规则满 足。 0055 这些边界条件或者规则不表示采用的嵌入式系统10内的程序P的实际限制。 在资 源有限的嵌入式系统10中, 总可用物理存储器12基本上小于段S的大小, 并且程序P的存储 器。
25、范围的数目是小的(代码、 数据、 堆栈、 堆)。 在没有段S不足够的风险的情况下, 具有上文 所描述的边界条件的分段虚拟地址空间V因此仍然为单独程序范围B提供足够的放置可能 性。 0056 图5示出了存储器布局L的示例性配置K, 其针对程序P的源代码Q迫使代码C和只读 数据D被放置在第三段S2中, 可读和可写数据D被放置在第四段S4中。 0057 图5中所示的示例是GNU链接器软件的链接器脚本。 该链接器允许具有某些访问特 征Z1的程序P的程序范围B被放置在不同虚拟地址V0处, 其在所示的示例中完成。 0058 图6示出了用于将虚拟地址V0映射到物理地址H0的转换表T1, 其以示例的方式通 过。
26、加载器14利用匹配来自图3的程序P的地址填充。 0059 转换表T1的目的是以这样的方式限制虚拟地址V0到物理地址H0的映射规则使得 虚拟地址V0到物理地址H0的高效转换是可能的, 但是然而在嵌入式系统10上可用的所有用 说明书 4/6 页 6 CN 111324553 A 6 例可以仍然由虚拟地址空间V表示。 另外, 支持用于映射规则的存储器高效数据结构。 在嵌 入式系统10上执行的程序P必须具有存储器布局L, 其对应于虚拟地址空间V的限制, 即, 前 述规则。 0060 转换表TT具有多个行和列, 其中, 行对应于虚拟地址空间V的段S。 转换表T1中的行 数因此与虚拟地址空间V已经分成的段。
27、S的数目相同。 属于段S的每行具有物理地址H0、 指示 存储器范围的长度的多个字段、 和访问特征Z1。 图6示出了用于来自图3的程序P的示例性转 换表T1。 图6中的段S的列仅用作用于读者更容易地识别哪行属于哪段的注释。 段S的列不是 转换表的一部分, 这是为何这未示出在图7至9中。 0061 第一列包含段S已经映射到的物理开始地址HA0。 第二列到第四列包含存储器范围 的长度。 第五列包含访问特征Z1作为位图(针对可读、 可写、 可执行属性每个一位)。 0062 存储器访问具有不同访问宽度, 例如一个字节、 两个字节、 或四个字节。 转换表T1 包括每可能访问宽度的长度字段。 长度i(因此图。
28、6中的长度一L1、 长度二L2和长度四L4)指 示虚拟地址V0必须位于哪个段偏移下面以便宽度i的访问保持在映射的存储器范围内。 0063 对于虚拟地址V0的地址转换, 以下步骤在存储器访问时由执行单元16执行: 第一 虚拟地址V1被分成段号N和段偏移O。 由于段S的数目n是二的幂, 因而高阶log2从第一虚拟 地址V1形成段号N n位。 剩余位产生段偏移O。 0064 图7和8示出了在六个步骤I到VI中将第一虚拟地址V10 x40000b90转换为第一物 理地址H10 x41b90的示例。 在示例中, 这是具有八个段的32位虚拟地址空间。 0065 在第一步I中, 确定被分配给第一虚拟地址V1。
29、和其物理开始地址HA0的段S。 为此目 的, 检查第一虚拟地址V1。 给定八个段, 32位十六进制数0 x40000b90的最高阶三位形成段号 N2, 其指示转换表T1的第三段S2的行。 十六进制数0 x40000b90的剩余低阶32329位形 成段偏移O0 xb90。 对应于段号N的转换表T1的行然后被用于地址转换。 转换表T1的第一列 指示物理开始地址HA0。 0066 在第二步II中, 确定先前地所标识的行(即, 第三段S2)的访问特征Z1。 如在图7中 所示, 这允许读取 “r” 和执行 “x” 。 0067 在第三步III中, 先前地所标识的行(即, 第三段S2)的访问特征Z1与对第。
30、一虚拟地 址V1的存储器访问的访问特征Z1相比较。 第三段S2的访问特征Z1必须允许对应类型的存储 器访问(例如, 读取 “r” 、 写入 “w” 、 或者执行 “x” )。 否则, 转换失败。 0068 图8示出了失败转换的示例。 在那里, 存储器访问的访问特征Z1请求对第一虚拟地 址V1的写入 “w” 。 然而, 先前地所标识的行(即, 第三段S2)的访问特征Z1仅允许读取 “r” 或者 执行 “x” 。 在该实例中, 长度检查和地址转换本身不再是必要的。 地址转换失败, 作为其结 果, 程序P不允许执行存储器访问并且因此例如以错误终止。 0069 如果允许访问, 针对两字节读访问如图7中。
31、所示, 那么在第四步IV中通过从第一虚 拟地址V1提取低阶位确定段偏移O。 随后地, 在第五步V中所确定的段偏移O与对应于访问宽 度的长度字段L1、 L2、 L4相比较。 0070 如果段偏移O低于长度字段L1、 L2、 L4中的值, 则可以转换第一虚拟地址V1。 在该实 例中, 在第六步VI中, 指定第一物理地址H1。 在图7的示例中, 这是H10 x41b90。 0071 从第一虚拟地址V1到对应的第一物理地址H1的转换通过将段偏移O添加到被存储 在段号N的条目中的物理开始地址HA0发生。 转换的单独步骤是高效的, 因为它们可以利用 说明书 5/6 页 7 CN 111324553 A 7。
32、 恒定运行时间要求实现。 0072 在段偏移O低于长度字段L1、 L2、 L4中的值的情况下, 程序P终止。 图9示出了归因于 存储器范围外部的尝试访问的步骤V处的终止。 属于第二虚拟地址V20 x40000b92的段S总 计是0 xb94字节长。 这意指对于该段有效的虚拟地址范围在区间0 x40000000,0 x40000b93 内。 然而, 示例中的四字节访问将试图加载来自地址0 x40000b92、 0 x40000b93、 0 x40000b94 和0 x4000b95的四个字节。 然而, 最后两个地址在范围外部。 这通过步骤V中的长度比较建 立, 其导致错误并且因此终止转换(并且因。
33、此程序)。 在该实例中, 地址转换不再是必要的。 0073 本发明支持没有MMU的嵌入式系统10上的虚拟地址V0到物理地址H0的高效转换。 由于转换表T1的设计, 因而在一致的时间量中从虚拟地址V0到物理地址H0的地址转换是可 能的。 说明书 6/6 页 8 CN 111324553 A 8 图1 图2 说明书附图 1/6 页 9 CN 111324553 A 9 图3 图4 图5 说明书附图 2/6 页 10 CN 111324553 A 10 图6 说明书附图 3/6 页 11 CN 111324553 A 11 图7 说明书附图 4/6 页 12 CN 111324553 A 12 图8 说明书附图 5/6 页 13 CN 111324553 A 13 图9 说明书附图 6/6 页 14 CN 111324553 A 14 。
- 内容关键字: 嵌入式 系统 实现 虚拟 地址 空间 方法
茶叶加工用的上料装置.pdf
便于装卸的储料桶.pdf
智能化多腔体入料数量检测机构及高速计数筛选装置.pdf
焊接辅助装置.pdf
无纺布切边装置.pdf
阀门用端面打磨装置.pdf
推砖装置.pdf
污染水体水藻清理装置.pdf
调整木板输送姿态的输送装置.pdf
切边刀装配总成.pdf
液压油过滤器.pdf
用于检测育苗水体中弧菌含量的培养装置.pdf
自动配料加料装置.pdf
电加热器超导热管用烘箱.pdf
避免交叉感染的门诊采血车.pdf
压力管道承压检测装置.pdf
多功能彩妆盒.pdf
激光增强的纳米线电子源组件.pdf
旋转型空气净化消毒灯.pdf
无人机智能电力线路巡检系统.pdf
消防器械生产用焊接装置.pdf
基于工业互联网的电力数据挖掘与分析系统.pdf
条码扫描机.pdf
基于TDS-Unet网络的地震速度模型重构方法、介质和设备.pdf
纺织弹性带生产自动卷绕装置及其方法.pdf
基于BIM的轨道交通运维方法、系统、电子设备及存储介质.pdf
电子封装用导电银胶及其制备方法.pdf
基于虚拟编组计算列车数的方法、设备及存储介质.pdf
菌落计数样本的优化方法、装置、设备及存储介质.pdf
高压断路器机械合闸闭锁装置.pdf
竖井采矿用罐笼旋调升降装置.pdf
热升级方法、装置及电子设备.pdf