eagle STM32F IAP_Free是免费的IAP,用于软件调试阶段。生产和批量应用可以使用eagle STM32F IAP解决方案。
介绍如何使用eagleIAP_Free来进行STM32F调试。
1、eagleIAP_Free占用STM32F芯片的前4KB字节Flash,其功能类似于STC的51单片机串口下载功能。
2、用ISP方式下载eagleIAP_Free程序代码到STM32F芯片中(该程序代码包含在eisp.exe程序内部)。 请设置芯片写口令,并牢记。此口令会写入芯片内。此时也可选择一个Application应用程序代码,一起写入芯片中。 口令最长20个字符,超过部分不会使用。
3、重启芯片,会运行eagleIAP_Free程序。eagleIAP_Free会等待2秒时间,接收串口0的连接信号。
4、使用IAP方式写片前,请输入正确的口令,以登录IAP,获取擦写权限。(eagleIAP_Free不支持芯片内容读出,所以无需考虑读权限。)
5、如果未收到连接信号,2秒后会运行应用程序。
6、连接信号是2字节1200bps的0x78,2字节2400bps的0x78,2字节9600bps的0x7f。一般情况下不会有这样的信号导致误进入IAP。
7、应用程序必须从0x08001000开始,中断向量表也从0x08001000开始。需设置NVIC的SCB->VTOR寄存器。MSP和PSP无需设置,会根据向量表自动设置好。
8、为方便现场的下载、升级,本站提供便携ISP下载机,使用更方便,加密性能更强,启动等待延时也更短(小于50ms)。
9、初始口令为www.mcuisp.com,请务必修改之。
点击下载eagleIAP_Free Demo程序的源代码。演示如何使用eagleIAP_Free和eagleCom配合,用串口调试STM32F芯片。编译环境IAR EWARM4.42。
如何在应用代码运行时实现IAP连接信号检测:
1、此功能可方便开发调试,无需再按复位键。
2、原理为利用USART0的接收错误检测,当USART0的波特率设置在9600以上时,遇到IAP连接信号会置位USART_FLAG_NE+USART_FLAG_FE等错误检测指示位。此时利用SCB->AIRCR的bit2即可复位芯片,自动进入IAP程序。
3、详细方法可看Demo的源代码。
4、Demo程序启动后用9600bps发一串字符,之后收到什么发什么(echo)。
[此贴子已经被作者于2009-5-13 20:37:56编辑过]