ST社区不愧是专属社区,即使在新板测评方面也是先人一步。从社区得到测评板之后,除了开箱就是尽快地使开发板具备编程测试能力。在没寻得初始Demo源程序的情况下,真不忍动手做下载方面的测试,但说归说是还要做呀! 下面就先从开发环境的配置说起吧,本人一直习惯以KEIL作为开发工具,因此做起来无需一切从头,当新型号芯片或开发板推出后,只需下载一下安装包对它升级即可。由于前些日子刚对F767开发板进行过测评,所以就无需进行升级了。 若是没有先前的积累,可到网址:http://www.keil.com/dd2/Pack/ 来下载安装包Keil.STM32F7xx_DFP.2.6.0.pack,然后进行安装就可在MCU列表中见到STM32F769NI的身影,见图1所示。 图1 添加芯片库
此外,为了便于下载调试还应该事先安装好ST-LINK的驱动,当然如果你是ST的老用户这一步也是可以免去的。对于新用户,可视自己的情况来选择处理。 通常在Vista、win7和win8下,ST-LINK的驱动是STSW-LINK008,而在xp下用的是STSW-LINK009, STSW-LINK007则是用于固件更新的。
在解压STSW-LINK008时,对于32位的系统是安装dpinst_x86.exe,若是64位的系统,则选择dpinst_amd64.exe。 在安装好ST-LINK驱动的情况下,你可见到又多出一个名为“DIS_F769NI”盘符,如图2所示。此外,通过设备管理器还可见到一个虚拟串口COM8,如图3所示,可供调试和通讯之用。 值得指出的是,在USB连接线时一定要选择正确。否则,即使驱动安装的正确也无法观察到正确的指示。 图2 DIS_F769NI盘符 图3 虚拟串口
有了前面的准备工作,在正式进行下载测试前还要准备好相关的例程及开发板原理图等。本人使用的例程是由STM32CubeF7_V1.4.0.zip来获取的,在STM32F769I-Discovery的Examples目录下共有18例程,详见图5所示。原理图的文件则是stm32f769i_disco_sch.pdf。 为了便于验证程序下载功能,可选取GPIO_EXTI目录下的工程来测试,经编译其界面如图5所示,说明编译正常。 图5 完成编译
经程序分析可知,该程序的功能进行GPIO的中断控制,其中断处理的函数内容如下: void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if (GPIO_Pin == GPIO_PIN_0) { /* Toggle LED2 */ BSP_LED_Toggle(LED2); } } 在出现中断时,它是经过引脚判别(是否为PA0),再切换LED2的发光状态。那LED2又是与哪个引脚相连呢? 通过追踪,可发现其定义如下: #define LED1_GPIO_PORT ((GPIO_TypeDef*)GPIOJ) #define LED2_GPIO_PORT ((GPIO_TypeDef*)GPIOJ) #define LEDx_GPIO_CLK_ENABLE() __HAL_RCC_GPIOJ_CLK_ENABLE() #define LEDx_GPIO_CLK_DISABLE() __HAL_RCC_GPIOJ_CLK_DISABLE() #define LED1_PIN ((uint32_t)GPIO_PIN_13) #define LED2_PIN ((uint32_t)GPIO_PIN_5) 也就是说LED2所连接的是PJ5,打开原理图发现果然如此,且蓝色用户键与PA0接在一起,其引脚连接关系如图6所示。
图6 引脚连接关系
为了能顺利的下载,需按图7所示设置,以生成HEX文件。然后再按图8所示来选取调试器类型,并按图9所示选取下载算法。 图7 设置生成HEX文件 图8 设置调试器类型 图9 选取下载算法 在编译正常的情况下,点击下载图标即可完成下载,其界面如图10所示。执行程序后可见到,每按一次用户键,LED2的状态就发送一次转换。在成功进行编译和下载的基础上,后面就可能对其它例程进行验证了。 图10 完成下载
|