复旦微FMSH_Procise安装流程

双击FMSH_Procise_2021.1_full_win64_202103151947.exe

选择好安装目录后点击“Next”

 

 

 一路next

点install

<think>我们之前讨论的是德州仪器(TI)的F28069微控制器的CPU主频配置,但用户现在提到的Procise软件是复旦微电子(FMSH)为FMQL系列芯片开发的集成开发环境(IDE)。根据引用[1],Procise是替代Xilinx SDK的国产化工具,用于硬件配置、裸机程序开发和调试。用户特别关注如何用Procise配置CPU主频,这通常涉及Zynq-like架构的ARM核时钟设置。 关键点梳理: 1. **Procise软件定位**:专用于复旦微FMQL系列(类似Xilinx Zynq的ARM+FPGA架构),功能涵盖硬件工程管理、嵌入式软件开发、调试等[^1]。 2. **CPU主频配置原理**:在FMQL芯片中,CPU(ARM Cortex-A9)主频由PLL(锁相环)和分频器控制,需通过软件设置时钟管理单元(CMU)寄存器。 3. **Procise操作流程**:配置主频通常在裸机程序开发阶段完成,需编写C代码操作寄存器,并在Procise中编译调试。 具体配置步骤(基于FMQL架构): ### 步骤1: 创建或导入硬件工程 - 在Procise中创建新工程,选择目标芯片型号(如FMQL45T)。 - 导入Vivado生成的硬件描述文件(.hdf)[^5],该文件包含FPGA逻辑配置和PS(处理系统)外设信息。 ### 步骤2: 编写时钟配置代码 CPU主频配置需在ARM端程序中操作CMU寄存器。示例代码如下(基于FMQL类似Zynq的时钟结构): ```c #include "FMSH_common.h" // 包含复旦微标准库头文件 void Configure_CPU_Clock(void) { // 步骤1: 解锁CMU寄存器(写保护) FMSH_CMU_Unlock(); // 步骤2: 配置PLL倍频(假设输入参考时钟为33.33MHz,目标CPU频率为666MHz) // 设置ARM_PLL_CTRL寄存器:倍频系数 = (目标频率 / 输入频率) × 2 // 计算公式:输出频率 = (输入频率 × MULT) / (DIV × 2) // 目标666MHz:MULT=40, DIV=1 → 33.33×40/(1×2)≈666.6MHz FMSH_WriteReg(FMSH_CMU_BASEADDR, CMU_ARM_PLL_CTRL_OFFSET, (40 << 8) | (1 << 16)); // [位域] MULT[8:15], DIV[16:21] // 步骤3: 等待PLL锁定 while (!(FMSH_ReadReg(FMSH_CMU_BASEADDR, CMU_ARM_PLL_STAT_OFFSET) & 0x1)); // 步骤4: 切换CPU时钟源到PLL uint32_t clk_ctrl = FMSH_ReadReg(FMSH_CMU_BASEADDR, CMU_ARM_CLK_CTRL_OFFSET); clk_ctrl &= ~0x03; // 清除源选择位 clk_ctrl |= 0x01; // 选择ARM_PLL作为时钟源 FMSH_WriteReg(FMSH_CMU_BASEADDR, CMU_ARM_CLK_CTRL_OFFSET, clk_ctrl); // 步骤5: 设置CPU分频(可选,如需要降频) FMSH_WriteReg(FMSH_CMU_BASEADDR, CMU_ARM_CLK_DIV_OFFSET, 0); // 分频系数=1(不分频) // 步骤6: 锁定CMU寄存器 FMSH_CMU_Lock(); } ``` **关键参数说明**: - `MULT`和`DIV`值需根据实际硬件(开发板晶振频率)和目标频率计算。 - 寄存器偏移地址(如`CMU_ARM_PLL_CTRL_OFFSET`)需参考《FMQL技术参考手册》。 ### 步骤3: 在Procise中编译与下载 1. **添加代码到工程**:将上述代码集成到Procise的裸机应用程序中。 2. **编译与链接**:使用Procise内置的GCC工具链编译代码。 3. **下载调试**: - 通过Procise的编程界面加载比特流(.bit文件)到FPGA端[^3]。 - 将可执行文件(.elf)下载到ARM核,运行并验证频率配置。 ### 常见问题与解决(引用[2][4]) - **License问题**:首次使用需绑定MAC地址获取license文件[^2]。若失效会导致软件无法启动。 - **下载失败**:若出现IDCODE不匹配(如引用[4]),检查: - 硬件连接(JTAG/USB)。 - 比特流文件与开发板型号匹配。 - 电源稳定性。 - **设备树配置**:Linux开发需同步修改设备树时钟节点(引用[5])。 ### 高效开发技巧 1. **利用Procise的寄存器视图**:调试时可实时查看CMU寄存器值,验证配置是否生效。 2. **时钟监测**:使用Procise的性能分析工具监测CPU实际运行频率。 3. **自动化脚本**:通过Tcl脚本(Procise支持)批量执行时钟配置操作。 ### 注意事项 - **频率限制**:FMQL芯片有最大主频限制(如FMQL45T为800MHz),超频可能导致不稳定。 - **功耗管理**:高主频需注意散热和电源设计。 - **多核同步**:若芯片含多核ARM,需确保各核时钟配置一致。 --- §§相关问题§§ 1. 如何在Procise中调试CMU寄存器? 2. FMQL芯片的PLL锁定时间如何优化? 3. 配置CPU主频后如何验证实际运行频率? 4. Procise开发环境中如何编写设备树文件? </think>### Procise软件介绍及CPU主频配置指南 Procise复旦微电子(FMSH)专为FMQL系列芯片开发的**国产化集成开发环境**(IDE),对标Xilinx SDK,支持硬件配置、裸机程序开发、系统调试等全流程开发任务[^1]。以下是核心功能介绍及CPU主频配置方法: --- #### 一、Procise核心功能 1. **硬件配置** - 加载FPGA比特流文件(.bit)到开发板[^3] - 管理可编程逻辑(PL)与处理系统(PS)的协同设计 2. **软件开发** - 裸机程序编译(C/C++) - 设备树(Device Tree)配置与修改[^5] 3. **调试支持** - JTAG在线调试 - 寄存器实时监视 4. **国产化适配** - 深度优化FMQL芯片特性(如时钟管理单元CMU) - 国产License绑定机制(需MAC地址授权)[^2] --- #### 二、CPU主频配置步骤(以FMQL芯片为例) CPU主频通过**锁相环(PLL)寄存器**控制,需在裸机程序中操作硬件寄存器。 **完整流程如下:** ##### 步骤1: 准备开发环境 - **Procise安装**: 1. 获取License文件(需提供电脑MAC地址[^2]) 2. 将License拷贝至安装目录的`/data`文件夹 - **硬件连接**: 确保开发板通过JTAG/USB与PC连接 ##### 步骤2: 创建工程并导入硬件描述 1. 新建Procise工程,选择目标芯片型号(如FMQL45T) 2. 导入Vivado生成的硬件描述文件(.hdf)[^5] ```bash # 示例路径配置(根据实际修改) /home/user/DeviceTree/design_1_wrapper.hdf ``` ##### 步骤3: 编写CPU主频配置代码 在裸机程序中操作CMU(时钟管理单元)寄存器: ```c #include "FMSH_common.h" // 复旦微标准库 void configure_cpu_frequency(uint32_t target_freq) { // 1. 解锁CMU寄存器(写保护) FMSH_CMU_Unlock(); // 2. 配置PLL参数(假设输入时钟33.33MHz) uint32_t pll_mult = (target_freq * 2) / 33.33; // 计算倍频系数 FMSH_WriteReg(CMU_BASE, CMU_PLL_CTRL_OFFSET, pll_mult << 8); // 3. 等待PLL锁定 while (!(FMSH_ReadReg(CMU_BASE, CMU_PLL_STAT_OFFSET) & 0x1)); // 4. 切换CPU时钟源至PLL uint32_t clk_ctrl = FMSH_ReadReg(CMU_BASE, CMU_CLK_CTRL_OFFSET); clk_ctrl |= 0x1; // 设置PLL为时钟源 FMSH_WriteReg(CMU_BASE, CMU_CLK_CTRL_OFFSET, clk_ctrl); // 5. 设置CPU分频系数(可选) FMSH_WriteReg(CMU_BASE, CMU_CPU_DIV_OFFSET, 0x1); // 不分频 // 6. 锁定CMU寄存器 FMSH_CMU_Lock(); } // 主函数调用示例 int main() { configure_cpu_frequency(666); // 目标频率666MHz while(1); } ``` ##### 步骤4: 编译与下载 1. 在Procise中编译工程生成`.elf`文件 2. 右键FPGA器件 → **Assign New Configuration File** → 选择比特流文件(.bit)[^3] 3. 再次右键 → **Program** 下载到开发板 ##### 步骤5: 验证配置 - 使用Procise的**寄存器监视工具**查看CMU寄存器值 - 测量时钟引脚波形(如PS_CLK)验证实际频率 --- #### 三、常见问题解决 1. **License失效** - 重新申请License文件(确保MAC地址正确)[^2] 2. **下载失败(IDCODE不匹配)** - 检查JTAG连接和比特流文件兼容性[^4] 3. **PLL未锁定** - 增加延时等待:`for(int i=0; i<100000; i++);` --- #### 四、高效开发技巧 1. **设备树快速修改** - 在Procise中直接编辑设备树,同步更新硬件配置[^5] 2. **脚本自动化** - 使用TCL脚本批量操作寄存器 3. **调试监测** - 利用Procise的性能分析工具监测CPU负载与频率关系 > ⚠️ **注意**:最大主频需参考芯片手册(如FMQL45T上限为800MHz),超频可能导致系统不稳定。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值