tag 标签: SmartFusion2

相关博文
  • 热度 3
    2024-3-25 14:22
    738 次阅读|
    0 个评论
    1、名称:SmartFusion2简单的UART使用例程 2、内容:通过MCU输出在串口输出一个字符串 3、例程目的:演示MSS UART的使用;熟悉SmartFusion2的开发流程。 4、平台介绍: 开发环境:Libero11.x、Keil MDK4.7/5.1 硬件环境:Low Cost SmartFusion2 Kit、FlashPro5、J-Link 5、例程关键词:M3 Timer, Keil、J-Link,SoftConsole,Libero11.5SP2 6、实验步骤 6.1 硬件设计步骤 6.1.1 新建工程 Libero SoC v11.x)或者双击桌面图标; New Project,按照图6.1所示,输入工程名(这里命名为UartDemo)、存储位置、器件(M2S010T-FGG484)、勾选“Use Design Tool”、选中MSS。 图6.1 工程设置 图6.2 选择器件 图6.3 选择器件 图6.4 选择器件 图6.5 选择器件 其他“Add HDL Source”和“Add Constraints”这里默认,选择Next,最后点击Finish工程建立。 6.1.2 配置工程 (1) 在打开的环境界面中,双击画布中如图6.6中的“UartDemo_MSS_0”,弹出配置界面,双击进入配置界面; 图6.6编辑工程(1) (2)在配置界面中去掉所有模块的勾选项,只保留UART模块,如图6.7所示。其中一个外设对应一个模块,点击模块右下角选框可以使能/失能某一模块,使能模块呈现浅蓝色,失能模块呈现灰色; 图6.7 配置工程(2) (3) 双击“MSS_CCC模块”,在弹出的配置窗口中,设定“CLK_BASE”为“100MHz”,勾选“Monitor FPGA Fabric PLL Lock”,M3_CLK设定为100MHz,其他不变,点击“OK”关闭配置窗口,如图6.8所示; 图6.8 配置MSS_CCC (4) 双击“RESET_Controller”,在弹出的配置窗口中,勾选“Enable FPGA Fabric to MSS Reset(MSS_RESET_N_F2M)”,如图6.9所示,点击“OK”关闭窗口; (5) 配置完成后,点击保存文件; (6) 回到主界面,会发现“UartDemo_MSS_0”模块上有一个感叹号,表示MSS模块已被更新,右击模块,在弹出的菜单上选择“Update Instance(s) with Latest Component…”,如图6.10所示,配置完成后,效果如图6.11所示; 图6.10 更新MSS(1) 图6.11 更新MSS(2) (7) 双击“FCCC_0”进入配置界面,输入时钟设置为内部50MHz晶振,输出为100MHz,(也可选择其他晶振,这里仅作例程演示),如图6.12所示; 图6.12 图6.12 配置FABRIC CCC (8) 双击“OSC_0”模块,进入时钟源配置界面,选择时钟源为“On-chip 50MHz RC…”,勾选“Drives Fabric CCC(s)”,点击确定,如图6.13所示; 图6.13 配置时钟源 (9) 配置好模块之后,使用工具栏的连线工具,进行连线(或使用前面介绍的其他几种布线方式均可),连线如图6.14所示,保存,然后点击 图6.14 画布布线 6.1.3 编译工程 (1) 在左侧“Design Flow”窗口中,依次双击“Synthesize”、“Compile”两项,编译工程,如图6.15所示; 图6.15 编译 (2) 双击“Edit Attributes-I/O Constraints”,打开I/O设置界面,分配串口的输入输出脚分别到T18、T19; 图6.16 引脚设置 (3) 再依次双击主窗口左侧“Place and Route”、“Verify Timing”、“Generate Bitstream”(或直接点击Generate Bitstream;或直接点击),在弹出的选择提示选择OK,即可完成下载前所有工作。 6.1.4 下载工程 (1) 最后连接开发板和FlashPro4(注意P3拨码开发位置拨至左侧),双击“Run Program Action”,下载工程,如图6.17所示,等待下载完成。 图6.17 下载工程 (2) 如果后面软件开发使用Keil或IAR,请下载完成后拨出FlashPro4调试器后,再连接Jlink或Ulink等其他第三方软件开发调试器,并将P3拨码开关拨至右侧。若如两种下载器同时占用JTAG接口,可能导致调试器烧毁;如果软件开发使用SoftConsole则不必做任何更改。 6.2 软件设计步骤(使用Keil) 6.2.1 生成固件驱动和工程 在Libero软件左侧流程栏里,Handoff Design for Firmware Development窗口下双击打开固件库选择界面,如下图所示,本实验使用M3内核库文件、MMUART驱动库即可,用户可选择不勾选其他模块。如有修改点击保存。 图6.18 图6.18 固件库选择 双击“Export Firmware”选择SoftConsole,并勾选“Create project…”,点击OK,生成Keil所需工程,如下图所示。 图6.19 生成软件工程文件 6.2.2 打开Keil工程 生成的工程目录为“用户目录\UartDemo\Keil”,自动生成的工程使用Multi-Project管理方式,如错误!未找到引用源。所示,双击.uvmpw工程文件打开Keil工程。(Keil 4.7或以上版本才支持Microsemi SmartFusion2器件,请注意安装Keil版本信息) 图6.20 打开Keil工程 6.2.3 编译硬件驱动库工程,生成系统硬件lib库映射 打开Keil,软件自动生成了两个工程:第一个工程为硬件对应库工程,包括M3内核、外设驱动库文件、硬件地址分配等;第二个为用户工程,用户直接在此工程下编写代码完成设计。 由于使用MDK4.7,版本较低不支持Microsemi全系列器件,需要按下图重新选择器件,具体操作如下图所示。 设置完成后必须全编译此工程,完成硬件lib映射,其他不再赘述。 图 6-21:修改工程信息,编译 6.2.4 编译应用库工程,生成下载文件 编译完成硬件库工程后,重新设置用户库工程为Active Project,如下图所示。 图 6-22:设置Active Project 设置系统Target Options,同图 6-21类似,修改器件、设置Debug目标等,具体如下。其中值得注意的是:在重选择器件后Target目录下需要重新勾选ROM,否则编译不通过。 图 6-23:Target Options…设置 6.2.5 编写main.c代码,编译下载 打开main.c文件,键入附录A.1的代码,点击保存,全编译工程,若操作正确则信息框提示如下。正确连接Keil调试器,点击下载即可。 6.2.6 实验结果与分析 串口连接开发板右侧排针的第3、5、7号引脚。使用下图中参数连接串口,复位开发板后,在串口程序中可以看到发送过来的串口信息,如下图: 更多程序、例程源码,可购买smartfusion2开发板,附带全套例程供学习,见如下链接或者淘宝搜索"如果长存",里面有多款Microsemi开发板、核心板和Flashpro/Jlink下载器 https://item.taobao.com/item.htm?abbucket=16&id=687953877501&ns=1&spm=a21n57.1.0.0.7bc7523cIvHA6S 欢迎加入QQ群(656353231)一起交流技术和开发合作。
相关资源