5.3 系统调试 21
5.4 设计结果 24
结论 26
致谢 27
参考文献 28
1 绪论
1.1 课题研究的背景和意义
随着单片机性能不断提高和成本的降低,单片机的应用得到了前所未有的发展。从目前来看,单片机以应用需求为目标,市场分化越来越大,单片机系统是嵌入式系统的一部分,大多都应用在中,低端市场。在使用过程中,也出现了不少新的要求,可体现在以下几个方面:
(1)以电池供电方式的设备越来越多,而且由于产品体积的缩小,电池续航方面要求系统功耗尽可能低,如手表、GPS定位器、各种测量器等。
(2)随着应用的复杂性,对处理器的综合性能要求越来越高。既要功能丰富、灵活,又能实现一些实时算法、有一定的运算能力,而不只是做一些简单控制。
(3)由于产品更新速度快,开发时间短,所以更希望开发工具功能丰富、简单、易用,特别是仿真软件能适应多种单片机、有延续性,以减少投资费用。
(4)产品的可靠性高,性能稳定,应用程序能加密保护、容易升级。
德州仪器公司(Texas Instruments)推出的MSP430系列超低功耗单片机,集合多种领先技术,以16位RISC处理器、高性能嵌入式微控制器、处理能力强、运行速度快、超低功耗及丰富的片内外设、开发方便等优点,给人以耳目一新的感觉。加上TI的优良服务,充分体现了世界著名IC厂商的实力和优势。在世界多个国家已得到广泛的应用,在中国也已经进入飞速发展的阶段[1]。
近些年来,由于嵌入式系统技术的快速发展,使得越来越多产品都变成了一个“暗箱”。用户只需要知道如何去操作应用而无需关心内部的结构和工作原理,这样对保护开发者的权益有着重要的作用。但不可避免的是随着时间流逝和市场的激烈竞争,“暗箱”内的软件升级成了一个难点。MSP430系列单片机为芯片做产品也面对着同样的问题。在调试和生产阶段,我们还可以使用编程器对产品逐个烧写。但是,一旦产品给客户后,如果要对应用程序进行升级,就需要用到编程器。当要对大量产品进行装卸、开箱、重写升级是一件非常浪费资源而又繁琐的工作,对于某些产品进行开箱升级甚至会造成不可逆的产品损坏。况且编写程序跟现场工作环境有很大关系,环境恶劣的话,重写程序是很难操作的。于是,我们期望有一种方法,无须开箱,无须对产品逐个操作就能完成内部应用程序的更新换代,大大减少资源消耗。因此,此课题的研究有着重要的意义。
1.2 MSP430单片机升级方式
MSP430 单片机的应用程序升级方式有三种:利用JTAG 接口, BSL 固件和用户自定义升级[2]。
1.2.1 利用JTAG接口
MSP430 单片机都集成了JTAG 接口。该接口可输入指令和数据,这样就能控制MSP430芯片的地址线和数据线, 达到读/ 写Flash存储器和仿真调试的目的。
JTAG接口的优点是, 不用设计和添加额外的程序和电路,利用编程器就可以下载程序。缺点是如果用户想保证代码的安全, 就要烧断JTAG 的熔丝, 这样就破坏了该接口, 也就是永远不能再用该接口了。
1.2.2 利用BSL固件
BSL就是Bootstrap Loader的缩写,中文的意思是“引导装入程序”。它固化在MSP430芯片中的一段升级程序代码,在固定的地址空间,利用该程序可对Flash 实现读、写、擦除操作。由于该程序固定在芯片中, 所以不会被删除或者更改[3]。
利用BSL对应用程序进行升级, 优点是用户不需要自己编写升级程序,节省Flash存储器空间, 况且目前已经有很多升级软件支持BSL固件;缺点是产品必须预留BSL接口。 基于UART接口的MSP430程序自动升级设备的设计与开发(2):http://www.youerw.com/tongxin/lunwen_11521.html