12 2011 档案

摘要:在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一个文件,方便烧写和生产。下面结合STM32的IAP Bootloader Code和Application Code的合并,介绍两种合并BIN文件的方法。 首先简单介绍一下STM32的IAP。IAP(In-application-programming),即在应用中编程。有了它,产品发布之后,仍然可以方便的升级固件,而不需要拆机并用JTAG等方式更新程序。IAP系统的固件一般有两部分组成,IAP BootLoader Code和Application Code,如下图所示。 系统启动时,首先运行IAP BootLoader Cod.. 阅读全文

posted @ 2011-12-21 16:25 蓝色星宇 阅读(3504) 评论(0) 推荐(0) 编辑 |

摘要:STM32+SSD1963+TFT(FSMC)已调试通过的代码。其中要注意的两点:1.外部访问地址需加volatile,否则keil MDK 优化会将部分代码优化掉,造成错误。 volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。2.FSMC内部地址和外部实际地址有区别。如A18连线对应内部地址是A19。// ssd1963 #d/c -------- STM32F103VCT6 A18#define LCD_COMM 阅读全文

posted @ 2011-12-09 17:02 蓝色星宇 阅读(3213) 评论(0) 推荐(0) 编辑 |

摘要:STM32支持在应用中编程,也就是所谓的IAP,这对产品的在线升级带来了很大方便。在线升级的原理简介如下:在单片机的FLASH中有两段代码,一段是IAP代码,另一段就是用户的应用程序即APP代码,IAP代码放在单片机复位时的起始地址,而APP代码则放在IAP后面的地址,上电时CPU首先执行IAP代码,再通过IAP代码跳转到APP代码开始执行。在IAP代码执行期间,通过检测某一个事件(如IO电平)来判断是否对APP代码进行更新,如果该事件无效,则不更新,直接跳转到APP代码执行;如果该事件有效,则更新APP代码,而更新的文件则从外部磁盘通过串口或USB写入FALSH应用程序空间。流程图如下:当然 阅读全文

posted @ 2011-12-02 17:44 蓝色星宇 阅读(6473) 评论(2) 推荐(0) 编辑 |

随笔 - 54, 文章 - 0, 评论 - 21, 阅读 - 14万

Copyright © 2025 蓝色星宇
Powered by .NET 9.0 on Kubernetes

跟小D每日学口语 跟小D每日学口语
点击右上角即可分享
微信分享提示