MAX78000FTHR为快速开发平台,帮助工程师利用MAX78000 Arm® Cortex® M4F处理器快速实施超低功耗、人工智能(AI)方案,器件集成卷积神经网络加速器。评估板包括MAX20303 PMIC,用于电池和电源管理。评估板规格为0.9in x 2.6in、双排连接器,兼容Adafruit Feather Wing外设扩展板。评估板包括各种外设,例如CMOS VGA图像传感器、数字麦克风、低功耗立体声音频CODEC、1MB QSPI SRAM、micro SD存储卡连接器、RGB指示LED和按键。MAX78000FTHR为概念验证和早期软件开发提供经过功率优化管理的便捷、灵活开发平台,加快产品上市。
人工智能需要极高的计算能力,MAX78000 旨在提供以超低功耗执行神经网络的能力:集成的基于硬件的卷积神经网络 (CNN) 加速器可以执行 AI 推理(使用预训练的模型)在非常低的能量水平。这使人工智能接近(甚至:进入!)物联网世界。
硬件框架图
芯片主要框架图
外设资源列表
管脚图
原理图
注意事项
摄像头上面的保护膜要在使用前去掉
上手操作
1.更新MAX32625PICO ("PICO") debug adapter 程序,方便解决最近的bug
GitHub - MaximIntegratedMicros/max32625pico-firmware-images: DAPLink firmware images for MAX325PICO board
无梯子也可从此处下载
https://download.csdn.net/download/xinshuwei/86564523
1.1 micro usb 先插入 type A
1.2 按住SW5 如下图,然后 type a 端插入PC 上电,直到红灯亮起,
松开
1.3 然后系统盘内会虚拟出一个优盘,然后把上面的 bootloader 程序拖进u 盘中,
完成传输后,优盘会变成如下图
Eclipse 编程开发
https://download.csdn.net/download/xinshuwei/86564955
这里可以下载到编程集成开发环境,当然也可以使用vocde 进行开发
一步步安装即可
按下图创建程序
选择存储路径及工程名,按下图进行选择
也可以用安装SDK的example 进行学习,这里以GPIO 工程进行介绍
使用import 导入已存在工程,然后选择example放置的路径,然后导入
上面选择GPIO工程
工程默认使用的BOARD_EVKIT_V1 GPIO 定义,我们这里需要用BOARD_FTHR_REVA
所以GPIO 按下方进行修改
/***** Definitions *****/
#if 0
#define MXC_GPIO_PORT_IN MXC_GPIO2
#define MXC_GPIO_PIN_IN MXC_GPIO_PIN_6#define MXC_GPIO_PORT_OUT MXC_GPIO0
#define MXC_GPIO_PIN_OUT MXC_GPIO_PIN_2#define MXC_GPIO_PORT_INTERRUPT_IN MXC_GPIO2
#define MXC_GPIO_PIN_INTERRUPT_IN MXC_GPIO_PIN_7#define MXC_GPIO_PORT_INTERRUPT_STATUS MXC_GPIO0
#define MXC_GPIO_PIN_INTERRUPT_STATUS MXC_GPIO_PIN_3#else
#define MXC_GPIO_PORT_IN MXC_GPIO1
#define MXC_GPIO_PIN_IN MXC_GPIO_PIN_7#define MXC_GPIO_PORT_OUT MXC_GPIO2
#define MXC_GPIO_PIN_OUT MXC_GPIO_PIN_0#define MXC_GPIO_PORT_INTERRUPT_IN MXC_GPIO0
#define MXC_GPIO_PIN_INTERRUPT_IN MXC_GPIO_PIN_2#define MXC_GPIO_PORT_INTERRUPT_STATUS MXC_GPIO0
#define MXC_GPIO_PIN_INTERRUPT_STATUS MXC_GPIO_PIN_9
#endif
此例程的效果是 中断方式检测P0_2 的button1 输入,然后更改P2_0 红色灯的状态
/***** Functions *****/
void gpio_isr(void* cbdata)
{mxc_gpio_cfg_t* cfg = cbdata;MXC_GPIO_OutToggle(cfg->port, cfg->mask);
}
中断函数更新状态
主循环读取状态然后设置LED 状态
while (1) {/* Read state of the input pin. */if (MXC_GPIO_InGet(gpio_in.port, gpio_in.mask)) {/* Input pin was high, set the output pin. */MXC_GPIO_OutSet(gpio_out.port, gpio_out.mask);} else {/* Input pin was low, clear the output pin. */MXC_GPIO_OutClr(gpio_out.port, gpio_out.mask);}}