你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO-F412ZG评测(3):浮点运算能力

[复制链接]
wenyangzeng 发布时间:2016-10-5 10:09
本帖最后由 wenyangzeng 于 2017-1-3 13:43 编辑

评测1:初试NUCLEO-F412ZG(在1楼)

评测2:USART3串口通信(在5楼)

评测3:浮点运算能力(在11楼)
   有幸收到ST社区送来的NUCLEO-F412ZG进行性能评测。


t1.JPG
   相比STM32F767 Nucleo,预留的以太网接口未焊接零件。


t2.JPG


       正面


t3.JPG
             背面

t4.jpg
                 IO接线


      这款STM32F412ZG是最新推出的基于 ARM Cortex-M4 32 位 RISC 内核,具有浮点单元 (FPU)。 以高达 100 MHz 运行,且同时在运行和停止模式下具有出色的低功耗性能。
      自适应实时 (ART) 加速器可允许通过嵌入式闪存进行零等待操作。 批量采集模式 (BAM) 可在批量处理数据过程中提高电源效率。
      STM32F412xE/G 包含高速嵌入式存储器(高达 1 MB 闪存,256 K SRAM)。 可将广泛的增强型输入/输出和外围设备连接至两根 APB 总线、三根 AHB 总线和 32 位多 AHB 总线矩阵。
      所有设备均提供一个 12 位模拟到数字转换器 (ADC)、一个低功率实时时钟 (RTC) 和十二个 16 位计时器。 两个脉冲宽度调制 (PWM) 计时器,用于电动机控制,还提供两个通用 32 位计时器。
      它们还具有标准和高级通信接口。
      STM32F412利用大量数据获取模式(BAM)将批量数据处理进行功耗优化,将动态功耗效率提升到了一个新的水平。 BAM允许通信外设实现批量数据交换,同时器件的其它部分(包括CPU)可保持在省电模式。
•        性能: 在100 MHz频率下,借助意法半导体的ART加速器,STM32F412能够实现125 DMIPS/339 CoreMark性能,并实现了从Flash存储器零等待执行。 DSP指令和浮点运算单元扩大了产品的应用范围。
•        功效: ST该系列产品采用意法半导体90 nm工艺,使用ART加速器和动态功耗调整功能,从Flash存储器执行指令,运行模式下可实现低至112 µA/MHz的电流消耗。 停机模式下,功耗低至18 µA。
•        集成度:STM32F412器件内置高达512至1024 KB的Flash存储器和高达256 KB的SRAM。
具备从48到144引脚各类封装。
o        4路USART,速率可高达12.5 Mbit/s
o        5路SPI(与I²S复用 ),速度高达50 Mbit/s
o        4个I²C,高达1Mbps
o        2x CAN(2.0B有效)
o        所有封装都带1个SDIO,时钟高达48MHz
o        1个全速USB 2.0 OTG
o        2个全双工I²S,最高32-bit/192 kHz
o        3个单工I²S,最高32-bit/192 kHz
o        2个数字滤波器,用于∑Δ调制器
o        4个PDM接口,支持立体声麦克风
o        速度高达2.4 MSPS的12位ADC,
o        14个定时器,频率高达100 MHz的16和32位定时器
o        硬件随机数发生器


t0.jpg
要让STM32F412动起来,首先要从http://www.keil.com/dd2/stmicroe ... tx/#/eula-container下载Keil.STM32F4xx_DFP.2.10.0.pack驱动。
T5.jpg
              添加的驱动


T6.jpg
           KEIL已经找到芯片的驱动了
  对NUCLEO-F412ZG的评测过程,将不断与各位分享。










评分

参与人数 1 ST金币 +20 收起 理由
zero99 + 20

查看全部评分

收藏 4 评论20 发布时间:2016-10-5 10:09

举报

20个回答
wenyangzeng 回答时间:2016-10-5 14:12:30
本帖最后由 wenyangzeng 于 2016-10-5 14:28 编辑

评测2:USART3串口通信
        当我们用USB连接线连接PC机到Nucleo-F412ZG后,在PC机的“设备管理器”的端口栏将会出现一个虚拟的串口设备,在我的机器上显示是COM6,根据用户机器配置的不同可能会有所不同。
COM_6.jpg
       现在,我们可以在不增加硬件资源的情况下利用这个虚拟串口来调试软件了。


      打开STM32Cube MX,选择STM32F412ZG Tx,将PD8,PD9配置成USART3模式。生成代码。
CUBE_MX.jpg
    修改main.C,填加部分代码:
  1. #include "stm32f4xx_hal.h"
  2. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
  3. UART_HandleTypeDef huart3;
  4. void SystemClock_Config(void);
  5. void Error_Handler(void);
  6. static void MX_GPIO_Init(void);
  7. static void MX_USART3_UART_Init(void);
  8. PUTCHAR_PROTOTYPE
  9. {
  10.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xFFFF);
  11.   return ch;
  12. }
  13. int main(void)
  14. {
  15.   HAL_Init();
  16.   SystemClock_Config();
  17.   MX_GPIO_Init();
  18.   MX_USART3_UART_Init();
  19.   printf("\n\r UART Printf Example: retarget the C library printf function to the UART\n\r\n\r");
  20.   printf("** STM32F412GZ Nucleo Test finished successfully. ** \n\r");
  21. while (1)
  22.   {
  23.   }
  24. }
  25. void SystemClock_Config(void)
  26. {
  27.   RCC_OscInitTypeDef RCC_OscInitStruct;
  28.   __HAL_RCC_PWR_CLK_ENABLE();
  29.   __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  30.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  31.   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  32.   RCC_OscInitStruct.HSICalibrationValue = 16;
  33.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  34.   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  35.   {
  36.     Error_Handler();
  37.   }
  38.   HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
  39.   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  40.   HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
  41. }
  42. static void MX_USART3_UART_Init(void)
  43. {
  44.   huart3.Instance = USART3;
  45.   huart3.Init.BaudRate = 9600;
  46.   huart3.Init.WordLength = UART_WORDLENGTH_8B;
  47.   huart3.Init.StopBits = UART_STOPBITS_1;
  48.   huart3.Init.Parity = UART_PARITY_NONE;
  49.   huart3.Init.Mode = UART_MODE_TX_RX;
  50.   huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  51.   huart3.Init.OverSampling = UART_OVERSAMPLING_16;
  52.   if (HAL_UART_Init(&huart3) != HAL_OK)
  53.   {
  54.     Error_Handler();
  55.   }

  56. }
  57. static void MX_GPIO_Init(void)
  58. {
  59.   __HAL_RCC_GPIOE_CLK_ENABLE();
  60.   __HAL_RCC_GPIOD_CLK_ENABLE();
  61.   __HAL_RCC_GPIOA_CLK_ENABLE();
  62.   __HAL_RCC_GPIOB_CLK_ENABLE();
  63. }
复制代码


   打开串口通讯小助手,配置好端口和通讯参数,现在,Nucleo-F412ZG已经能够发送信息在PC机上显示了。
USART.jpg



main.rar

下载

4.13 KB, 下载次数: 3

usart3

stary666 回答时间:2016-10-5 10:37:00
顶一下,,,,,,,,,,
190637r537m8rmdq8wakwd.jpg
st.png
ChunMan 回答时间:2016-10-5 10:40:49
后排支持观望下!
lising 回答时间:2016-10-5 11:46:45
支持支持!
原田夜舞love 回答时间:2016-10-5 20:46:41
学习了!
asssdz-382474 回答时间:2016-10-5 21:33:04
:):)
zhangdaijin 回答时间:2016-10-6 07:36:48
   谢谢LZ
zcl201207 回答时间:2016-10-6 23:27:36
zhangdaijin 回答时间:2016-10-7 09:10:31
持续关注
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版