这款开发板,是FPGA与arm的双核心芯片,对于全貌和STM32+CPLD的硬件方案,可使用这一个芯片来代替了。
公司计划做激光驱动板,arm可以通讯接收命令,FPGA可以进行控制激光器。
针对这款开发板,试用计划如下:
1、资料整理与熟悉,配置开发环境
2、开发板硬件电路分析
3、板载外设使用
4、FPGA编程外设使用
5、arm与FPGA交互通讯测试
AG32VF407是国产异构双核(RISC-V+FPGA)处理器,主频248MHZMCU+2KLES(FPGA),内部通过AHB总线连接。
本次试用,提供了一个仿真器。
开发板,默认有一个闪灯的程序,上电后,几个灯会闪。
这个芯片
没有专门的IDE,是借用VS Code 的平台,需要安装相应的SDK进行开发。
目前,最新的SDK版本为AgRV_pio-1.6.3,要根据自己的电脑系统进行下载,
安装了SDK后,就不用单独安装Supra了,SDK里已经包含了。
下载地址如下:
百度网盘: https://pan.baidu.com/s/17bp-zAnsYRuVMRTSSVHN5A
提取码:12ej
如下两个文件要下载
下载后,可直接安装,指定安装目录:
安装过程中,会弹出cmd窗口,如下,
命令运行完后,如下
vscode一般都是有的,但要安装相应插件
安装成功后,左侧会有相应图标生成,如下:
安装后,一定要重启一下vscode。
python已经安装过其他的版本,这里测试,也是可以的,不用再安装了。
在安装SDK的目录下,会有很多的例程
例程的路径在安装的SDK中,绝对路径为:D:\\AG32\\AgRV_pio\\platforms\\AgRV\\examples
有VS Code打开其中一个例程,这里打开的方式,就是 File Folder,把路径指定到例程。
之后 ,点 PlatformIO的图标
会生成相应编译需要的选项。
点New Terminal后,会在窗口下方出现新的TerMINAL,在其中输入命令:pio run -e release -v
编译后,会生成:agm_example.hex
也可以通过点击状态栏图标:
也可以直接点Build进行编译,如下:
回头看一下这个例程中的代码是什么功能。
我看打开example.c文件,找到main函数,可以看到函数函数中,通过board_init();初始化了芯片的时钟与相应外设。
最后,调用了TestGpio函数,这个函数中包含一个while循环,功能就是点灯。
使用开发板配套的仿真器烧写:
修改platformio.ini文件中的
board = agrv2k_407
protocol = cmsis-dap-openocd
修改一下原来的程序,进行编译。
修改一下灯闪频率与灯的个数
while(1){
UTIL_IdleUs(500e3);
GPIO_Toggle(EXT_GPIO,EXT_GPIO_BITS);
}
#defineEXT_GPIO_BITS0b1000
点击upload进行烧写
烧写成功。
仿真时,点如下图标进入。
在debug模式下,vscode状态栏如下。
在调试过程中,如下图,绿色箭头所指为断点,红色箭头所指为当前运行到的代码行。
配套的 AGM烧写器还自带一个串口,直接与芯片的串口连接,可以直接在电脑的串口上,收到程序发送的串口信息。
原本,芯片也是支持jlink进行烧写的,要先使用zadig-2.7.exe安装插件,但当我安装完插件后,jlink的驱动就无法识别了,连个USB的设备都不法识别不出。导致我又重新安装了jlink的驱动,那就不再试了。直接用官方的这个仿真器好了。
修改后,烧写到板子上的代码,效果如下视频所示。
更多回帖