【学习笔记】基于Arm Cortex-M0 Designstart Eval设计SOC(一)
作者:互联网
一、简介
本项目是使用Arm Cortex-M0 Designstart Eval进行开发,以下内容来自Arm Cortex-M0 DesignStart Eval User Guide。
点击此处下载Arm Cortex-M0 Designstart Eval
开发环境:
Win10、MDK5、TD(Tang Dynasty)、安路EG4S20 FPGA开发板
二、Designstart Eval文件介绍
点击上方链接申请Arm Cortex-M0 Designstart Eval后,得到一个名为AT510-MN-80001-r2p0-00rel0的压缩包。解压后得到如下文件
1.工具包的主目录
表1描述了设计工具包的主目录。
目录名称 | 目录内容 |
Recovery | FPGA 映像,包括字节码文件、BIOS、配置和软件二进制文件。 |
RevC | FPGA 设计文件 (Verilog) 和实现流程。 |
cores/cortexm0_designstart_r2p0 | 混淆Cortex-M0集成级别。 |
logical | FPGA 设计文件 (Verilog) 和实现流程。 |
smm_common | 常见的 FPGA 组件和外设。 |
software | 软件文件。这些包括:
|
systems/cortex_m0_mcu | CMSDK 示例系统的设计文件、测试平台文件和仿真设置文件。 |
systems/fpga_testbench | FPGA 示例系统的测试台文件和仿真设置文件。 |
documentation | 文档文件。 |
2.MCU示例及其余模块
下图为本项目的MCU系统顶层试图示例,表2解释组成MCU的各模块的含义。
项目 | 描述 |
| 微控制器设计示例。此级别包含行为记忆和时钟生成组件。 |
| 微控制器设计的可合成水平。这将实例化 Cortex-M0 处理器。 |
CORTEXM0INTERGRATION | Cortex-M0 集成层。这是经过混淆和拼合的代码。 |
cmsdk_apb_subsystem | APB 外设和 APB 基础设施的子系统。 |
System controller | 包含用于系统控制的可编程寄存器,例如存储器重映射。 |
SysTick reference clock | 系统Tick参考时钟生成逻辑。 |
cmsdk_ahb_gpio | 具有 AHB 接口的低延迟 GPIO。每个 GPIO 模块提供 16 个 I/O 引脚。 |
| 时钟和复位生成逻辑行为模型。 |
| 用于 I/O 端口的引脚多路复用器和三态缓冲器。 |
cmsdk_ahb_rom | 用于ROM的内存包装器,用于测试不同内存实现的行为。您可以修改 Verilog 参数以更改实现。 |
cmsdk_ahb_ram | RAM 的内存包装器,用于测试不同内存实现的行为。您可以修改 Verilog 参数以更改实现。 |
cmsdk_ahb_cs_rom_table | 一个示例系统级 CoreSight ROM 表,它使调试器能够将系统标识为基于 Cortex-M0 的系统。 |
cmsdk_mcu_addr_decode | 基于 CMSDK 地址映射为每个内存映射组件生成 HSELS。 |
cmsdk_clkreset | 生成时钟和复位信号。XTAL1 以 50MHz 的频率运行。它在仿真开始时将NRST LOW断言为5ns。 |
cmsdk_uart_capture | 从 UART2 捕获文本消息,并在仿真期间显示该消息。它在收到回车符后显示消息的每一行。要缩短仿真时间,请将波特率设置为与时钟频率相同。必须将 UART 设置为 |
下图显示了 Cortex-M0 示例系统的接口。
表3描述系统设计包括的外围组件。
项目 | 描述 |
---|---|
cmsdk_ahb_gpio | 两个具有 AHB 接口的低延迟 GPIO。每个 GPIO 模块提供 16 个 I/O 引脚。 |
cmsdk_apb_timer | 32 位计时器。 |
cmsdk_apb_uart | A UART. |
cmsdk_apb_watchdog | 与 AMBA 设计套件中的看门狗兼容的看门狗组件。 |
cmsdk_apb_dualtimers | 与 AMBA 设计套件中的双定时器模块兼容的双定时器模块。 |
表4介绍了Cortex-M0 微控制器中包含的 Verilog 文件。
文件名 | 描述 |
---|---|
| 微控制器的顶层 |
| 示例微控制器的常量定义和配置定义 |
| 微控制器系统级设计 |
| 用于系统级控制的可编程寄存器块 |
| 系统Tick参考时钟生成逻辑 |
| 时钟和复位控制 |
| 用于 I/O 端口的引脚多路复用器和三态缓冲器 |
cmsdk_mcu_addr_decode.v | 基于 CMSDK 地址映射为每个内存映射组件生成 HSELS |
cmsdk_ahb_cs_rom_table.v | CoreSight system level ROM table for CMSDK |
表5介绍了测试平台中包含的 Verilog 文件。
文件名 | 描述 |
---|---|
| 示例微控制器的测试台 |
cmsdk_clkreset.v | 时钟和复位发生器 |
cmsdk_uart_capture.v | 用于文本消息显示的 UART 捕获 |
tbench_M0_DS.vc | Cortex-M0 DesignStart Eval 的 Verilog 命令文件 |
表6介绍了 FPGA 设计的主要文件(不包括外设)。
文件名 | 描述 |
---|---|
fpga_top.v | 顶级 FPGA,具有 I/O 引脚、PLL 和 ddr 焊盘实例、复位控制逻辑 |
fpga_system.v | 包装器级别 |
user_partition.v | 主系统集成。端口多路复用,内存设备接口,gpio 2/3 |
cmsdk_mcu_system.v | 基于 CMSDK 的系统,集成了其他外设 |
cmsdk_mcu_stclkctrl.v | 简单的系统信号控制 |
cmsdk_mcu_sysctrl.v | 简单的系统控制外设,PMU 支持捆绑 |
cmsdk_ahb_cs_rom_table.v | 标准 CMSDK 系统 ROM 表 |
cmsdk_mcu_addr_decode.v | FPGA 版本 cmsdk_mcu_system 的地址解码 |
表7介绍了测试平台中包含的 Verilog 文件。
文件名 | 描述 |
---|---|
tb_fpga.v | 测试台顶级 |
cmsdk_uart_capture_ard.v | UART 捕获/显示模块 |
tb_arduino_shield.v | Arduino Shield 组件的包装器 |
arduino_adaptor.v | 用于Arduino Shield的Arm适配器模型 |
arduino_shield.v | Arduino shield的测试台模型 |
GS8160Z36DT.v | 内存模型 |
core.v | 内存模型组件 |
SPI_EEPROM.v | 内存模型 |
I2C_SRAM.v | 内存模型 |
IS66WVE409616BLL.v | 内存模型 |
scc_tb.v | SCC 接口包装器示例 |
对于系统文件的介绍就到这里。
标签:文件,SOC,cmsdk,示例,Cortex,Eval,mcu,M0 来源: https://blog.csdn.net/m0_66764513/article/details/122761441