AT32F407

简介

时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。

以下介绍时钟配置的方法主要分两种:

1、以手动编写代码调用BSP中提供的驱动函数接口来进行时钟配置。

2、采用时钟工具来配置并生成相应的源码文件。

时钟树

在进行时钟配置之前,应充分了解对应芯片的时钟树结构,这样在进行时钟配置时才会游刃有余。对于系统时钟频率及路径的配置我们需要关注时钟源、倍频及系统时钟部分。类似如下图:

1.png

图1. 时钟框图

可由图中得到以下几个关键信息:

1) SCLKSEL:系统时钟可以由HEXT、PLLCLK、HICK三大时钟源提供。

2) HEXT:HEXT是外部高速时钟,其可以外接范围是4~25 MHz的晶振或时钟源。

3) HICK:HICK RC是内部高速振荡器,频率为48MHz。HICK时钟由内部振荡器给出,但在初始情况下由HICKDIV控制并默认6分频后为8MHz,亦可配置为不分频,保持48MHz的频率。

4) PLLCLK:PLL时钟=PLL输入时钟*PLL倍频系数。

5) PLL输入时钟:PLL的输入时钟由PLLRCS及PLLHEXTDIV共同决定,其细分可分为三个来源:HICK 4MHz、HEXT和HEXTDIV,HEXTDIV由HEXT分频系数决定,默认为2分频。

代码配置解析

以下将以库函数接口为核心来对时钟配置流程和方法进行说明。

函数接口

各系列产品对应提供的BSP中对硬件的时钟设置部分已封装好接口函数以供调用,以下罗列出时钟配置常用的函数接口,各函数的具体参数及返回值类型等请参考at32f403a_407_crm.c/.h文件。

2.png

时钟配置流程

按常规应用来讲解时钟配置流程,其内容可大致分为如下步骤:

3.png

图2. 时钟配置流程图

复位(CRM Reset)

首先按规范流程应复位CRM配置参数,其主要是将系统时钟切换到HICK,其余的系统时钟配置寄存器写入默认值,待后续进行新配置参数的写入。函数调用的代码实现如下:

4.png

时钟源配置(Clock Source Configuration)

与系统时钟相关的高速时钟源主要包括HEXT和HICK,PLL也是使用以上时钟源来进行倍频。需要在配置使能PLL前将所使用的PLL参考时钟源开启并等待其稳定。

  • HEXT

外部高速时钟如采用外接有源时钟的方式时,可开启旁路模式来进行使用,采用晶振时,不能开启旁路模式,旁路模式应在外部高速时钟源使能前进行设定,其默认情况为关闭。旁路模式使能代码实现如下:

5.png

使能HEXT时钟源并等待HEXT时钟稳定,代码实现如下:

6.png

  • HEXT

内部高速时钟是由芯片内部振荡器提供,使能HICK时钟源并等待HICK时钟稳定,代码实现如下:

7.pngPLL配置(PLL Configuration)

PLL配置主要包括:PLL时钟源、PLL倍频系数、PLL倍频频率范围等的设置。倍频时钟公式为:PLLCLK=PLL输入时钟*PLL倍频系数。

  • PLL时钟源

PLL时钟源细分有三个来源:1、HICK(4 MHz),2、HEXT,3、HEXT分频时钟,PLL时钟源应在PLL配置使能前开启并等待稳定。以上PLL时钟源在crm_pll_config函数中对应的参数定义如下:

8.png当选择PLL时钟源为CRM_PLL_SOURCE_HEXT_DIV时,HEXT的分频系数可以通过函数crm_hext_clock_div_set进行设置,其默认分频系数为2分频。

  • PLL倍频系数

倍频系数为2~64倍可选,但应该注意最高主频限制,以此按实际情况来合适选择倍频系数,如8倍频使用参数CRM_PLL_MULT_8。

  • PLL频率范围

频率范围主要以倍频后的PLLCLK频率来做设定,其范围参数以72MHz为界限设定,如下:

9.png当PLL参数设置完成后,即可开启PLL并等待PLL稳定。示例:外部时钟晶振8MHz,采用HEXT 2分频时钟作为PLL时钟源,PLLCLK倍频到240MHz的代码实现如下:

10.png总线分频(Set Bus Frequency Division)

总线分频包含SCLK到AHBCLK分频、AHBCLK到APB1CLK分频、AHBCLK到APB2CLK分频。AHB总线1分频、APB1/APB2总线2分频的代码实现如下:

11.png切换系统时钟(Switch System Clock)

系统时钟来源主要有三个:HICK、HEXT、PLLCLK。在切换系统时钟到如上时钟源时应提前确保对 应时钟源已稳定。顺滑模式时钟顺滑模式是为了确保整个系统时钟切换过程的稳定而设计,当即将切换为系统时钟的目标时钟频率大于108MHz时应开启时钟顺滑模式,所以其主要应用对象为PLLCLK用作系统时钟时的场景。通常使用方法是在系统时钟切换前开始,切换成功后关闭。代码实现如下:

12.png

  • HICK系统时钟

内部高速时钟在系统复位重新运行时默认作为系统时钟,后期代码进行设定时,可有两种频率值来进行设定(8MHz和48MHz)。如图1所述HICK默认情况下用的是8MHz,可配置为48 MHz。HICK 8 MHz用作系统时钟的代码实现如下:

13.png

HICK 48 MHz用作系统时钟的代码实现如下:

14.png

  • HEXT系统时钟

外部高速时钟用作系统时钟时,其系统时钟频率以实际使用的外部时钟频率为准,范围为4~25MHz。HEXT用作系统时钟的代码实现如下:

15.png

  • PLLCLK系统时钟

PLLCLK用作系统时钟时,其系统时钟频率以实际的PLL倍频结果为准。其最高频率应满足芯片规格为基础。PLLCLK用作系统时钟的代码实现如下:

16.png更新核心频率(Update Core Frequency)

提供的BSP中,其代码框架内保留了一个表示系统核心频率的参数值system_core_clock,其保存的是CPU核心的运行频率值,应该在每次系统时钟配置完成后来进行更新。为的是在整个代码框架下,各外设驱动的频率配置能很快获取到当前核心运行频率值并使用。代码实现如下:

17.png时钟配置示例

以下将以完整的时钟配置流程来进行说明,示例:由8MHz外部时钟晶振作为时钟源,其2分频路径经PLL倍频到240MHz并用做系统时钟,AHB不分频,APB1/APB2采用2分频。函数system_clock_config代码实现如下:

18.png时钟工具

时钟配置工具是雅特力科技为方便对AT32系列MCU进行时钟配置而开发的一个图形化配置工具,其主旨是使用户清晰了解时钟路径和配置出期望的时钟频率并生成源码文件。

环境要求

  • 软件要求

需要Windows7及以上操作系统支持。

安装

  • 软件安装

本软件不需要安装,只需直接运行可执行程序AT32_New_Clock_Configuration.exe。

功能介绍

本章节将介绍此工具的基本操作,其主要的启动界面和配置界面如下所示

19.png图3. 启动界面

20.png

图4. 配置界面

菜单栏

菜单栏内容如图所示:

21.png图5. 菜单栏

  • “项目”(Project)菜单:

新建:新建时钟配置项目打开:打开已存在的配置项目保存:保存已打开的配置项目

  • “语言”(Language)菜单:

English:选择English作为显示语言简体中文:选择简体中文作为显示语言

  • “生成代码”(General code)菜单:

当在对应型号的操作配置界面将所期望的时钟路径和时钟频率配置完成之后,可点击“生成代码”菜单来选择源码文件的存储路径并生成相应的源码文件。

  • “帮助”(Help)菜单:

新版本下载:联网进行新版本下载版本:查看当前版本

新建配置项目

双击打开时钟配置工具,可看到图示的启动界面,可点击“项目”菜单-->“新建”,进行配置项目的新建,在新建配置项目的过程中需要对芯片的系列所属进行选择,操作方法如下图所示

22.png图6. MCU选择界面

MCU系列的选择,可点击下拉框来进行选择,当选择好MCU后点击“确定”可进入到时钟配置界面。

配置界面的使用

配置界面主要用来进行时钟路径及参数的配置,以下的介绍将以 AT32F403A 系列作为示例来展开进行,其余系列的配置方法与此类似。

整个配置界面主要可以分为四个大块,如下图所示

23.png

图7. 配置界面框架

1. 标题部分:用于展示当前配置项目所选择的MCU系列。

2. 配置部分:用于对时钟路径和时钟参数进行选择和配置,以达到期望的应用需求。

3. 输出部分:用于时钟输出(CLKOUT)的配置。

4. 在SCLK栏也可在选中PLL为系统时钟时作为输入框,可输入期望的系统时钟频率来反向自动配置出倍频参数。

5. 结果部分:用于显示当前外设所使用的时钟频率及总线上的外设。

接下来就着重介绍一下配置部分的使用。配置部分的流程界面是对应着MCU时钟树来进行的,各系列MCU的此部分可能存在着差异,但使用方式大同小异。时钟路径的配置可按流程对各开关进行点选来进行选择,配置部分如下图所示,将逐个流程点的功能及其注意事项进行介绍。

24.png图8. 时钟配置框

1.rtc使能:rtc时钟代码配置的使能下拉框。

2. rtcsel:点选框,rtc时钟源选择。当rtc使能开启后,此点选框可配置。

3. lext bypass:外部低速时钟的旁路使能。

4. hext:此为输入框,8MHz为所采用外部时钟源的默认频率,用户可根据实际使用的外部时钟源频率进行修改。(注:此8MHz被修改为其他频率值时,对应的BSP中demo目录下的inc/at32f403a_407_conf.h文件内的HEXT_VALUE宏定义也应该一致修改,也可以采用工具生成的at32f403a_407_conf.h文件来进行使用)。

5. hext bypass:高速外部时钟的旁路使能。

6. hextdiv:下拉框,当HEXT的分频路径作为PLL时钟源时,可配置输入源HEXT的分频系数。

7. pllhextdiv:点选框,当HEXT作为PLL时钟源时,可配置输入频率为HEXT分频或HEXT不分频。

8. pllrcs:点选框,可配置PLL时钟源为HEXT或HICK。

9. 倍频系数:使用PLL_MULT参数进行倍频,计算公式为:PLLCLK=PLL输入时钟*PLL_MULT。为了用户的使用方便,在选定PLL输入时钟源后,结果部分的sclk框中输入目标时钟并按下键盘“Enter”键,会自动计算一组倍频参数以满足用户期望或相近的时钟频率。

10. sclk select:点选框,可配置HEXT、PLL或HICK作为系统时钟。

11. sclk频率:当采用正向配置时,此作为系统时钟频率的配置结果显示,当将其用作输入框时,输入期望的频率后点击回车键,会根据此输入值反向计算一组合适的或最接近期望值的PLL配置参数。

12. hick to sclk:点选框,当sclk select选择HICK作为系统时钟时,可配置HICK的8MHz或48MHz到系统时钟(注:当选择48 MHz HICK到系统时钟后,CLKOUT输出HICK时的频率也为48MHz)。

13. usbdiv:下拉框。当PLL时钟被选作为USB的时钟来源时,此处配置PLL时钟到USB时钟的分频系数。

14. hick to usb:点选框,可配置USB时钟由PLL时钟或HICK 48 MHz提供,USB时钟配置代码由下拉框to usb来进行选择控制。因USB时钟需要的是固定48MHz,所以在usbdiv可分频参数为前提下,PLL倍频出来的频率可能不满足USB 48 MHz的时钟需求。

15. USB使能:USB时钟代码配置的使能下拉框。

16. USB时钟频率的显示。此显示栏会实时计算USB时钟的频率并显示,如果配置出来的USB时钟不等于48MHz时,显示出来的USB时钟频率会标注为红色,而实际应用中没有用到USB时选择disable则不会显示。(注:此部分只针对USB时钟频率的配置,USB外设时钟使能需自行额外打开)

生成代码

当时钟配置完成后,可点击生成代码,然后选择代码生成的路径并确认,最后会在所选目录下生成两个文件夹inc和src,源文件存放在src文件夹下,头文件存放在inc文件夹下。这些文件可结合到BSP_V2.x.x内的工程来进行使用。可以采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/ at32f4xx_conf.h)将原BSP demo中的对应文件替换,在main函数中进行system_clock_config函数调用即可。

注意事项

外部时钟源(HEXT)修改

因本文档所示例的demo和配置工具都默认采用的8MHz外部时钟频率,当实际硬件使用的外部时钟源是非8MHz频率时需注意以下几点。

  • 代码修改

1、以实际的外部时钟频率按文中时钟配置流程章节所描述的时钟配置流程及方法来编写相应的代码,配置出期望的时钟配置及时钟路径。2、修改对应demo工程中at32f4xx_conf.h文件的HEXT_VALUE值,以实际使用的外部时钟源频率值来进行修改。如实际外部高速时钟使用12.288MHz的晶振或时钟源时,at32f4xx_conf.h文件应修改如下:

25.png

  • 工具修改

1、在时钟配置工具中的HEXT输入框内填入外部时钟源实际频率值并按“Enter”键确认。

2、配置好所需的时钟路径及时钟频率,生成代码。采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/at32f4xx_conf.h)将原BSP demo中的对应文件替换或取其中函数内容进行替换,在main函数中进行system_clock_config函数调用即可。

工具使用

在使用本时钟配置工具时需注意:

1. 此工具生成的时钟配置源码文件需结合雅特力科技提供的BSP_V2.x.x进行使用。

2. 不同系列所生成的时钟配置源码文件不能型号混用,只能在相对应的工程项目中进行调用。

3. 配置工具中各输入框参数修改后,请以“Enter”键结束。

案例 系统时钟

功能简介

在系统运行过程中来进行系统时钟切换。

资源准备

1) 硬件环境对应产品型号的AT-START BOARD2) 软件环境project\at_start_f403a\examples\crm\sysclk_switch

软件设计

1) 配置流程

  • 初始化按键。

  • 配置clkout时钟输出pll 4分频。

  • 编写从hick经pll倍频64MHz到系统时钟的配置代码。

  • 编写从hext 2分频经pll倍频96MHz到系统时钟的配置代码。

2) 代码介绍

main函数代码描述

26.png

hick经pll倍频64MHz到系统时钟的代码描述

27.png

hext 2分频经pll倍频96MHz到系统时钟的代码描述

28.png

实验效果

上电运行led2以间隔100ms时间进行闪烁,clkout(PA8)输出60MHz。每次USER按键按下,系统时钟在64MHz与96MHz之间进行交替切换,clkout输出对应的4分频频率,led4 toggle一次。

案例 时钟失效检测

功能简介

在当HEXT时钟直接或间接作为系统时钟时,当HEXT时钟出现故障,且时钟失效模块侦测到失效后,时钟失效事件将产生NMI中断,在此中断中可完成系统的营救操作。

资源准备

1) 硬件环境

对应产品型号的AT-START BOARD

2) 软件环境

project\at_start_f403a\examples\crm\clock_failure_detection

软件设计

1) 配置流程

  • 配置clkout时钟输出pll 4分频。

  • 开启时钟失效检测,并完善void NMI_Handler(void)函数。

  • 编写从hick经pll倍频240MHz到系统时钟的配置代码。

2) 代码介绍

main函数代码描述

29.png

hick经pll倍频240MHz到系统时钟的代码描述

30.png

NMI中断实现

31.png

实验效果

在运行过程中将晶振拔掉或晶振脚接地,产生时钟失效。通常来说hext比hick更稳定,可观测clkout(PA8)的输出,可发现时钟拯救回来后hick作为源时的频率上存在细微波动。

来源:AT32 MCU 雅特力科技

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 715

IAP概述

工作原理

在应用中编程(IAP)是一种在现场通过 MCU 通信接口(例如 USART、USB、CAN 和以太网)进行固件升级的方式。

启动微控制器时,可以选择让其在以下任一模式运行:

  • IAP模式,用于执行IAP代码

  • 正常模式,用于执行应用程序代码

无论是IAP代码还是应用程序代码都位于微控制器的内置FLASH中,IAP代码通常存储在MCU FLASH的第一页,而用户应用程序代码则占据剩余的FLASH区域。

图1介绍了IAP操作流程

“图1

使用MCU以太网接口实现IAP

如果有以太网可用,则它通常是嵌入式系统中实现IAP功能的首选接口,其优势包含:

  • 高速通信接口(10/100 Mbps)

  • 通过网络(LAN或WAN)进行远程编程

  • 可以使用FTP、TFTP、HTTP等基于TCP/IP栈的标准应用协议实现IAP

通过以太网在AT32F407上实现IAP

本应用笔记将介绍两种使用以太网通信外设在AT32F407上实现IAP的解决方案:

  • 使用TFTP(简单文件传输协议)的IAP

  • 使用HTTP(超文本传输协议)的IAP

这两种解决方案均基于LwIP栈(2.1.2), 它是轻量级的TCP/IP协议栈

使用TFTP实现IAP方法

使用TFTP实现IAP的方法广泛应用于需要具有固件升级功能的嵌入式系统应用中(例如,嵌入式Linux bootloader中)。

TFTP是一种在UDP传输层上执行的简单文件传输协议。此协议非常适合在局域网环境中使用。它基于客户端/服务器架构,在这种架构中,客户端会向服务器发出文件传输请求(读取或写入操作)。为实现IAP,需要在LwIP协议栈上实现一个简单的TFTP服务器,服务器只须处理来自PC的TFTP客户端的写入请求即可。

使用HTTP实现IAP方法

使用HTTP协议进行固件升级没有使用TFTP常见,但是在需要通过Internet进行远程编程时,这种解决方案就显得极为有用。这时,需要使用TCP传输协议来实现HTTP服务。

HTTP基于TCP协议运行,它提供了一个一种以HTML表单形式从Web客户端(Mozilla Firefox或Microsoft Internet Explorer)发送一个二进制文件的方式。这称为HTTP文件上传(RFC1867)。

本文档中的后续章节将详细介绍这两种IAP方法的实现,并会对如何使用软件进行说明。

使用TFTP实现IAP

TFTP概述

TFTP是一种基于UDP的简单文件传输协议。文件传输由TFTP客户端发起,会向TFTP服务器发送读取或写入请求。服务器确认请求后,即开始进行文件数据传输。数据将以固定大小的块尽情发送(例如每块含512个字节)。

必须在每个发出的数据块都得到接收方确认后,才可以发送下一个数据块。这种确认机制通过随各个数据块一同发送的编块号来实现。数据块小于固定块大小表示文件传输的结束。

图2描述了各种TFTP数据包的格式:

“图2
图2 TFTP数据包

表1列出了TFTP操作码。

“表1
表1 TFTP操作码

使用TFTP为AT32F407实现IAP

此IAP实现由基于LwIP TCP/IP栈的TFTP服务器组成。

此服务器会对远程TFTP客户端(PC)发来的写请求做出响应。

TFTP读请求会被忽略。

TFTP通常会将接收到的文件写入到文件系统,但是该服务器却并非如此,它会将接受到的数据块写入到MCU FLASH(用户FLASH区域中)。

注:在这个实现过程中,数据块大小固定为512个字节。

图3概述了使用TFTP实现IAP操作的过程。

“图3
图3 使用TFTP实现IAP流程图

使用软件

要通过TFTP对IAP进行测试,需执行以下步骤:

1. 在iap.h文件中,取消USE_IAP_TFTP选项的注释。

2. 重新编译软件。使用生成的映射文件,确保IAP代码区域之间没有重叠(从地址0x0开始),而且用户FLASH区域从以下地址开始:APP_START_SECTOR_ADDR(在iap.h中定义)。

3. 在AT32 FLASH中编写并运行软件程序。

4. 要进入IAP模式,需要在按住开发版上的USER Key。

5. 分配完IP后(可以是静态或动态地址),用户即可启动IAP流程。

6. 在PC侧,打开TFTP客户端(例如Tftpd64),然后配置TFTP服务器地址(Tftpd64中的主机地址)

7. 单击Tftpd64实用程序中的Put(写入)按钮,启动文件写请求

8. 在IAP操作结束时,可以复位开发板并在AT32 FLASH中运行刚刚编写的应用程序

“图4
图4 TFTP64对话框

使用HTTP实现IAP

HTTP文件上传概述

RFC1867中定义了使用HTTP进行文件上传。此文件上传方法是基于HTTP表单。发送原始二进制数据时,要使用HTTP POST方法而不是GET方法。

以下是一个HTML代码示例,用于实现基于表单的文件上传:

“图5
图5 文件上传HTML表单的浏览器画面

注:在发送文件数据前,Web客户端会首先发送HTTP头文件数据,其中包含诸如文件名称和内容长度等信息,Web 服务器必须对其中的一些信息进行解析。

Web客户端使用的HTTP头文件格式并不总是相同。图6显示的是Internet Explorer在POST请求中的HTTP头文件格式。图7显示的是Mozilla Firefox的HTTP头文件格式。

HTTP Web服务器必须能够处理这些不同的格式。

“图6
图6 IE11 HTTP头文件格式

“图7
图7 Mozilla Firefox HTTP头文件格式

使用HTTP在AT32F407上实现IAP

此IAP实现由基于LwIP栈的HTTP Web服务器组成。

在浏览器中输入的AT32的IP地址后,将显示登录Web页面(图8)。此登录Web页面只有已获授权的用户才能使用IAP文件上传功能。

“图8
图8 登录web页面

注:1. 默认的User ID(用户ID)为user, Password(密码)为at32
2. 如果User ID(用户ID)或Password(密码)不正确,登录Web页面会重新加载。

登录成功后,浏览并选择要上传到AT32 FLASH的二进制文件

注:确保二进制文件大小不超过AT32用户FLASH区域的总容量。
单击Upload(上传)按钮后(参见图x),将向服务器发出POST请求。这时,服务器开始擦除用户FLASH区域的全部内容,等待接受二进制文件原始数据。然后将街收到的数据写入用户FLASH区域。

注意,要接收的数据总长度信息将从传输开始时发出的HTTP头文件数据中提取。

在IAP操作结束后,Web页面将只是IAP操作成功,同时显示一个可用于复位MCU的按钮。

“图9
图9 文件上传完成web页面

图10对使用HTTP实现IAP方法进行了总结

“图10
图10 使用HTTP实现IAP的流程图

使用软体

要使用HTTP对IAP进行测试,需执行以下步骤:

1. 在iap.h文件中,取消选项USE_IAP_HTTP的注释。

2. 重新编译软件,使用生成的映射文件,确保IAP区域代码之间没有重叠(从地址0x0开始),而且用户FLASH区域从以下地址开始:APP_START_SECTOR_ADDR(在iap.h中定义)。

3. 在AT32 FLASH中编写并运行软件程序。

4. 要进入IAP模式,需要再按住开发版上的USER Key。

5. 分配完IP地址后(可以是静态或动态地址),用户即可启动IAP流程

6. 打开Web客户端(Mozilla Firefox或Internet Explorer),输入AT32 IP地址

7. 会显示登录Web页面。在User ID(用户ID)字段中输入”user”,在Password(密码)字段中输入”at32”,然后按下Login(登录)按钮。

8. IP操作结束后,将加载新的Web页面,只是文件上传操作已经成功完成。

9. 可以按下Reset MCU(复位MCU)按钮复位MCU,然后在AT32 FLASH中运行刚刚编写的应用程序。

注:使用以下Web客户端对软件进行测试:Microsoft Internet Explorer 11和Mozilla Firefox 80.0

已知限制

二进制文件中添加的额外字节

Internet浏览器(Microsoft Internet Explorere或Mozilla Firefox)会在上传的二进制文件的末尾添加一个随机边界标记(根据RFC1521规定,此标记不得超过72个字节)。在最新的IAP软件版本中,并没有删除此边界标记,而是在空间足够的情况下将其存储在FLASH中。如果没有足够空间,则不会在FLASH中写入额外字节,也不会返回错误。

环境

硬件配置

1. DM9162以太网模块

2. AT-START-F407开发板

3. 以太网线

软件源码

utilities\at32f407_emac_iap_demo\source_code\bootloader, emac iap源程序,运行iap升级程序

MAC地址和IP地址设置

在netconf.h文件中对MAC地址进行了定义。

默认的MAC地址固定为:00:00:44:45:56:01。

在netconf.h文件中对IP地址进行了定义。

IP地址可以设置为静态地址,也可以设置为由DHCP服务器分配的动态地址。默认的静态地址为:192.168.81.37。

可以通过在lwipopts.h文件中使能LWIP_DHCP来选择DHCP模式。

软件文件组成

“表2
表2 介绍了项目源文件

注:表格中没有列出标准固件库和LwIP栈中所使用的文件。

构建IAP映像

为了构建IAP映像(将会使用IAP软件加载),应确保以下几点:

1. 编译/链接的软件必须从用户FLASH区域的起始地址开始运行(此地址应与iap.h的
APP_START_SECTOR_ADDR 中所定义的地址相同)。

2. 将向量表的起始地址配置为用户FLASH区域的起始地址:
A. 在应用程序代码中,使用misc.h/.c驱动程序的NVIC_SetVectorTable函数来重新定位应用程序加载地址的向量表。

例如,将向量表基本位置设置为0x08010000:

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000);

B. 通过修改system_at32f4xx.c文件中定义的VECT_TAB_OFFSET常量的值。

例如,将向量表基本位置设置为0x08010000:

#define VECT_TAB_OFFSET 0x10000

3. 编译后的软件大小不超过用户FLASH区域的总容量。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 51

11月16日,由《EE Times》与《EDN》出版集团ASPENCORE主办的首届「EE Awards Asia-亚洲金选奖」颁奖典礼在台北寒舍艾美酒店隆重举行。通过广大电子产业相关人士及媒体分析师团队的综合评审,雅特力AT32F407系列MCU产品凭借出色的性能和市场表现,斩获「年度最佳MCU」产品奖。

“雅特力AT32F407系列高效能微控制器荣获EE

此次颁奖典礼,雅特力产品与行销处长杜立博先生代表公司上台领奖。现场汇聚了200多家半导体/电子产业领域的顶尖厂商代表与专业精英人士,共同表彰领域内的优秀企业、产品以及对产业贡献卓著的人物。此次荣获「年度最佳MCU」产品奖,证明雅特力AT32F407系列MCU获得了行业内人士的高度认可。

“雅特力AT32F407系列高效能微控制器荣获EE

本次获奖的AT32F407系列微控制器搭载32位ARM® Cortex®-M4内核,配合先进制程可达超高效能240MHz的运算速度,最高可支持1MB Flash及224KB SRAM,超越业界同级芯片水平。AT32F407另外特别支持8组UART串口,2组CAN总线,还集成兼容IEEE-802.3 10/100Mbps以太网口控制器特别适用于物联网应用,以及USB设备应用不需外挂晶振,可同时提升终端产品的可靠度与降低成本的多重用途。

AT32F407凭借其丰富的片上资源分配、高集成及高性价比的一流市场竞争力,应用在越来越多的终端产品市场,在工业自动化、电机控制、物联网及消费性电子等领域已得到用户的广泛认可,成为相关领域系统设计与项目开发的主流首选。

“雅特力AT32F407系列高效能微控制器荣获EE

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 20
订阅 RSS - AT32F407