1 感谢提供参与评测的机会名单揭晓,追加30套开发板!米尔-安路飞龙派「硬核创造力」。首先收到了开发板如下。
这个是米尔YM90G模块及其开发板,适合嵌入式开发。采用安路科技的FPSOC。
按照原来的计划,使用这个进行电机控制最方便的就是baremetal硬核开发,直接用verilog搞起来。
2 下载并安装TD,不过需要先申请license登录安路官网注册并提交需求就好。
这个是安装完以后的,创建新工程,

其中,最重要就是选对芯片,这里使用了52480单元LUT
然后就进入了开发界面,这个和Xilinx的界面非常相似,不过明显精简了很多,更好使用了。

启动之后需要创建block diagram,这个是另外启动了一个flow程序实现的。

选择IP,添加ARM core,这个竟然是免费的,那么用起来就好了很多。也更具有兼容性。对比xilinx是自有的软内核,用起来免版税,不过,兼容性就差一下了。
随后就是添加总线,时钟,定义外设,DDR设定等。

这个就是最后生成的最简设计图,包括了UART,GPIO外设,这个好用的就是外设是绑定的,不用再选择定义了,减少了导入board 限制的过程。

然后这个需要导出一个硬件设计的hdf文件,以便在FD中使用。
当然,在这个环境里,可以直接用verilog编写逻辑,直接下载到开发板的。
3 FD的下载和使用
这个是导入了FD并开发代码。首先创建工程,需要导入前面用TD开发的硬件定义hdf,相当于自己设计了一个arm内核。
在FD中,就对这个arm内核进行软件开发。
这个是创建时启用的范例UART代码,看起来是否很熟悉。
#include<stdio.h>
#include<math.h>
#include<time.h>
#include"al_core.h"
#include<stdlib.h>
AL_S32main()
{
constAL_CHAR *str = "Hello World From Anlogic!";
if (AL_BSP_VERSION_PATCH == 0)
printf("%s \r\n""BSP version:%s.%d.%d\r\n", str, AL_BSP_NAME, AL_BSP_VERSION_MAJOR, AL_BSP_VERSION_MINOR);
else
printf("%s \r\n""BSP version:%s.%d.%d.sp%d\r\n", str, AL_BSP_NAME,
AL_BSP_VERSION_MAJOR, AL_BSP_VERSION_MINOR, AL_BSP_VERSION_PATCH);
printf(" __ __ ____ _ ______ __ __ \r\n");
printf(" / / / /_ / / /___ | | / / __ \\_____/ ____/ / \r\n");
printf(" / /_/ / _ \\/ / / __ \\ | | /| / / / / / ___/ / __ / \r\n");
printf(" / __ / __/ / / /_/ / | |/ |/ / /_/ / / / / /_/ / \r\n");
printf("/_/ /_/\\___/_/_/\\____/ |__/|__/\\____/_/ /_/\\__ _/ \r\n");
return 0;
}
在这个FD中,可以直接用program命令把代码编译并下载到开发板中。这个,可以下载到RAM中,能够正确运行,但是断电就没有常驻了,随后可以下载到外部存储,然后跳线启动,就可以实现完整的开发了。
4 小结
这个过程花了不少时间,使用起来很方便。不过,最后下载到开发板的时候,发现,开发板配套的下载器只是一个TTL转换线,读取串口数据通信的。
不是JTAG下载线,这个还是一个专用的AT-LINK,在anlogic的官网可以找到。
不过,我在米尔TB站寻求购买时,发现,现在只有一个Xilinx的下载器,不知道是否能够兼容啊。
因为前面花了不少时间在开发环境,就等不了这个快递和退货周期了。这个部分的测试就先记录一下。
感觉,开发起来非常丝滑,自定义配置的比较少。相比xilinx的开发,在总线,位宽,速率都要自己熟悉,一个不熟悉就不能编译过去,感觉非常友好。
这个对于开发者应该是非常适合的。而且这个性价比应该是超级好。
下一步按照SDK的开发模式进行下一步开发,先安装虚机机,下载SDK
这个过程来自gitee,也是比较快的。
在随后继续进行开发。
更多回帖