雅特力AT32A403开发板评测 01 开箱及环境搭建流程

01-雅特力AT32A403A开发板开箱及环境搭建流程

雅特力AT32

2023年,玩了不少的国产MCU开发板,例如武汉芯源CW32,兆易创新GD32、上海航芯ACM32、沁恒CH32V307等开发板,虽然电子工程世界论坛也有雅特力AT32开发板的评测活动,但是一直申请也没有申请到,一直就听说雅特力AT32在国产之间做的很好,支持力度,开发资料资源都比较丰富,甚至都有图形化配置工具了。终于,2024年申请到了,但是板子到手里面快十天了,都还没有开始玩起来,很惭愧,主要最近忙着赶论文,而且又感冒了。

在这里插入图片描述

接下来就开始介绍介绍雅特力AT32A403A开发板,雅特力芯片有许多类型,竟然第一次申请就拿到了车规级微控制器,特别是近几年汽车电子的快速发展,感觉得玩玩车规级微控制器的,虽然我还不知道有啥子区别,但是能通过车规级认证还是比较难的。
在这里插入图片描述

AT32A403A资源简介

雅特力科技AT32A403A系列车规级微控制器,搭载32位ARM®Cortex®-M4内核,配合先进制程可达超高效能200MHz的运算速度。内建的单精度浮点运算单元(FPU)及数字信号处理器(DSP),搭配丰富的外设及灵活的时钟控制机制,具有高集成及高性价比优势。完善的内存设计,最高可支持1MB闪存存储器(Flash)及224KB随机存取存储器(SRAM),其闪存存储器执行零等待的优异表现,超越业界同级芯片水平。

在这里插入图片描述
在这里插入图片描述

AT32A403A可运行于工业级温度范围-40~105°C,特别支持8组UART串口,2组CAN总线,还集成兼容IEEE-802.3 10/100Mbps以太网口控制器特别适用于车联网及车载影音系统,以及USB设备应用不需外挂晶振,具有同时提升终端产品的可靠度与降低成本的多重用途。相比于一般性电子产品,汽车电子对MCU的可靠性要求更高,以保障用户安全及极端环境中驾驶工作。作为雅特力首款车规级MCU产 品,AT32A403A (A : Automotive)顺利通过AEC-Q100车规级可靠性认证,满足功能安全标准车规级MCU的能力,同时可广泛适用于车身控制、ADAS辅助驾驶、车载影音、BMS等新能源车用场景,符合车用电子高可靠性和稳定性要求。遵循AEC-Q100标准,AT32A403A通过了包括加速环境应力测试、加速寿命测试、封装组装整合测试、电器特性确认测试等一系列车规级认证。

在这里插入图片描述

开发板资料

官网资料

主要使用到就是 AT32A403A数据手册,AT32A403A用户参考手册,AT32A403A开发板硬件原理图

在这里插入图片描述

开发板硬件资源

在这里插入图片描述
在这里插入图片描述

AT32A403A_Firmware Library

官方提供了大量的参考例程,过于丰富

编号模块名称Examples功能描述
1acccalibrationACC校准HICK
2adccombine_mode_ordinary_simultADC主从模式之普通同时模式
3current_vref_value_checkADC检测Vref+电压
4exint_trigger_partitionedADC分割模式下使用EXINT触发转换
5internal_temperature_sensorADC使用内部温度传感器
6repeat_conversion_loop_transferADC反复转换时使用DMA的循环模式传输数据
7software_trigger_repeatADC反复模式下使用软件触发
8tmr_trigger_automatic_preemptedADC使用TMR触发普通转换结合抢占自动转换
9triple_adc_synchro_triggerADC之三ADC同步触发转换
10voltage_monitoring电压监测
11bprbpr_data电池供电域寄存器读写
12tamper入侵检测
13cancommunication_modeCAN通讯模式的使用
14filterCAN接收过滤器的使用
15loopback_modeCAN回环模式使用
16cortex_m4bit_band位带操作进行GPIO翻转和SRAM读写
17cmsis_dspDSP使用
18fpu使用硬件FPU进行函数运算
19systick_interrupt演示systick定时器中断方式
20crccalculation使用硬件CRC进行CRC计算
21crmclock_failure_detection外部时钟失效检测并系统时钟拯救
22sysclk_switch系统时钟切换
23dacdouble_mode_dma_sinewave使用DMA双路输出正弦波
24double_mode_dma_squarewave使用DMA双路输出方波
25one_dac_dma_escalator使用DMA单路输出阶梯波
26one_dac_noisewave单路输出噪声
27two_dac_trianglewave双路输出三角波
28debugtmr1调试TMR1定时器计数
29dmadata_to_gpio_flexible使用DMA弹性映射将数据从SRAM传输到GPIO
30flash_to_sram使用DMA将数据从flash传输到SRAM
31exintexint_configEXINT的基础配置
32exint_software_triggerEXINT的软件触发
33flashfap_enableflash访问保护使能
34flash_write_read内部flash读写操作
35operate_spim外部spim读写操作
36run_in_spim演示程序运行在外部spim
37gpioio_toggle演示IO翻转
38led_toggle演示LED翻转
39swjtag_remap对SWD/JTAG引脚进行复用
40i2ccommunication_dmaI2C使用DMA模式通信
41communication_intI2C使用中断模式通信
42communication_pollI2C使用轮询模式通信
43eepromI2C和EEPROM通信
44i2sfullduplex_dmaI2S使用DMA进行全双工通讯
45halfduplex_dmaI2S使用DMA进行半双工通讯
46halfduplex_interruptI2S使用中断进行半双工通讯
47spii2s_switch_halfduplex_pollingSPI_I2S在半双工轮询条件下的模式切换
48pwcdeepsleep_rtcPWC使用RTC唤醒深度睡眠模式
49power_voltage_monitorPWC使用电压监测器
50sleep_tmr2PWC使用TMR2唤醒睡眠模式
51sleep_usart1PWC使用USART1唤醒睡眠模式
52standby_rtcPWC使用RTC唤醒待机模式
53standby_wakeup_pinPWC使用待机唤醒管脚唤醒待机模式
54rtccalendarRTC实现日历功能
55lick_calibrationLICK时钟校准
56sdiosdio_fatfs基于SDIO移植应用FatFs文件系统
57sd_mmc_cardSD或MMC卡的识别/读写操作
58spicrc_transfer_pollingSPI使用轮询进行CRC传输
59fullduplex_pollingSPI使用轮询进行全双工通讯
60halfduplex_interruptSPI使用中断进行半双工通讯
61halfduplex_transceiver_switchSPI半双工下的收发模式切换
62only_receive_mode_pollingSPI使用轮训进行单线单向只收
63use_jtagpin_hardwarecs_dmaSPI映射到JTAG脚并使用DMA进行硬件CS通讯
64w25q_flashSPI与W25Qxx Flash通讯
65tmr6_steps演示如何配置六步方波
667_pwm_output演示如何配置TMR1产生7路PWM输出
67cascade_synchro实现3个TMR的串联同步
68complementary_signals使用TMR1实现互补信号输出
69dma使用TMR1 overflow事件产生DMA请求
70dma_burst演示如何使用定时器DMA burst功能
71encoder_tmr2演示定时器编码器接口模式
72external_clock演示如何使用外部时钟模式
73hall_xor_tmr2演示定时器输入异或功能
74hang_mode演示如何使用挂起模式
75input_capture演示输入捕获功能
76oc_high使用输出控制High模式
77oc_low使用输出控制Low模式
78oc_toggle_tmr3使用TMR3输出控制Toggle模式
79oc_toggle_tmr9使用TMR9输出控制Toggle模式
80one_cycle使用单周期模式
81parallel_synchro实现3个TMR的并联同步
82pwm_input演示PWM输入捕获功能
83pwm_input_dma使用DMA的PWM输入捕获功能
84pwm_output_simulate演示模拟PWM输出功能
85pwm_output_tmr10演示TMR10的PWM输出
86pwm_output_tmr3演示TMR3的PWM输出
87timer_base演示定时器计数基本功能
88tmr1_synchro演示TMR1的同步功能
89tmr2_32bit使用32bit定时器
90usarthalf_duplex使用单线半双工收发
91hw_flow_control使用硬件流控通信
92idle_detection空闲帧中断检测
93interrupt使用中断方式收发数据
94irda红外模式通讯
95polling使用轮询方式收发数据
96printf使用串口打印字符
97receiver_mute收到匹配ID退出接收静默模式
98rs485基于AT32-Comm-EV Board的RS485通信
99smartcard智能卡应用
100synchronous通过同步模式与SPI通信
101transfer_by_dma_interrupt使用DMA中断方式实现数据收发
102transfer_by_dma_polling使用DMA轮询方式实现数据收发
103usb_deviceaudioUSB音频实现speaker和microphone
104composite_audio_hid实现音频和HID复合设备
105composite_vcp_keyboard实现虚拟串口和键盘复合设备
106composite_vcp_msc实现虚拟串口和mass storage复合设备
107custom_hid实现USB自定义HID
108keyboardUSB键盘设备
109mouseUSB鼠标设备
110msc使用内部flash实现mass storage设备
111printerUSB打印机设备
112vcp_loopbackUSB虚拟串口设备
113virtual_comportUSB转串口
114virtual_msc_iap利用虚拟mass storage实现IAP升级功能
115wdtwdt_reset看门狗使用
116wdt_standbystandby模式下看门狗使用
117wwdtwwdt_reset窗口看门狗使用
118xmclcd_8bit驱动8080并口LCD
119lcd_touch_16bit驱动16位并口LCD
120nandNAND FLASH储存器读写访问
121psramPSRAM存储器读写访问

环境搭建流程参考

基本上大多数的工程模板都是采用MDK-KEIL开发的,一般开发人员都安装好了,基本上没有啥子好说的。

基本上只要安装这个pack包就可以了。ArteryTek.AT32A403A_DFP.2.0.3.pack

在这里插入图片描述

我们以at_start_a403a 里面的工程作为基础,搭建自己的工程模板。以GPIO的工程为基础模板,当然其他的Example同样可以,这里面的基本案例都是值得学习的。

  1. at_start_a403a 包含大量开发例程,其中examples是各个外设案例demo,template是各个开发工具的工程模板,而且支持工具版本比较多,这一点是在其他国产mcu例程资料比较少的,绝大多数都是清一色的MDK-KEIL,其次就是IAR工程,像官方的at32_ide,gcc工程模板是比较有特色的。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 学习外设参考案例 (adc,dac,gpio,timer,i2c,spi,can等)

    在这里我们选择了gpio的led_toggle工程模板,毕竟点灯是万万不能少的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 打开led_toggle工程,编译代码,编译0错误0警告。

    at32的led_toggle工程模板的整体命名风格其实和我个人的风格比较相似,所以好感度比较高。

    个人的工程模板文件参考架构如下:

    1. Application 主函数,应用层代码
    2. BspDrivers 板级驱模块动文件
    3. Drivers 底层驱动库文件 Firmware Library
    4. Project 工程文件

    在这里插入图片描述

  2. 准备下载代码

    板子板载了AT-link(本质上就是DAP),不需要其他的工具,很方便的就下载程序了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 观察开发板现象,流水灯现象

    #include "at32a403a_board.h"
    #include "at32a403a_clock.h"
    
    
    /** @addtogroup AT32A403A_periph_examples
      * @{
      */
    
    /** @addtogroup 403A_GPIO_led_toggle GPIO_led_toggle
      * @{
      */
    
    /**
      * @brief  main function.
      * @param  none
      * @retval none
      */
    int main(void)
    {
      system_clock_config();
    
      at32_board_init();
    
      while(1)
      {
        at32_led_toggle(LED2);
        delay_ms(200);
        at32_led_toggle(LED3);
        delay_ms(200);
        at32_led_toggle(LED4);
        delay_ms(200);
      }
    }
    
    
    1. 打开usart_printf工程,测试串口打印功能
    #include "at32a403a_board.h"
    #include "at32a403a_clock.h"
    
    /** @addtogroup AT32A403A_periph_examples
      * @{
      */
    
    /** @addtogroup 403A_USART_printf USART_printf
      * @{
      */
    
    __IO uint32_t time_cnt = 0;
    
    /**
      * @brief  main function.
      * @param  none
      * @retval none
      */
    int main(void)
    {
      system_clock_config();
      at32_board_init();
      uart_print_init(115200);
    
      /* output a message on hyperterminal using printf function */
      //printf("usart printf example: retarget the c library printf function to the usart\r\n");
      printf("Hardware_Init [ok] \r\n");
      printf("at_start_a403a board testing 2024-1-26\r\n");
      while(1)
      {
        printf("at32_led_toggle example start \r\n");
        at32_led_toggle(LED2);
        delay_ms(200);
        at32_led_toggle(LED3);
        delay_ms(200);
        at32_led_toggle(LED4);
        delay_ms(200);
          printf("at32_led_toggle example end \r\n");
        printf("usart printf counter: %u\r\n",time_cnt++);
        delay_sec(1);
      }
    }
    

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/455545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NO5 蓝桥杯实践之矩阵键盘的使用(或许是一篇求助帖...)

1 任务 2 思路 视频中老师的思路写的代码过长,所以我想了个自己的思路,但是没完全跑出来,求大神指教!!!! 我的思路是首先将矩阵键盘的行和列对应的端口引脚分别存储在类似数组,然后…

人工智能|机器学习——BIRCH聚类算法(层次聚类)

这里再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大,类别数K也比较多的情况。它运行速度很快,只需要单遍扫描数据集就能进行聚类。 1.什么是流形学习 BIRCH的全称是利用层次方法的平衡迭代规约和聚类(Balanced Iterative…

环形缓冲区在stm32上的使用

目录 环形缓冲区在stm32上的使用前言实验目的环形缓冲区的定义和初始化写入数据到环形缓冲区从环形缓冲区读取数据实验结果本文中的实践工程 环形缓冲区在stm32上的使用 本文目标:环形缓冲区在stm32上的使用 按照本文的描述,应该可以跑通实验并举一反三…

利用Anaconda创建环境

利用Anaconda创建环境 1. 创建环境的步骤 1. 创建环境的步骤 1.在终端中,使用以下命令创建一个新的 Anaconda 环境。假设您想要创建一个名为 myenv 的环境: conda create --name myenv2.如果您想指定 Python 版本,可以在创建环境时添加版本号…

AI论文速读 | 计时器(Timer):用于大规模时间序列分析的Transformer

题目: Timer: Transformers for Time Series Analysis at Scale 作者:Yong Liu,(刘雍), Haoran Zhang(张淏然), Chenyu Li(李晨宇), Jianmin Wang(王建民), …

群晖 Synology Photos DSM7 自定义文件夹管理照片

背景 众所周知,目前群晖DSM7中使用Synology Photos做照片管理时,个人照片只能默认索引 /home/Photos 文件夹,但是如果个人照片很多或者用户很多时,共享文件夹/homes 所在的存储空间就会不够用 当然,如果你的存…

【软考高项】四、信息化发展之数字中国

1、数字经济 定义:从本质上看,数字经济是一种新的技术经济范式,它建立在信息与通信技术的重大突破的基础上,以数字技术与实体经济融合驱动的产业梯次转型和经济创新发展的主引擎,在基础设施、生产要素、产业结构和治理…

certificate has expired or is not yet valid:npm和node证书过期问题

在 1 月 22 日,淘宝原镜像域名(registry.npm.taobao.org)的 HTTPS 证书正式到期。如果想要继续使用,需要将 npm 源切换到新的源(registry.npmmirror.com),否则会报错。 解决方案切换到新的源&a…

nacos做注册注册中心go语言实战教程(服务的注册与获取)

背景 随着访问量的逐渐增大,单体应用结构渐渐不满足需求,在微服务出现之后引用被拆分为一个个的服务,服务之间可以互相访问。初期服务之间的调用只要知道服务地址和端口即可,而服务会出现增减、故障、升级等变化导致端口和ip也变…

欧科云链做客Google Cloud与WhalerDAO专题论坛,畅谈Web3数据机遇

3月10日,由Google Cloud、WhalerDAO和baidao data主办,以Web3AI 2024 DATA POWER为主题的分享会在北京中关村举行。欧科云链高级研究员Jason Jiang受邀参加活动,带来“从链上数据发掘Web3时代的无限机遇”的主题分享。 Web3.0核心要素始终是链…

如何从 Mac 电脑外部硬盘恢复删除的数据文件

本文向您介绍一些恢复 Mac 外置硬盘数据的快速简便的方法。 Mac 的内部存储空间通常不足以存储所有数据。因此,许多用户通过外部驱动器扩展存储或创建数据备份。然而,与几乎所有其他设备一样,从外部硬盘驱动器丢失有价值的数据并不罕见。由于…

第二证券|炒股最好用的6个指标?

炒股存在以下好用的6个目标: 1、kdj目标 当k线从下方往上穿过d线时,构成金叉,是一种买入信号,投资者能够考虑在此刻买入一些个股,其间kdj金叉方位越低,买入信号越强;当k线从上往下穿过d线时&a…

HTML静态网页成品作业(HTML+CSS)——电影肖申克的救赎介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用教程

原文链接:“SRP模型”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247597452&idx5&snf723d9e5858a269d00e15dbe2c7d3dc0&chksmfa823c6…

Python算法(列表排序)

一。冒泡排序: 列表每两个相邻的数,如果前面比后面大,则交换这两个数 一趟排序完成后,则无序区减少一个数,有序区增加一个数 时间复杂度:O(n*n) 优化后:已经排序好后立马停止,加快…

Ubuntu 14.04:PaddleOCR基于PaddleHub Serving的服务部署(失败)

目录 一、为什么使用一键服务部署 二、安装 paddlehub 1.8 2.1 安装前的环境准备 2.2 安装paddlehub 1.8 2.2.1 安装paddlehub 2.2.2 检测安装是否成功 2.2.3 检查本地与远端PaddleHub-Server的连接状态 2.2.4 测试使用 2.3 其他 2.3.1 如何卸载、pip常用命令、常见…

FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+HLS图像缩放+多路视频拼接,提供4套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收发送本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收OSD动态字符叠加输出应用本方案的SDI接收HLS多路视频融合叠加应用本方案的SDI接收G…

Pandas DataFrame 写入 Excel 的三种场景及方法

一、引言 本文主要介绍如何将 pandas 的 DataFrame 数据写入 Excel 文件中,涉及三个不同的应用场景: 单个工作表写入:将单个 DataFrame 写入 Excel 表中;多个工作表写入:将多个 DataFrame 写入到同一个 Excel 表中的…

2024考研计算机考研复试-每日重点(第十九期)

公众号“准研计算机复试”,超全大佬复试资料,保姆级复试,80%的题目都是上岸大佬提供的。 研宝们,App更新啦! 操作系统: 10.★什么是中断? 中断是指计算机运行过程中,出现某些意外时…

win11 ubuntu子系统 开代理 调试 openai 接口

我的是laravel项目,步骤如下 步骤1:配置WSL以使用代理 首先,确保WSL中的所有请求都通过你的代理服务器。你可以通过在WSL的shell配置文件(如~/.bashrc或~/.zshrc)中设置环境变量来实现。打开终端,编辑对应…