1.3 Cortex-M获取的开发资源
1.3.1 通过Arm公司Flexible Access业务和DesignStart项目获取IP授权
截至目前,Arm公司通过以下方式向开发者提供Cortex-M处理器开发资源授权:
1.访问Arm公司官方网站查询更多信息
Arm公司提供了一系列开发资源授权方式,包括免费或低预付费用访问以及用于学术用途的免费访问等。请访问www.arm.com/licensing了解更多信息。
2.通过Arm DesignStart项目
● Cortex-M0和Cortex-M3处理器可通过DesignStart项目获得(注意,Cortex-A5处理器也可通过该项目获得,但本书不涉及这一点);
● 免费提供Cortex-M1和Cortex-M3处理器开发资源作为CPU IP软核,经过优化可轻松集成于FPGA内。
Cortex-M33处理器作为DesignStart FPGA on Cloud提供(https://developer.arm.com/docs/101505/latest/designstart-fpga-on-cloud-cortex-m33-based-platform-technical-reference-manual)。
DesignStart的每一个项目都有不同的资源渠道。目前,Cortex-M DesignStart分为以下几种类型:
● 评估版DesignStart——具有固定配置的不可读Verilog,即时访问且免费,适用于评估、研究和教学;
● 专业版DesignStart——提供完整的RTL源代码,可配置且需要简单的认证(零认证费和量产后支付版税模式);
● 高校版DesignStart——提供完整的RTL源代码,可配置且需要简单的认证,零认证费;
● FPGA版DesignStart——提供FPGA开发工具的软件包,即时访问且免费,适用于评估、研究、教学和商业用途。
有关DesignStart的最新信息和详细信息(包括认证条件),请访问Arm网站https://developer.arm.com/products/designstart。
Cortex-M0和Cortex-M3评估版DesignStart和专业版DesignStart包含的产品如表1.3所示。
表1.3 Arm Cortex-M评估版DesignStart和专业版DesignStart包含的产品
(续)
IAR Systems公司也提供了IAR Embedded Workbench for Arm开发工具的试用许可。
可以通过访问网址https://arm.com/why-arm/how-licensing-works,进一步了解Arm公司Flexible Access业务和DesignStart项目的更多信息。
免责声明:上述Arm公司通过Flexible Access业务和DesignStart项目所提供的IP产品和商业条款在2019年7月前是准确的,未来可能会发生变化。
1.3.2 评估版DesignStart——Verilog代码不可读版本
评估版DesignStart的Cortex-M0和Cortex-M3处理器的开发资源是以不可读Verilog代码文件形式提供的。这些RTL文件虽未被加密,但其内部逻辑做了扁平化处理,信号名称也被替换为随机名称。可以使用标准Verilog仿真器对其进行仿真并将其综合到FPGA内部用于测试,但由于设计资源评估用途的限制,综合的结果不会被优化。处理器的顶层信号被保留为清晰的可读文本,以便于配置使用。评估版DesignStart开发资源对FPGA架构不做任何限制。
Cortex-M0评估版DesignStart包括一个基于Cortex-M系统设计套件(CMSDK)产品的示例系统。示例系统是以RT L源代码的形式提供的,并给出了测试代码及仿真脚本。该开发资源中还包括了基于MPS2(Microcontroller Prototyping System 2,微控制器原型系统2.0版)FPGA平台的原型设计项目。
Cortex-M3评估版DesignStart包括基于CoreLink系统设计套件SDK100(CMSDK的后续产品)的系统设计。示例系统也是以RTL源代码的形式提供的,并给出了测试代码及仿真脚本,开发资源中也包括了基于MPS2 FPGA平台的原型设计项目。
1.3.3 专业版DesignStart——Verilog RTL代码可配置版本
Cortex-M0和Cortex-M3专业版DesignStart直接提供处理器的RTL源代码,允许设计人员通过对Verilog参数选项灵活设置,定制其所需的处理器功能。由于是以RT L源代码形式提供的,因此在综合过程中更易获得最佳优化结果。
专业版DesignStart还包括完整CoreLink子系统产品设计资源。
1.3.4 FPGA版DesignStart——FPGA开发包版本
Cortex-M1和Cortex-M3可以作为加密组件集成到FPGA厂商的开发工具链中,允许设计者对这些已经集成TCM模块的组件进行配置。一些开发包会将处理器原本的AHB总线接口转换为AXI总线接口,并只能用于特定FPGA厂商开发工具链所支持的部分器件。
1.3.5 文档
在进行Arm系统设计时,会遇到以下几种类型的文档:
● 架构参考手册:这些文档规定了处理器架构的行为模型(如指令集、程序员开发模型),但并不规定特定处理器的实现细节(如流水线和接口)。Armv6-M、Armv7-M、Armv8-M处理器因架构不同(参考表1.2),有各自的架构参考手册,可从https://developer.arm.com网站下载。
● 技术参考手册(Technical Reference Manual,TRM):描述处理器或系统级IP资源的规范。这些文档是公开的,可以通过https://developer.arm.com网站查找。
● 开发实施手册(Integration and Implementation Manual,IIM):描述设计资源的系统接口、配置选项和相关使用方法,例如测试平台的操作。这些文档是附在设计资源包内的机密文件。
● 使用指南:详细记录了FPGA例程的使用方法。
● 版本注释:Arm公司所提供的设计资源都会提供版本注释,用于标注设计包中各组件的版本及前一版本所发现的问题和相应的修改。它还描述安装和测试这些设计资源的方法。这些文档是附在设计资源包内的机密文件。
● 勘误表:勘误表文档描述了Arm产品的已知问题及对应的解决办法。