AGM32中最亮眼的就是这款芯片自带2K FPGA逻辑,可以单独使用MCU或FPGA ,当然也可以使用MCU+FPGA功能同时使用。
那么这篇文章就尝试使用一下,这款芯片自带的FPGA吧。
首先需要准备两个工具
1,Quartus II (AGM32建议是在13.0版本以上)
2,supra工具。(这个工具嘛,就是用来进行工程转换的),官方有下载地址
https://pan.baidu.com/s/1bAQMrJYrR-6JzJFDIGdNBg?pwd=q59e
接下来就按照参考文章进行测试吧。
进入Supra-2023.07.b0-b2a325f9-win64-all\bin目录中就可以看到supra.exe文件了。
这个东西怎么用呢?主要有以下几个步骤
1.打开supra:下面就是supra软件的样子啦。
2.创建supra工程:File->project->new project
我在D:/desk/TEST目录下创建了一个叫led的supra工程。创建完成后左下角会出现
3.打开tools->migrate进行工程转换
下面贴一段官方文档的文字
Target Directory 默认为新建的工程目录,Migrate from directory 不填,输入设计名称(这里例如 led),Device 选 AGRV2K 系列型号。选择 ve 文件(管脚分配文件)。IP 文件不用。
选择对应开发 Mode:Native 选项(AGM 自有 EDA 综合工具),Synplicity 选项(第三方综合工具,例如 Synplify,Mentor 等),Compatible 选项(兼容 Altera Quartus II 的综合工具)。
4.编辑ve文件:同样贴一段官方文档的文字
ve 文件为 IO 管脚位置设置,可通过任意文本编辑器自行编辑产生。管脚名称请参考前面的管脚说明表格(PIN_1,PIN_2 格式),全局信号最好选 IO_GB 管脚。ve 文件格式如下(管脚设计名称+空格+封装管脚名称)
5.打开quartus编写代码
module led
#(
parameter CNT_MAX = 25'd24_999_999
)
(
input wire clk , //系统时钟
input wire rst , //全局复位
output reg led //输出控制led灯
);
//reg define
reg [24:0] cnt;
//cnt:计数器计数,当计数到CNT_MAX的值时清零
always@(posedge clk or negedge rst)
if(rst == 1'b0)
cnt <= 25'b0;
else if(cnt == CNT_MAX)
cnt <= 25'b0;
else
cnt <= cnt + 1'b1;
//led_out:输出控制一个LED灯,每当计数满标志信号有效时取反
always@(posedge clk or negedge rst)
if(rst == 1'b0)
led <= 1'b0;
else if(cnt == CNT_MAX)
led <= ~led;
endmodule
6.使用tcl脚本
设计完成后,Quartus II 中选择菜单中 Tools -> Tcl Scripts...,窗口中选 af_quartus.tcl,点击 Run进行编译,综合产生网表文件
注意呀,需要选择af_quartus.tcl脚本啊。字体很小,容易选错,哈哈
7.回到Supra软件再编译一次得到*.bin文件
Supra 里继续执行 Next,开始进行编译。编译选项,默认即可。
编译成功后可以得到烧写文件,led.bin
8.将*.bin文件用supra进行烧录
Supra 软件中选 Tools –> Program,下载线选 JLINK。速度默认即可。可以先点击 Query device ID,查看是否检测到器件,正确 ID 为:40200001选择编程文件 led.bin,点击 program 开始烧写文件。如没有出现错误信息弹出,显示“donewith code 0”,即烧写成功,程序开始运行。
注:由于我没有jlink所以没有办法进行烧录这一步。那么我为什么会选择尝试以下呢?因为supra软件下载时可以选择
我有一个CMSIS-DAP啊,但是经过我测试不能下载,找不到器件。
这是JLINK原理图对吧,那么我将swclk与TCK连接,swdio与TMS连接。结果是不行的。
那么好,这个时候打开keil->Debug
选择CMSIS-DAP ->setting
居然可以识别成功。真是小母牛坐飞机了。那么我有一个想法
哈哈,希望有大佬指点以下怎么用的啊,学stm32的时候买的全是盗版St-link,哈哈。实在没有jlink啊。
好了,以上就是使用fpga的一些步骤啦,希望有jlik的小伙伴们试试啊。
本帖最后由 啊菠萝 于 2023-8-22 17:52 编辑盗版的jlink也可以用 需要接 TDI TMS TCK TDO 这4根线,还要供电 ,jlink的驱动也要更换
dap我换了好几种,都不能用