版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、MFG说明MFGToo工具是freescale 专门针对i.MX处理器专门使用的烧写工具,用来将编译好的文 件系统和镜像文件烧写到板子上。2、文件结构以明远智睿 MY-I.MX6-MFG-TOOL-V2.3为例:文件结构cfg.ini 指定LIST,ucl2.xml根据此定义,找到对应的操作部分流程:Profiles/MX6Q Li nux Update/OS Firmware/ulmage打开MfgTool2.exe时,会读取uImage的内容。如果没有uImage,打开MfgTool2.exe,提示:Profiles/MX6Q Li nux Update/OS Firmware/ucl
2、2.xmlMFG的工作流程由配置文件决定,配置文件即: ucl2.xml明远,LIST name=Android-MYZR-SPI_NOR-EMMCvSTATE name=Updater dev=MSC vid=066F pid=37FF/ulmage address=v/CFG/全局变量ucl2.xml 将烧录过程分成两个阶段:BootStrap和Updater/dev、vid和pid :分别对应两个阶段的设备名、设备对应连接的USB vid和pid号/针对imx6系列,在BootStrap 阶段,有效的设备名只有 MX6QMX6D MX6SL在Updater阶段,有效的设备名只有MSCvL
3、IST name=Android-MYZR-SPI_NOR-EMM Cesc= Choose SPI-NOR and SD Rootfs as media/根据cfg.ini文件中定义的name选择Loading U-boot /下载当前目录的 myzr_u-boot.bin 文件到RAMLoadi ng|Kernel.v/CMD/下载当前目录的ulmage文件到RAM Jumpi ng to OS image. /通知内嵌ROM代码跳转到内存中的镜像执行!- /类型是push,此句在目标机上执行创建设备节点 -/类型是push,此句在目标机上执行,创建设备节点Eras ingBoot par
4、titio */CMD/擦除信息Loadi ngfile= files/android/u-boot.binSe ndi ng U-Boot文件发送到目标机CMD state=Updater type=push body=se nd/ 将 files/android/u-boot.binwrite U-Boot to SPI-NORv/CMD/烧写 将$FILE下载到/dev/mtdO位置,bs=512,指定读/写的blocks大小为512bytesSending partition shell Partitioning./解压脚本文件 Partitioning./执行脚本文件Formatti
5、ng sdpartiti o*/CMD/从下面开始烧录内核、文件系统Se nding kernel ulmageFormattingmisc partiti o*/CMD/ 将 files/android/boot.img 发送到目标机write boot.imgCMD state=Updater type=push body=frfflush the memory./刷新,等待数据传送完成Formatti ng sd partiti o*/CMDFormatt ing system partiti onFormatti ng cache partiti o*/CMDFormatti ng d
6、ata partitio */CMDCMD state=Updater type=push body=frfflush the memory.file= files/a ndroid/system.imgSe nding and writti ng system.imgv/CMD/利用pipe传输大数据CMD state=Updater type=push body=frfflush the memory./执行flush刷新操作,等到数据传输完毕CMD state=Updater type=push body=pipe dd of=/dev/mmcblk0p5 bs=512Do nesome
7、 auto test.-!- Rlso, userdata.img will have an droid unit test, you can use this to do!- Sending userdata.img(opti on al) CMD state=Updater type=push body=frfflush the memory. - /注释掉Se nding and writti ng recovery.imgFinishing rootfs write/ 显示执行完毕信息官方, LIST name= Android-SabreSD-eMMCLoading U-bootlo
8、adSection=OTH setSection=OTH HasFlashHeader=FALSE LoadingKernel.loadSection=OTH setSection=OTH HasFlashHeader=FALSE LoadingInitramfs. Jumping to OS image. clean up u-boot parameter / 将/dev/zero 下载到 /dev/mmcblkO 从/dev/mmcblkO 开始的位置,跳过 1536 个 blocks , 复制 16 个 blocks /sys/devices/platform/sdhci-esdhc-i
9、mx.3/mmc_host/mmc0/mmc0:0001/boot_configa ccess boot partition 1Sending U-Bootwrite U-Boot to sd card /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_configa ccess user partition and enable boot partion 1 to boot Partitioning. Partitioning.Formatting sd partitionSending kernel u
10、Imagewrite boot.imgflush the memory.Formatting data partitionExtracting data partition shellMaking data encryptableFormatting system partitionFormatting cache partitionflush the memory.Formatting device partitionSending and writting system.imgflush the memory.!- Sending userdata.img(optional) flush
11、the memory. -Sending and writting recovery.imgFinishing rootfs writeDoneProfiles/MX6Q Linux Update/OS Firmware/SD 卡分区脚本#!/bin/bash / 定义是脚本文件# partiti on size in MB/以MB为单位,分区BOOTLOAD_RESERVE=8BOOT_ROM_SIZE=8SYSTEM_ROM_SIZE=512CACHE_SIZE=512RECOVERY_ROM_SIZE=8VENDER_SIZE=8MISC_SIZE=8 help() bn=base na
12、me $0 cat device_ node opti ons:-hdisplays this help message-sonly get partiti on size-npnot partition.-f flash android image.EOF# check the if root?userid=id -uif $userid -ne 0 ; thenecho youre not root?exitfi# parse command linemoreoptions=1node=nacal_only=0 not_partition=0not_format_fs=0 while $m
13、oreoptions = 1 -a $# -gt 0 ; docase $1 in-h) help; exit ;-s) cal_only=1 ;-f) flash_images=1 ;-np) not_partition=1 ;-nf) not_format_fs=1 ;*) moreoptions=0; node=$1 ;esac $moreoptions = 0 & $# -gt 1 & help & exit $moreoptions = 1 & shift done if ! -e $node ; thenhelpexitfi# call sfdisk to create parti
14、tion table# get total card sizeseprate=40total_size=sfdisk -s $no detotal_size=expr $total_size / 1024boot_rom_sizeb=expr $BOOT_ROM_SIZE + $BOOTLOAD_RESERVE extend_size=expr $SYSTEM_ROM_SIZE + $CACHE_SIZE + $VENDER_SIZE +$MISC_SIZE + $sepratedata_size=expr $total_size - $boot_rom_sizeb - $RECOVERY_R
15、OM_SIZE -$extend_size + $seprate# create partitionsif $cal_only -eq 1 ; thencat EOFBOOT : $boot_rom_sizebMBRECOVERY: $RECOVERY_ROM_SIZEMBSYSTEM : $SYSTEM_ROM_SIZEMBCACHE : $CACHE_SIZEMBDATA : $data_sizeMBMISC : $MISC_SIZEMBEOFexitfi# destroy the partition tabledd if=/dev/zero of=$node bs=1024 count=
16、1 sfdisk -force -uM $node EOF ,$boot_rom_sizeb,83,$RECOVERY_ROM_SIZE,83 ,$extend_size,5,$data_size,83,$SYSTEM_ROM_SIZE,83 ,$CACHE_SIZE,83,$VENDER_SIZE,83 ,$MISC_SIZE,83EOF# adjust the partition reserve for bootloader.# if you dont put the uboot on samedevice, you can remove the BOOTLOADER_ERSERVE# t
17、o have 8M space.# the minimal sylinder for some card is 4M, maybe some was 8M# just 8M for some big eMMC s sylindersfdisk -force -uM $node -N1 EOF$BOOTLOAD_RESERVE,$BOOT_ROM_SIZE,83EOF# For MFGTool Notes:# MFGTool use mksdcard-android.tar store this script# if you want change it.# do following: # vi
18、 mksdcard-android.sh# edit want you want to change Document/ V2/ Manufacturing Tool V2 UCL User GuideOverviewManufacturing (Mfg) tool provides a flexible way for users to set their own operations. An xml script file is used to configure the users operation.可以灵活的自定义操作An xml file typically consists of
19、 a number of tasks which can be executed by running the manufacturing tool just once.大量任务 开始运行工具时,执行UTP mode operationGlobal Configuration 全局配置Mfg tool uses global configuration to recognize which device the user wants to flash among different USB devices connected to the PC.选择设备 与PC相连的USBLets expla
20、in it by an example. 下面为例,说明 vSTATE name=Updater dev=MSC vid=066F pid=37FF/v/CFGGlobal con figurati on is contained betwee n parameter and .定义的全局配置参数 in dicates the firstphase of the burning process, the phase name is“ BootStrap ” , and a device named“MX6Q should be connected with the USB pid“0054”
21、and vid“ 15A2 .For i.MX6 serial, in the phase“ BootStrap ” , the valid strings for dev are:“MX6Q ,“MX6D ,“MX6SL ; in the phase “ Updater ” , the valid string for dev is: “MSC.烧录过程的第一步BootStrap in dicates the seco ndphase of the burning process, the phase name is“Updater ” , and a device named“ MSC s
22、hould be connected with the USB pid“37FF” and vid “066F” .Update Comma nd ListThe tool uses Update Comma nd List (UCL) to specify all the user tasks. The UCL contains a disti net list for each use case. Each list contains a set of comma ndelements with attributes for the command type, body, and payl
23、oad. The command element text provides a user interface message for the current operation.Each UCL begins from while ending with , the nameof which can be specified by users. Parameter “desc” is used for comment purpose.There are two types of commands: host specific commands and firmware specific co
24、mmands.Host specific commandsare parsed and executed by host tool while firmware specific commands are parsed and executed by firmware runs on targeted device.Host Specific CommandsThe example below shows a typical command.“ state ” indicates the phase of the command executed and命令执行的阶段“type ” speci
25、fies the type of a command.命令的类型“ body” is a parameter of the command.命令的参数“file ” is another parameter.命令参数“Loading Kernel ” is a description of the command. 当前命令的描述Loadi ngKernel.v/CMDComma nc BodytypeOther Descripti on paramete rsloadfileAddressloadSectionsetSecti onHasFlashHeaderCodeOffsetDownl
26、oad an image to RAM. It is stro ngly recommendedo follow the example provided in release package since it invo Ives ROM code parameters which may not be easy to un dersta nd.file: specify the path and name of the image file.说明文件的路径、名称Parameter “address ” specifies the RAMaddress where the image is l
27、ocated.文件在RAM勺地址loadSecti on: a parameter used by ROM code, should be set to “OTHjumpROM代码所用的参数setSect ion: a parameter used by ROM code, should be set to “OTH if there are other images to be loaded; set to “APP if the last image is loaded.还有其他文件OTH最后一个文件APPHasFlashHeader: set TRUE if the image cont
28、ains a flash header, or set to FALSE.包含 flash header,设成 TRUE否则,设成FALSECodeOffset: the address offset of first executed in struct within the image.文件中执行的第一条指令的偏移地址The comma nd is on ly for Bulk-IO mode i.MX device except i.MX50 HID mode device.Notify ROM code to jump to the RAM image torun. The comma
29、ndnust be followed after a load comma nd in which setSect ion value is set to“APP .The comma nd is on ly for Bulk-IO mode i.MX device except i.MX50 HID mode device.Downl oad an image to RAM.bootRecover yFile ifFirmware Specific Comma ndsIf a comma nd is typed as“ push”,which means the comma nd is pa
30、rsed and executedby the targeted device in stead of host, push是目标机执行的命令the only thi ng host has to do is to send the comma nd to the targeted device.主机只是将命令发给目标机The comma nds actually executed by OS image are dow nl oaded inComma nd lists . As aresult, each OS has its own comma nds.Command . Argume
31、ntsDscripti on?NoneRequest to send the device identity information inXML form!in tegerIn itiate the reboot depe nding on argume nt. 3 means reboot whileother values will force a shutdow n.$stri ngExecute shell comma ndExample:$ echo hello from utpflushNoneWait for all data tran sfer to be fini shed
32、andprocessed.ffsNonePartition the SD card and flash the boot stream to it.mknoddevice_class, device_item, no de_tCreate the device node by pars ing sysfs en try.创建设备节点o_create, typeExample:readsendselftestmknod class/mtd,mtdO,/dev/mtdOstri ngNoneNoneRead the file specified by parameter and send it t
33、othe host. Ifthere is no such file, the appropriate status will be returned.Receive the file from the host. Subseque nt shell comma nds canrefer to the file received as $FILE.Example:Perform self-diag no stic; returns either pass or appropriateo_create, typeExample:status. Implemented as empty funct
34、ion in current release.savestri ngSave the file received by command“send” to the filespecifiedas parameter.pipestri ngExecute shell comma nd and read data from stdio pipeIN. mfg will send file to stdio pipe OUT.require fileattributeIt is useful for big data tran sfer, moretha n?physical memory size
35、?Finish Flashing NANDNote: The above two commandsmust be combined to useRecomme nd: Please add below comma nd prior to pipe comma nd to free some memory.wffwfsffswrfwrs/proc/sys/vm/drop_cachesrelease memoryv/CMDNONEDeprecatePrepare Write firmware to flash.NONEDeprecatePrepare Write firmware to SD CA
36、RD.NONEWrite firmware to SD.NONE,?ubiformat nand with ubi image.require fileExampleattributeFinish FlashingNANDnu mber of sdWrite rootfs image to sd card.partiti onExamplerequire fileFinish FlashingNANDv/CMDYou?ca n also useCMD type=push body=pipe dd of=/dev/mmcblkp2bs=1K file=files/rootfs.ext2/?Fin
37、ish FlashingNANDfrfNONEsame as flushfrsNONEsame as flushOTP Bits Programmi ngComma nd below shows how to write a file to a disk:Showi ng HW_OCOTPfuse ban kReadvalue from HW_OCOTP_MAC0 fuse ba nkThe fuse ba nk name (ex: HW_OCOTP_MAC0) should be set as needed.应用MGFToo下载时的打印信息/Loadi ng U-boot/loadSecti
38、o n=OTH setSectio n=OTH HasFlashHeader=FALSE Loadi ngKernel.v/CMD/loadSectio n=OTH setSectio n=OTH HasFlashHeader=FALSE Loadi ngIn itramfs.v/CMD/ Jumpi ng to OS image. / 显示“ Jumping to OS image ”,开始打印:U-Boot 2009.08-dirty (Dec 05 2013 - 15:40:26)CPU: Freescale i.MX6 family TO1.2 at 792 MHzThermal se
39、n sor with ratio = 176Temperature: 28 C, calibration data 0 x5584d169 mx6q pll1: 792MHzmx6q pll2: 528MHzmx6q pll3: 480MHzmx6q pll8: 50MHzBoard: i.MX6Q-SABRESD: unknown-board Board: 0 x63012 POR Boot Device: SPI NORI2C: readyDRAM: 1 GBMMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2Using default environme
40、ntIn: serialOut: serialErr: serialNet: got MAC address from IIM: 00:00:00:00:00:00FEC0 PRIMEHit any key to stop autoboot: 0 # Booting kernel from Legacy Image at .Image Type: ARM Linux Kernel Image (uncompressed)Data Size: 3182360 Bytes = 3 MBVerifying Checksum . OK# Loading init Ramdisk from Legacy
41、 Image at10c00000 .Image Name: uboot initramfs rootfsImage Type: ARM Linux RAMDisk Image (gzip compressed)Data Size: 4537478 Bytes = 4.3 MBLoad Address: 00000000Entry Point: 00000000Verifying Checksum . OKLoading Kernel Image . OKOKStarting kernel .Uncompressing Linux. done, booting the kernel.CPU:
42、ARMv7 Processor 412fc09a revision 10 (ARMv7), cr=10c53c7dCPU: VIPT nonaliasing data cache, VIPT aliasing instruction cacheMachine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD BoardMemory policy: ECC disabled, Data cache writeallocCPU identified as i.MX6Q, silicon rev 1.2PERCPU: Embedded 7 pages/cpu
43、8185b000 s5184 r8192 d15296 u32768Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096Kernel commandline: console=ttymxc0,115200 rdinit=/linuxrc enable_wait_mode=offPID hash table entries: 4096 (order: 2, 16384 bytes)Dentry cache hash table entries: 131072 (order: 7, 524288 byt
44、es)Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)Memory: 1024MB = 1024MB totalMemory: 1028664k/1028664k available, 19912k reserved, 0K highmemVirtual kernel memory layout:vector : 0 xffff0000 - 0 xffff1000 ( 4 kB) fixmap : 0 xfff00000 - 0 xfffe0000 ( 896 kB)DMA : 0 xfbe00000 - 0 xffe
45、00000 ( 64 MB) vmalloc : 0 xc0800000 - 0 xf2000000 ( 792 MB)modules : 0 x7f000000 - 0 x7fe00000 ( 14 MB).text : 0 x8003a000 - 0 x805b676c (5618 kB).bss : 0 x806062a4 - 0 x806316f0 ( 174 kB)SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1Preemptible hierarchical RCU implementat
46、ion.NR_IRQS:624MXC GPIO hardwaresched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms arm_max_freq=1GHzMXC_Early serial console at MMIO 0 x2020000 (options 115200)bootconsole ttymxc0 enabledConsole: colour dummy device 80 x30Calibrating delay loop. 1581.05 BogoMIPS (lpj=7905280) p
47、id_max: default: 32768 minimum: 301Mount-cache hash table entries: 512CPU: Testing write buffer coherency: ok hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters availableCPU1: Booted secondary processorCPU2: Booted secondary processorCPU3: Booted secondary processorBrought up 4 CPUsS
48、MP: Total of 4 processors activated (6324.22 BogoMIPS).print_constraints: dummy:NET: Registered protocol family 16 print_constraints: vddpu: 725 1300 mV at 700 mV fast normal print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal print_constraints: vddsoc: 725 1300 mV at 1200 mV fast normal
49、print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast normalNo AHCI save PWR: PDDQ enabled hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.hw-breakpoint: 1 brea
50、kpoint(s) reserved for watchpoint single-step.hw-breakpoint: maximum watchpoint size is 4 bytes.L310 cache controller enabled l2x0: 16 ways, CACHE_ID 0 x410000c7, AUX_CTRL 0 x02070000, Cache size: 1048576 B bio: create slab at 0 mxs-dma mxs-dma-apbh: initialized print_constraints: SPKVDD: 4200 mV pr
51、int_constraints: 1_8V: 1800 mV print_constraints: MICVDD: 3300 mV print_constraints: vmmc: 3300 mVSCSI subsystem initialized spi_imx imx6q-ecspi.0: probed 22usbcore: registered new interface driver usbfs 22usbcore: registered new interface driver hub11usbcore: registered new device driver usb imx-ip
52、uv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(01), 5B(4,5), 5F(6,7) imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(01), 5B(4,5), 5F(6,7)Bluetooth: Core ver 2.16NET: Registered protocol family 31Bluetooth: HCI device and connection manager initializedBluetooth: HCI socket layer initializedBluetooth: L2CAP
53、 socket layer initializedBluetooth: SCO socket layer initialized i2c-core: driver max17135 using legacy suspend method i2c-core: driver max17135 using legacy resume methodSwitching to clocksource mxc_timer1Clockevents: could not switch to one-shot mode:Clockevents: could not switch to one-shot mode:
54、Clockevents: could not switch to one-shot mode: dummy_timer is not functional.Clockevents: could not switch to one-shot mode:Could not switch to high resolution mode on CPU 2 dummy_timer is not functional.dummy_timer is not functional.Could not switch to high resolution mode on CPU 1Could not switch
55、 to high resolution mode on CPU 0NET: Registered protocol family 2IP route cache hash table entries: 32768 (order: 5, 131072 bytes)TCP established hash table entries: 131072 (order: 8, 1048576 bytes)TCP bind hash table entries: 65536 (order: 7, 786432 bytes)TCP: Hash tables configured (established 1
56、31072 bind 65536)TCP reno registeredUDP hash table entries: 512 (order: 2, 16384 bytes)UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module
57、.RPC: Registered tcp NFSv4.1 backchannel transport module.Unpacking initramfs.dummy_timer is not functional.Could not switch to high resolution mode on CPU 3Freeing initrd memory: 4428KPMU: registered new PMU device of type 0Static Power Management for Freescale i.MX6 wait mode is disabled for i.MX6
58、 cpaddr = c0880000 suspend_iram_base=c08f8000PM driver module loadedIMX usb wakeup probe cpu regulator mode:ldo_enable i.MXC CPU frequency driverJFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.msgmni has been set to 2017cryptodev: driver loaded.io scheduler noop registeredio scheduler deadline re
59、gisteredio scheduler cfq registered (default)mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb_regulator_get: get() with no identifierimx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(25), 5F(6,7)Console: switching to colour frame buffer device 128x37mxc_sdc_fb mxc_sdc_fb.1: regi
60、ster mxc display driver hdmimxc_hdmi mxc_hdmi: Detected HDMI controller 0 x13:0 xa:0 xa0:0 xc1fbcvt: 1920 x108060: CVT Name - 2.073M9- cut here -WARNING: at mm/page_alloc.c:2121 _alloc_pages_nodemask+0 x150/0 x64c()Modules linked in: (unwind_backtrace+0 x0/0 xf8) from (warn_slowpath_common+0 x4c/0 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津城市建设管理职业技术学院《概率与数理统计》2024-2025学年第二学期期末试卷
- 湖南交通工程学院《财经英语》2024-2025学年第二学期期末试卷
- 湄洲湾职业技术学院《运输包装设计》2024-2025学年第二学期期末试卷
- 辽宁理工学院《时尚健身基础》2024-2025学年第二学期期末试卷
- 西安翻译学院《水上运动》2024-2025学年第二学期期末试卷
- 兰州城市学院《展示空间设计》2024-2025学年第二学期期末试卷
- 能源与环保公司安全管理责任制度
- 南京体育学院《键盘技巧三》2024-2025学年第二学期期末试卷
- 河北农业大学现代科技学院《道路渠化与景观设计》2024-2025学年第二学期期末试卷
- 郑州职业技术学院《食用菌栽培技术》2024-2025学年第二学期期末试卷
- 2025年军考化学试卷真题及答案
- 【《基于遗传算法的多车型运输路径优化实证研究》15000字(论文)】
- 维吾尔医常见病诊疗指南
- 2025年北京市人才引进计划面试模拟题与解析
- 航线运输基础知识培训课件
- 氨制冷安全知识培训课件考试
- 《数字技术应用基础模块》技工中职全套教学课件
- 初中英语中考一轮复习七年级上Unit3-4课件
- 《研学旅行课程设计与实施》全套教学课件
- 《汽车空气动力学》课件(共八章)
- 2024年温州永嘉县国有企业招聘考试真题
评论
0/150
提交评论