欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年KeilCMSIS-Pack器件支持包制作教程 .pdf

    • 资源ID:33387737       资源大小:853.45KB        全文页数:14页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年KeilCMSIS-Pack器件支持包制作教程 .pdf

    器件支持包一个包含 元素的软件包称作设备家族包(DFP )。一个DFP 可以包含额外的软元件 或者 工程示例 或者其任意组合。典型的DFP 内容有:解释设备或者设备系列功能的设备属性。配置设备的软元件和基本设备驱动程序,典型的有:需要用来设置C 运行时库,器件时钟和存储器接口的CMSIS兼容的系统和启动文件。提供给中间件栈使用的物理器件外设的软件例行程序对应的外设驱动程序接口程序员视角的用来描述器件外设的一个或多个系统视图描述文件。驱动程序可遵守CMSIS-Driver标准。擦除和下载代码到片上闪存用的Flash编程算法。显示器件及其外设的用法的工程示例。可以用来作为应用开发起点的用户代码模板。该节是一个说明如何创建DFP 的教程。起初,在DFP 中只有描述器件的PDSC (Package description包描述)文件。然后向该DFP 中扩充添加SVD (System View Description 系统视图描述)文件、Flash算法和器件相关的如系统和HAL (Hardware Abstraction Layer硬件抽象层)的软元件文件。示例项目和代码模板可作为描述节添加到软元件包中。DFP 使用案例为支持新的器件,器件系列包(DFP )可以作为开发工具的扩展由芯片供应商提供。相对于某一器件系列,DFP 使芯片供应商能独立的分发器件支持工具。DFP 也能被用来提供显示相关网站的信息。一个例子是 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 从 DFP中提取网站上的设备信息创建一个 DFP 的步骤名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 基本器件系列包在下面的章节中,将为设备供应商Myvendor提供的称为MVCM3的一个虚构的器件系列创建DFP 。器件系列由被分成两个子系列的四个成员组成。所述MVCM3系列的规格如下:MVCM3器件系列规格准备工作1.在您的 PC 上创建一个工作目录,例如C:tempworking_dfp。2.进入可用的ARM:CMSIS包安装目录的CMSISPackTutorials。请查阅您的开发工具的文档来获取包安装目录结构的详细信息。在Vision中,它在目录C:KeilARMPackARMCMSISversion下。3.打开文件Pack_with_Device_Support.zip。4.将该 ZIP 文件中的01_Basic_Pack目录复制到您的工作目录。5.确保文件或目录没有被写保护(删除只读标志)。6.从可用的ARM:CMSIS包安装目录的CMSISUtilities下复制如下文件到您的工作目录中:o PackChk.exe o PACK.xsd o SVDConv.exe 7.用一个编辑器打开文件MyVendor.MVCM3.pdsc。I/O 数量26I/O 数量38I2C1I2C3UART4UART5Timer/Counter632-bitTimer/Counter832-bitPWM416-bit封装32-Pin LQFP封装48-Pin LQFPRAM2 kB SRAMRAM2 kB SRAMFlash16 kBFlash16 kBPWM216-bitRAM4 kB SRAMRAM4 kB SRAMFlash32 kBFlash32 kBPWM416-bitMVCM3110特征MVCM3250特征MVCM3120特征MVCM3260特征实时时钟看门狗定时器MVCM3100MVCM3200MVCM3100子系列最高运行频率为 50MHz 。MVCM3200子系列最高运行频率为 100MHz 。16-40+105(扩展级温度)+2.5V+3.6V32.768kHz1内存保护单元浮点运算单元外部中断运行温度范围运行电压MVCM3描述:MVCM3器件系列包含一个 ARM Cortes-M3 处理器,运行频率可达到 100MHz 以及多种的片上外设。处理器ARM Cortes-M3 处理器( r2p1版),小端无无名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 代码示例1.取消 PDSC 文件中对 部分的注释,并添加以下内容: The MVCM3 device family contains an ARM Cortex-M3 processor, running up to 100 MHz with a versatile set of on-chip peripherals. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 注意Dvendor ID不能自由选择。此处设置的ID 可以在 PACK.xsd中找到(可用的ARM:CMSIS包安装目录的CMSISUtilities中)。本节以及下面各节的所有的代码示例可以在01_Basic_Pack目录下的snippets.xml文件中找到。2.保存 PDSC 文件并用 gen_pack.bat脚本生成包文件。参见Generate a Pack以了解进一步的细节。然后安装这个包到您的开发工具中。在开发工具中显示微控制器器件系统和启动文件CMSIS-CORE定义了如下要在嵌入式应用中使用的文件:startup_.s包含复位处理程序和异常向量。其在复位之后执行,然后调用SystemInit,且可能包含用户应用程序的堆栈配置。system_.c和system_.h包含通用的系统配置信息(如时钟和总线设置)。提供了可访问的处理器核心和所有外设。该文件应该由SVD文件通过SVDConv.exe产生,以此来确保头文件和调试器显示的一致性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 与用户代码有关的系统和启动文件注意CMSIS-CORE阐明了系统和启动文件的结构以及其创建方式。复制 Pack_with_Device_Support.zip中的 02_System_and_Startup目录到您的工作环境中的文件 目录中。1.取消 PDSC 文件中对部分的注释,并添加以下内容(该conditions部分提供了该步骤的详细信息): MyVendor MVCM3 Series devices and CMSIS-CORE Startup assembler file for ARMCC Startup assembler file for GCC Startup assembler file for IAR 注意基于汇编的startup_.s文件是和工具有关的。因此,对于各工具供应商,单独的条件是必需的。2.取消 PDSC 文件中对部分的注释,并添加以下内容(该components部分提供了该步骤的详细信息): 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - System Startup for MyVendor MVCM3 Series 3.添加一个新的版本号: Startup files included 4.最后,保存PDSC 文件并用gen_pack.bat脚本生成包文件。然后安装这个包到您的开发工具中并创建一个新的工程。选择软元件:CMSIS:CORE和:Device:Startup给该工程:启动和系统文件添加到了工程中系统视图描述文件CMSIS-SVD用来书面地描述包含基于ARM Cortex-M处理器的微控制器系统,尤其是外设寄存器的内存映射的程序员视图。系统视图中包含描述的详细程度足以与由芯片厂商公布的器件参考手册中的描述媲美。信息范围从上层的外设功能描述一直到底层内存映射寄存器中单个位域的定义和功能。由芯片供应商对CMSIS-SVD文件进行制定和维护。将基于XML 的 SVD 文件的输入到SVDConv.exe来生成依赖于调试视图和器件头文件的工具。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - SVD文件转换流程复制 Pack_with_Device_Support.zip中的 03_SVD_File目录到您的工作环境中的文件 目录中。1.用一个编辑器打开FilesSVD目录中的MVCM3xxx.svd文件并按如下进行更改: MyVendor Generic MVCM3xxx MVCM3xxx 1.2 ARM 32-bit Cortex-M3 Microcontroller based device, CPU clock up to 100 MHz. 2.在您的工作目录中打开一个命令行窗口并输入:C:tempworking_dfpSVDConv.exe FilesSVDMVCM3xxx.svd -generate=header -fields=macro 3.您应该能看到类似于这样的一些SVDConv输出:CMSIS-SVD SVD Consistency Checker / Header File Generator V2.82g Copyright (C) 2010 - 2014 ARM Ltd and ARM Germany GmbH. All rights reserved. Options: FilesSVDMVCM3xxx.svd -generate=header -fields=macro Reading file: FilesSVDMVCM3xxx.svd Decoding using XML SVD Schema V1.1 Found 0 Errors and 0 Warnings Return Code: 0 (OK) 将生成的头文件MVCM3xxx.h移动到 DeviceInclude目录中。4.向其 PDSC 文件的系列级区域添加如下两行代码:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 5.添加一个新的版本号: SVD and header file included 6.最后,保存PDSC 文件并用gen_pack.bat脚本生成包文件。然后安装这个包到您的开发工具中并创建一个新的工程。根据您的开发环境,您将看到在您工程中包含的SVD 文件:工程中的SVD文件注意更多关于 CMSIS-SVD的信息,请访问 通常包含预定义的Flash算法来对它支持的器件编程。算法功能页面详尽地阐述了该机制。对于 MVCM3系列的器件,需要创建两种flash算法。 MVCM3110/250拥有 16kB的 Flash, 而 MVCM3120/260拥有 32kB的 Flash存储。复制 Pack_with_Device_Support.zip中的 04_Flash_Programming目录到您的工作环境中的文件 目录中。1.重命名工程文件NewDevice.uvproj(在目录 _Template_Flash中)来表示新的Flash ROM器件名称,例如MVCM3XXX_16.uvproj。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 14 页 - - - - - - - - - 2.用 uVision打开该工程。选好目标(Cortex-M)器件。注意MDK-Lite不支持创建Flash编程算法。3.打开会话框Project - Options for Target - Output并且更改Name of Executable域的内容来表示当前器件,这里用MCVM3XXX_16。Cortex-M目标选项4.事实上,现在您就可以开始调整文件FlashPrg.c中的编程算法。现在只更改文件FlashPrg.c中的器件参数(器件名称,器件大小以及扇区大小):struct FlashDevice const FlashDevice = FLASH_DRV_VERS, / Driver Version, do not modify! MVCM3110/250 Flash, / Device Name ONCHIP, / Device Type 0 x00000000, / Device Start Address 0 x00004000, / Device Size in Bytes (16kB) 1024, / Programming Page Size 0, / Reserved, must be 0 0 xFF, / Initial Content of Erased Memory 100, / Program Page Timeout 100 mSec 3000, / Erase Sector Timeout 3000 mSec / Specify Size and Address of Sectors 0 x002000, 0 x000000, / Sector Size 8kB (2 Sectors) SECTOR_END ; 5.用 Project - Build Target来生成新的Flash编程算法。算法会在当前目录下的_Template_Flash目录中被创建。6.复制输出文件.MVCM3XXX_16.FLM到一个新的称为FilesFlash的子目录下。添加这行代码到MVCM3110/250的 device部分:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - algorithm name=FlashMVCM3XXX_16.FLM start=0 x00000000 size=0 x4000default=1/ 7.为 MVCM3120/260器件创建一个MVCM3XXX_32.flm文件。8.添加这行代码到MVCM3120/260的 device部分:algorithm name=FlashMVCM3XXX_32.FLM start=0 x00000000 size=0 x8000default=1/ 9.添加一个新的版本号: Flash Programming Algorithms added 10. 最后,保存PDSC 文件并用gen_pack.bat脚本生成包文件。然后安装这个包到您的开发工具中。根据您的开发环境,在您的工程中将会看到Flash编程算法:Flash编程算法的显示注意在Flash编程算法页面中提供了这一话题的更多信息。器件属性为了减少冗余,可将器件分为两个级别的分组:系列:一个器件系列拥有相同的处理器的属性。子系列:一个可选的子系列属性;这里增加或修改一个系列的特征。某具体器件属性规定了:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 器件:具体半导体器件的属性变种:器件变体的属性(例如,拥有不同的封装或温度范围)或者OEM 器件或者集成器件的电路板。一个器件由如下属性来进行描述:描述:文本形式的器件描述特征:器件的外设和特征分类表。该列表用于在网站上显示器件的特征。手册:关于器件以及其处理器的文档处理器:嵌入到器件中的处理器和处理器的特征编译:器件支持的构建工具的常规设置调试配置:调试链接的默认配置调试端口:调试器进行调试连接配置时器件的调试端口的描述。调试:调试器进行调试连接配置时器件的特定信息,包括系统视图描述文件。跟踪:调试器在配置跟踪时器件的特定信息。存储器:器件内部和外部RAM 和 ROM 的存储器区域布局算法:器件特定的Flash编程算法一个器件将会同时继承来自系列级和子系列级的技术参数。一些属性必需是唯一的。例如属性中 SVD 文件名属性值。因此,在SVD 文件中由系列级指定的属性值可以被子系列级或者器件级的属性值重新定义。在系列级以及子系列级中的比如描述以及特征项等信息会被级联在一起,然后最终确定这些器件级的信息。接下来将介绍如何指定器件MVCM3110的器件属性(请参阅基本器件系列包中所示的技术参数)。该系列的其它成员的器件属性也相应地被指定。复制 Pack_with_Device_Support.zip中的 05_Device_Properties目录到您的工作环境中的文件 目录中:1.MVCM3 Series系列的处理器编译描述和调试属性已经被指定了。这里对系列级的其它公共的手册和特征属性进行指定。添加下面的代码行到其PDSC 文件的 部分中: 2.MVCM31xx子系列有些特征是其两个成员器件共有的。请将下面的代码添加到MVCM3100的部分: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 3.MVCM3110器件具有一些独有的器件特征。请将下面的代码添加到MVCM3110的部分: 器件特有的软元件最后,需要将软元件和工程示例添加到 DFP 中。1.将下面的代码行添加到其PDSC 文件的 部分: GPIO HAL for MyVendor MVCM3 Series ADC HAL for MyVendor MVCM3 Series I2C Driver for MVCM3 Series #define RTE_Drivers_I2C0 /* Driver I2C0 */ #define RTE_Drivers_I2C1 #define RTE_Drivers_I2C2 UART Driver for MVCM3 Series 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 14 页 - - - - - - - - - #define RTE_Drivers_UART0 #define RTE_Drivers_UART1 #define RTE_Drivers_UART2 #define RTE_Drivers_UART3 #define RTE_Drivers_UART4 注意前两个软元件被添加到Device:HAL是因为它们是器件系列特有的且未使用发布的API 。I2C 和UART 的驱动秉承了CMSIS-Driver规范。因此,把它们添加到了CMSIS Driver器件类中。2.同样创建一个工程示例。将部分注释取消并添加这些: Dummy project Getting Started 3.添加一个新的版本号: DFP finalized 4.最后,保存PDSC 文件并用gen_pack.bat脚本生成包文件。然后安装这个包到您的开发工具中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -

    注意事项

    本文(2022年KeilCMSIS-Pack器件支持包制作教程 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开