【AT32F421测评】+ 环境搭建及Hello World
[复制链接]
本帖最后由 dmzdmz666666 于 2021-4-21 22:57 编辑
开发板收到了,也开箱完了,我们可以正式的开发这款开放板了,首先我先去找一下官方提供的资料,这样可以加速我们的开发,这里插一句,像国外半导体厂家意法半导体的STM32它的一大优势是在国内的资料比较丰富,生态比较好,当然了一方面是国内开发使用的时间较长,另一方面是人家在本土化方面确实下了不少功夫,国内的厂家在本土化方面是有优势的,所以国产厂家不仅要提高自身产品的实力,还要在生态方面要下功夫,让开发者更快的入门和上手,令人欣慰的时,雅特力在资料这方面没让我失望,
进入官网的AT32技术论坛
进入第二条
这里就有提供比较全的资料包(应该是官方的吧)附上网址https://bbs.21ic.com/icview-3066948-1-1.html
下载好后的资料包如下
开发主要用的是BSP(板级开发包) Datasheet(数据手册)Reference Manual(参考手册)
其他的都是一些工具或者电路图,用到再说
下载好资料,正式开始搭建开发环境,这里我选用较熟悉的ARM公司的MDK 5来开发,软件安装啥的我就不多讲了.
第一步,我们需要安装对应的芯片器件包,使MDK 5支持开发雅特力的单片机,找到Pack,选择里面的Pack_Keil_AT32F4xx_V1.3.6.ZIP,解压
MDK 5选择第一个,KEIL 4是选择第二个,双击就可以完成.
第二步,安装AT_LINK调试器的对应驱动,选择Tool,找到里面的AT_Link_20210127_1.zip,解压,如下图,
选择第四个,然后按提示进行安装,这里雅特力官方提供了用户手册(UM0004_AT_Link_User_Manual_ZH_V1.0.8,pdf),里面讲的很详细,点赞.正确做完该有的步骤,当将开发板连上电脑,MDK 5上的Debug -> Settings中会出现如下展示,说明已经正确连接了.至此,开发环境就已经搭建好了.
接下来,我们要新建一个Hello World工程了,
第一步,新建一个文件夹,这里取名叫AT32_Demo,然后在该文件夹新建以下五个子文件夹:
BSP (存放at32_board.c及头文件,这里我理解的是官方为板子配套的一些常用函数,如延时函数,板载LED函数,板载按钮函数,串口打印函数等)
CMSIS(存放是符合 CMSIS 规范的一些文件,如M4核内外设访问层代码,DSP库,安全库等)
FWLIB(存放AT32的与内外设相关的库函数)
HARDWARE(存放用户自己定义的一些函数)
USER(存放主函数和at32f4xx_it.c及头文件)
新建好后,我们按规定将一些文件放入子文件夹中,我们打开我们之前下载的资料包,依次打开BSP ->AT32F4xx_StdPeriph_Lib_V1.3.0(解压)->Libraries ->AT32F4xx_StdPeriph_Driver,然后将该文件夹中的文件复制到我们的子文件夹FWLIB;然后将与AT32F4xx_StdPeriph_Driver并列的CMSIS中的文件复制到我们的子文件夹CMSIS;然后依次打开BSP ->AT32F4xx_StdPeriph_Lib_V1.3.0(解压)->Project ->AT32_Board,将里面的文件复制到我们的子文件夹BSP;依次打开BSP ->AT32F4xx_StdPeriph_Lib_V1.3.0(解压) ->Project ->AT_START_F421->Templates,将里面的at32f4xx_it.c及对应头文件复制到我们的子文件夹USER,同时在里面添加main.c,至此,工程配套文件已经构建完毕(这个可以按照自己的意愿添加到不同文件,但一个工程必须要有我上述所说的所有文件)
第二步,打开MDK 5,按照正常流程新建工程,这里我就不多讲了,但这里我要说一些细节,首先,要打开魔法棒,打开C/C++,在Define中填入”AT32F421C8T7,USE_STDPERIPH_DRIVER,USE_FULL_ASSERT,AT_START_F421_V1_0”,同时,要在Include Paths中包含所有的路径,防止程序报错,如下图所示
下图就是我们工程的结构和所包含的文件
打开main函数,具体的程序我放在压缩包里,这里只讲重要的,因为要用到串口1来打印,我们要配置USART 1,雅特力官方在at32_board.c提供了UART_Print_Init(uint32_t bound)函数,这个就可以初始串口1,但是在这里,我选择参照该函数再写一个函数USART_Configuration(void)(个人习惯,想统一一下风格),将所有的串口初始化配置写到这里
这里可以不开启串口中断.同时在at32_board.c也提供了板载按键的初始化函数和状态读取函数,这里我们选择直接调用,最后的主函数如下图所示,
当按下USER按钮,串口打印Hello World!,
这里说明一下,我是直接使用AT-LINK-EZ的虚拟串口功能,这样方便一些.
好,第二篇评测结束.
|