版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式测试 STM3210E 测试V 1.0测试配置所需内容在帮助文档里有详细描述, 具体细节可参照 help 文档, 下面是 parasoft 工程师 nick 培训时的测试方法,在这里做一个整理,有不足的地方请大家斧正。版本:C+test 7.3; Keil uVision3 3.40.1、 导入 Keil uVision3工程,在 Keil uVision3配置 Crate Batch File,然后编译。目的:生成批处理文件,修改和配置所需用到的参数,最终创建 一个 新 批处理 .bat 文件, 用 来启动 c+test。SET PATH=C:KeilARMBIN31;C:keilUV
2、3; SET RVCT31INC=C:KeilARMRV31INC SET RVCT31LIB=C:KeilARMRV31LIB SET CPU_TYPE=STM32F103ZE SET CPU_VENDOR=STMicroelectronics SET UV2_TARGET=MCBSTM32E SET CPU_CLOCK=0x00000000 "E:Parasoft C+testparasoftcpptest.exe" 2、 用 新 生成的 .bat 文件 启动 c+test,导入测试工程。 下面的配置 讲解 , 是 以 STM3210E 的 AD 转换并 在 液晶显示
3、的一个 例 程 Blinky 为例 。 例 程所 放 置的 绝对路径为 C:KeilARMExampleskeiltestBlinky工程导入 之 后, 我们 做一 些 修改, 当 然, parasoft 会 帮 我们找出来 。修改 之 后, 我 们要进行 测试。 再此之前我们 需 要根据实际 需 求进行 测试配置。1, 根据例 程,这是一个 无 限 循环 的在 液晶屏 和 串口输出 AD 转换结果 的程 序 , 我们只 需 要让 程 序运行 一 段 时 间 , 采集结果便 可, 所 以 需 添加 一个 桩函 数。 目的: 1,配置 串口; 2, 设 一个 退出按钮 (或者等调 用 keil
4、之 后,在 keil 界 面 上点击 停止运行按钮也行 。 2, 创建桩函 数后, 添加如 下内容:extern void _CPTR_Finalize(;void exit (int return_code ; / 添加退出函 数void CppTest_Stub_exit (int return_codeif (return_code = 347_CPTR_Finalize(;exit(return_code;void CppTest_Initialize(void stm32_Init(; / STM32 setup (主要 是里面 启 用 了串口 23, 修改 堆栈 的大 小 , 涉及
5、将 c+test核心 技术 打 包 进 程 序运行 ,所 以 需 要将栈 和 堆 修改大一 些 。Stack_Size EQU 0x00002200AREA STACK, NOINIT, READWRITE, ALIGN=3Stack_Mem SPACE Stack_Size_initial_spHeap_Size EQU 0x00009200AREA HEAP, NOINIT, READWRITE, ALIGN=3_heap_baseHeap_Mem SPACE Heap_Size_heap_limitPRESERVE8 THUMB4, 修改 Retarget.c 函 数:屏 蔽 int f
6、error(FILE *f函 数, 添加退出函 数。void _sys_exit(int return_code label: goto label; /* endless loop */ void exit (int return_code _sys_exit(return_code; 5, 在 parasoft 测试 配置里 复 制 Run Keil uVision Application with MemoryMonitoring - ULINK2选项 ,在 “执 行 ” 修改参数: 注意 :添加 的是 绝对路径 !6, Run Keil uVision Application with
7、 Memory Monitoring - ULINK2配置 完 成 之 后,我们会 得 到 两 个文件:starter.bat 和 cpptest.ini 。这 两 个文件的生成是有 c+test自 动 生成的,可 以 在 “ 测试 执 行 流 程 ” 编 辑中看 到生成这 两 个文件的参数。 7, 可 根据实际 情况 做一 些 微 配置, 主要 是 考虑 flash 的大 小 , 如 :(1 去掉某 个 源 文件的 插 桩 (2 清除临 时文件 (3 插 桩 哪 些文件,测试 源 和 附 加 源 之间 的 关 系, 简单区分就 是 单 个 源 文件和整个工程的关 系 8, 最后在 Keil
8、uVision3打 开 我们 的 C:KeilARMExampleskeiltestBlinky工程,将 cpptest.ini 文件 添加 到工程里面。 9, 这 些 配置 完 成 之 后, 即 可 进行 测试。 结果 :对 /Blinky 的 "Run Keil uVision Application with Memory Monitoring - ULINK2" 开始 (执 行 .正在 为 监 测 收 集 文件 . 完 成。执 行 流 程 准备中 . 完 成。属 性 的 设 置 : stub_config_file = E:parasoft.cpptestBlink
9、yunit-datacurrent_tubf179707/stubconfig.xml属 性 的 设 置 : stub_config_header_file = E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_stubconfig.h属性 的 设 置 : jre = java用 户 信息 .This execution flow template contains sections to be filled with project specific data please review it and adjust to
10、suit your environment. 完 成。属性 的 设 置 : uv_proj_exe = C:KeilARMExampleskeiltestBlinkyobjBlinky.axf 属性 的 设 置 : uv_proj = C:KeilARMExampleskeiltestBlinkyBlinky.uV2属性 的 设 置 : uv_proj_dir = C:KeilARMExampleskeiltestBlinky属性 的 设 置 : uv_target = MCBSTM32E属性 的 设 置 : test_exec_exit = _sys_exit属性 的 设 置 : rs232
11、par_port_target = USART2属性 的 设 置 : rs232par_port_host = 1属性 的 设 置 : rs232par_baud_rate = 115200属性 的 设 置 : rs232par_byte_size = 8属性 的 设 置 : rs232par_parity = N属性 的 设 置 : rs232par_stop_bit = 1属性 的 设 置 : rs232par_timeout = 3600属性 的 设 置 : uv_test_exe = C:KeilARMExampleskeiltestBlinkyobjBlinky.axf Blinky
12、.c 源代码预 编译 中 : /Blinky/Blinky/Blinky.c .driver.c 源代码预 编译 中 : /Blinky/Blinky/driver.c .driver.c .结果 是最 新 的。irq.c 源代码预 编译 中 : /Blinky/Blinky/irq.c .Blinky.c .结果 是最 新 的。lcd.c 源代码预 编译 中 : /Blinky/Blinky/lcd.c .lcd.c .结果 是最 新 的。Retarget.c 源代码预 编译 中 : /Blinky/Blinky/Retarget.c .Retarget.c .结果 是最 新 的。Seria
13、l.c 源代码预 编译 中 : /Blinky/Blinky/Serial.c .irq.c .结果 是最 新 的。STM32_Init.c 源代码预 编译 中 : /Blinky/Blinky/STM32_Init.c .Serial.c .结果 是最 新 的。STM32_Init.c .结果 是最 新 的。Blinky.c 插 桩 准备中 : /Blinky/Blinky/Blinky.c .driver.c 插 桩 准备中 : /Blinky/Blinky/driver.c .Blinky.c .结果 是最 新 的。driver.c .结果 是最 新 的。irq.c 插 桩 准备中 :
14、/Blinky/Blinky/irq.c .irq.c .结果 是最 新 的。Retarget.c 插 桩 准备中 : /Blinky/Blinky/Retarget.c .lcd.c 插 桩 准备中 : /Blinky/Blinky/lcd.c .Retarget.c .结果 是最 新 的。lcd.c .结果 是最 新 的。Serial.c 插 桩 准备中 : /Blinky/Blinky/Serial.c .STM32_Init.c 插 桩 准备中 : /Blinky/Blinky/STM32_Init.c .Serial.c .结果 是最 新 的。STM32_Init.c .结果 是最
15、新 的。为 : /Blinky/Blinky/Blinky.c 的 静态覆盖率 数 据 读取中 . 完 成。为 : /Blinky/Blinky/driver.c 的 静态覆盖率 数 据 读取中 . 完 成。为 : /Blinky/Blinky/irq.c 的 静态覆盖率 数 据 读取中 . 完 成。为 : /Blinky/Blinky/lcd.c 的 静态覆盖率 数 据 读取中 . 完 成。为 : /Blinky/Blinky/Retarget.c 的 静态覆盖率 数 据 读取中 . 完 成。为 : /Blinky/Blinky/Serial.c 的 静态覆盖率 数 据 读取中 . 完 成。
16、为 : /Blinky/Blinky/STM32_Init.c 的 静态覆盖率 数 据 读取中 . 完 成。静态覆盖 数 据 发送中 . 完 成。桩函 数 源代码插 桩 中 : /Blinky/stubs/uart.c . 结果 是最 新 的。符号 数 据 读取中 . 完 成。正在 检查缺少 的 定义 . 结果 是最 新 的。可用的 定义 数 据 读取中 . 完 成。正在 分析缺少 的 定义 .无 法 找 到下 列 函 数 的 定义 :void _CPTR_Finalize(void. 完 成。桩函 数配置 中 .为函 数 : void stm32_EfiSetup(void 使 用 原始 定
17、义为函 数 : void RCC_SYSCLKConfig(u32 使 用 原始 定义为函 数 : FlagStatus RCC_GetFlagStatus(u8 使 用 原始 定义为函 数 : void GPIO_Configuration(void 使 用 原始 定义为函 数 : void reportSensorFailure(void 使 用 原始 定义为函 数 : void RCC_HCLKConfig(u32 使 用 原始 定义为函 数 : int initDisplay(void 使 用 原始 定义为函 数 : void GPIO_WriteBit(GPIO_TypeDef *,
18、 u16, BitAction 使 用 原始 定义 为函 数 : u8 readSensorStatus(void 使 用 原始 定义为函 数 : void mainLoopDriver(void 使 用 原始 定义为函 数 : unsigned short CalcAverage(unsigned short 使 用 原始 定义为函 数 : void RCC_APB2PeriphClockCmd(u32, FunctionalState 使 用 原始 定义 为函 数 : int stm32_Init(void 使 用 原始 定义为函 数 : int sendchar(int 使 用 原始 定
19、义为函 数 : void FLASH_SetLatency(u32 使 用 原始 定义为函 数 : void LCD_FSMCConfig(void 使 用 原始 定义为函 数 : int readSensor(int * 使 用 原始 定义为函 数 : void STM3210E_LCD_Init(void 使 用 原始 定义为函 数 : void stm32_ClockSetup(void 使 用 原始 定义为函 数 : void handleSensorValue(int 使 用 原始 定义为函 数 : ErrorStatus RCC_WaitForHSEStartUp(void 使 用
20、 原始 定义为函 数 : void adc_Init(void 使 用 原始 定义为函 数 : void LCD_WriteReg(u8, u16 使 用 原始 定义为函 数 : void LCD_DisplayStringLine(u8, u8 * 使 用 原始 定义为函 数 : void printMessage(int, int 使 用 原始 定义为函 数 : void initialize(void 使 用 原始 定义为函 数 : void LCD_DisplayChar(u8, u16, u8 使 用 原始 定义为函 数 : void LCD_SetDisplayWindow(u8,
21、 u16, u8, u16 使 用 原始 定义为函 数 : void LCD_Clear(u16 使 用 原始 定义为函 数 : u8 GPIO_ReadInputDataBit(GPIO_TypeDef *, u16 使 用 原始 定义为函 数 : void stm32_GpioSetup(void 使 用 原始 定义为函 数 : void RCC_DeInit(void 使 用 原始 定义为函 数 : void LCD_DrawLine(u8, u16, u16, u8 使 用 原始 定义为函 数 : int getkey(void 使 用 原始 定义为函 数 : void _sys_ex
22、it(int 使 用 原始 定义为函 数 : void LCD_DrawChar(u8, u16, uc16 * 使 用 原始 定义为函 数 : void LCD_SetCursor(u8, u16 使 用 原始 定义为函 数 : int sprintf(char *_restrict_, const char *_restrict_, . 使 用 原始 定义 为函 数 : void drawPixel(unsigned short, unsigned short, unsigned short 使 用 原始 定 义为函 数 : void LCD_WriteRAM(u16 使 用 原始 定义为
23、函 数 : void stm32_SysTickSetup(void 使 用 原始 定义为函 数 : void RCC_PCLK1Config(u32 使 用 原始 定义为函 数 : void stm32_TimerSetup(void 使 用 原始 定义为函 数 : void LCD_CtrlLinesConfig(void 使 用 原始 定义为函 数 : u8 RCC_GetSYSCLKSource(void 使 用 原始 定义为函 数 : void RCC_PLLCmd(FunctionalState 使 用 原始 定义为函 数 : void FSMC_NORSRAMInit(FSMC_
24、NORSRAMInitTypeDef * 使 用 原始 定义为函 数 : void finalize(void 使 用 原始 定义为函 数 : void LCD_SetBackColor(vu16 使 用 原始 定义为函 数 : void Delay(unsigned long 使 用 原始 定义为函 数 : void LCD_SetTextColor(vu16 使 用 原始 定义为函 数 : void RCC_PLLConfig(u32, u32 使 用 原始 定义为函 数 : void exit(int 使 用 用 户 定义为函 数 : void RCC_HSEConfig(u32 使 用
25、 原始 定义为函 数 : void GPIO_Init(GPIO_TypeDef *, GPIO_InitTypeDef * 使 用 原始 定义 为函 数 : void FSMC_NORSRAMCmd(u32, FunctionalState 使 用 原始 定义为函 数 : void stm32_UsartSetup(void 使 用 原始 定义为函 数 : void RCC_AHBPeriphClockCmd(u32, FunctionalState 使 用 原始 定义 为函 数 : void FLASH_PrefetchBufferCmd(u32 使 用 原始 定义为函 数 : void
26、RCC_PCLK2Config(u32 使 用 原始 定义为函 数 : void GPIO_Write(GPIO_TypeDef *, u16 使 用 原始 定义为函 数 : void LCD_WriteRAM_Prepare(void 使 用 原始 定义为函 数 : void drawBargraphH(unsigned short, unsigned short, unsigned short, unsigned short 使 用 原始 定义. 完 成。桩函 数配置 头 文件 创建 中 . 结果 是最 新 的。测试 运行 文件 创建 中 . 结果 是最 新 的。运行 时 库构 建 中 .
27、源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestApi.c . . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestCoverage.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestErrorMessages.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineru
28、ntimesrcCppTestMemoryAnalysis.c . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestMessage.c . . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestRuntime.c . . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestStackTrace.c . . 结果 是最 新 的。源代码
29、编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestStreams.c . . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestThread.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestThreadData.c . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrc
30、CppTestTime.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestTypeLimits.c . 结果 是最 新 的。源代码 编译 中 : E:Parasoft C+testparasoftengineruntimesrcCppTestUtils.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrccommonCppTestAlloc.c . 结果 是最 新 的。源 代 码 编 译 中 : E:
31、Parasoft C+testparasoftengineruntimesrccommonCppTestList.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrccommonCppTestMarshall.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrccommonCppTestMemory.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftenginerunt
32、imesrccommonCppTestProperties.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrccommonCppTestString.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrccommonCppTestTree.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrcpresentationCppTestMessag
33、ePlain.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransport.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportFile.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportFileB
34、uffered.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportNXT.c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportRS232Common.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTes
35、tTransportRS232STM32F103ZE. c . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportRS232Unix.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportRS232Win32.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:ParasoftC+testparasoftenginer
36、untimesrctransportCppTestTransportUnixSocket.c . . 结果 是最 新 的。源 代 码 编 译 中 : E:Parasoft C+testparasoftengineruntimesrctransportCppTestTransportWinSocket.c . 结果 是最 新 的。. 完 成。Blinky.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/Blinky.c .Blinky.c .结果 是最 新 的。driver.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/driver.c .driver.
37、c .结果 是最 新 的。irq.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/irq.c .irq.c .结果 是最 新 的。lcd.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/lcd.c .Retarget.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/Retarget.c .lcd.c .结果 是最 新 的。Serial.c 插 桩 的 源代码 编译 中 : /Blinky/Blinky/Serial.c .Serial.c .结果 是最 新 的。STM32_Init.c 插 桩 的 源代码 编译 中 : /Blinky
38、/Blinky/STM32_Init.c .STM32_Init.c .结果 是最 新 的。uart.c 插 桩 的 源代码 编译 中 : /Blinky/stubs/uart.c .uart.c .结果 是最 新 的。cpptest_testrunner.c 源 代 码 编 译 中 : E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707cpptest_testrunner.c .cpptest_testrunner.c .结果 是最 新 的。Retarget.c .结果 是最 新 的。Preparing Debugger Script.&q
39、uot;E:Parasoft C+testparasoftengineetc/./bin/tja" "TEST_EXECUTABLE=C:KeilARMExampleskeiltestBlinkyobjBlinky.axf" "TEST_EXEC_EXIT=_sys_exit" "E:Parasoft C+testparasoftengineetc/templates/for_recipes/uvision_ulink.tja"LOAD "C:KeilARMExampleskeiltestBlinkyobjBlin
40、ky.axf"G,_sys_exitEXIT. 完 成。Preparing Starter Script."E:Parasoft C+testparasoftengineetc/./bin/tja" "UV3_EXE=uv3.exe" "UV3_PROJECT=C:KeilARMExampleskeiltestBlinkyBlinky.uV2""UV3_TARGET=MCBSTM32E" "E:Parasoft C+testparasoftengineetc/templates/for_reci
41、pes/uvision_starter.tja""uv3.exe" -d "C:KeilARMExampleskeiltestBlinkyBlinky.uV2" -t "MCBSTM32E" . 完 成。测试 项 目 链接中 . 结果 是最 新 的。移除 文件 E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.tlog移 除 文 件 E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cp
42、ptest_results.clog Collecting results - start ."E:Parasoft C+testparasoftengineetc/./runtime/listeners/rs232_listener/listener.exe" -v -rm -d "1,115200,N,1,8" -cn "1tE:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.tlog" -cn "2bE:parasoft.cpptest
43、Blinkyunit-datacurrent_tubf179707/cpptest_results.clog" -sf "E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/sync". 完 成。等 待同步 文件 : E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707sync.init . id = 1result = E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.tlog
44、 Added channel E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.tlog, 1id = 2result = E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.clog Added channel E:parasoft.cpptestBlinkyunit-datacurrent_tubf179707/cpptest_results.clog, 2 Creating init syncfile E:parasof
45、t.cpptestBlinkyunit-datacurrent_tubf179707/sync.init 找 到文件。. 完 成。Running tests.cmd /c "C:KeilARMExampleskeiltestBlinky/starter.bat"C:>"uv3.exe" -d "C:KeilARMExampleskeiltestBlinkyBlinky.uV2" -t "MCBSTM32E"Received ENQ, transmission startedBytes receiving 40
46、.Bytes receiving 64.Bytes receiving 88.Bytes receiving 112.Bytes receiving 136.Bytes receiving 176.Bytes receiving 200.Bytes receiving 224.Bytes receiving 248.Bytes receiving 272.Bytes receiving 296.Bytes receiving 320.Bytes receiving 344.Bytes receiving 368.Bytes receiving 546.Bytes receiving 566.Bytes receiving 6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年影视剧本创作委托合同2篇
- 二零二五年抵押反担保委托合同书(矿产资源质押担保)3篇
- 二零二五版工程招投标与合同管理规范解读与应用3篇
- 二零二五年模具出口贸易代理合同3篇
- 二零二五版儿童关爱基金捐款赠与合同3篇
- 二零二五版矿山安全生产承包管理合同3篇
- 二零二五年度环保产业贷款合同样本集3篇
- 二零二五版房产代理佣金提成合同样本3篇
- 二零二五年度环境风险评估与治理项目合同3篇
- 二零二五版电力线路架设与安装监理合同3篇
- 2024年关爱留守儿童工作总结
- GB/T 45092-2024电解水制氢用电极性能测试与评价
- 《算术平方根》课件
- DB32T 4880-2024民用建筑碳排放计算标准
- 2024-2024年上海市高考英语试题及答案
- 注射泵管理规范及工作原理
- 山东省济南市2023-2024学年高二上学期期末考试化学试题 附答案
- 大唐电厂采购合同范例
- 国潮风中国风2025蛇年大吉蛇年模板
- GB/T 18724-2024印刷技术印刷品与印刷油墨耐各种试剂性的测定
- IEC 62368-1标准解读-中文
评论
0/150
提交评论