ARM嵌入式系统的ISP设计
应用程序的固化是嵌入式产品开发和生产过程中一个重要环节。基于arm的嵌入式系统常用的程序固化方法是,用仿真器通过JTAG口将程序烧录到Flash里,在产品的开发阶段,使用仿真器几乎是必然的;然而到了产品的生产阶段,进行应用程序烧录或升级操作的往往是生产线上的工人,他们不易掌握仿真器的使用方法,而且在生产阶段也需要把JTAG调试口封住以防软件被窥视。笔者在使用意法半导体的STR730开发产品的过程中,设计了一种通过串口进行ISP(In System Programming,在系统编程)的方案。该方案成本低,生产线使用起来也很方便,而且即使升级过程中发生掉电之类的意外也不会影响下一次升级,安全而可靠。
1 硬件连接
ISP方案的硬件连接如图1所示。RS232转接板用来将RS232电平转换为TTL电平,并通过ISP_EN引脚给ARM开发板提供信号,让其进入ISP状态。PC机上运行用VC语言编写的ISP.exe,该程序把需要烧录到F1ash里的。bin文件加密后发送到arm开发板,同时把烧录的进度提示显示给用户。图1中的阴影部分具有固定的程序。
2 Flash烧录原理
2.1 存储器分配
STR730是意法半导体生产的基于arm7TDMI的微控制器芯片,内置16 KB RAM(0xa0000000~Oxa0003fff)和256 KB Flash(Ox80000000~Ox8003ffff)。内置256 KB Flash的分配情况如图2所示。按照图2中存储器的分配编写Scatter文件,在生成可执行文件时链接器会根据Scatter文件的内容把相关代码段定位到特定的地址上。该例中,程序从Flash启动,且没有使用存储器重映射,因此中断向量必须定位到Flash的起始位置。
扇区O的内容需要事先通过JTAG口烧入,此后就可以利用扇区O中的烧录程序Programrher.o通过串口进行ISP.在整个ISP过程中扇区0的内容是保持不变的,这样就可以防止ISP过程中出现掉电之类的意外,导致初始化代码Startup或烧录程序Programmer受到损坏而无法再一次进行ISP.无论对嵌入式产品添加新功能还是修改原有的软件BUG,涉及的都只是用户应用程序的改动,初始化代码Startup.s是无需改动的,所以扇区O的内容在ISP过程中可否保持不变,关键是能否使首次编译生成的Vector.0始终与以后多次编译的App.o相匹配。
需要特别指出的是,当用户应用程序发生改变时,实际的中断服务函数(一般是C语言函数)很可能发生了改变,或者是实际的中断服务函数的入口地址发生了改变,怎么通过固定不变的中断向量Vector.o找到变化的中断服务函数的入口呢?只要这个问题解决了,就可以使首次编译生成的Vector.o始终和以后多次编译的App.o相匹配,这是该方案可行性的关键所在。为解决这个问题,笔者在Flash的固定位置(0x80002000~0x800020ff)做了一个中断映射表,实际上里面存放的是一条条跳转指令。由于中断映射表INTMap.s和用户应用程序App.c是一同编译、链接的,里面的跳转指令当然可以准确找到实际的中断服务程序入口;而位于扇区O的中断向量Vector.s虽然不和用户应用程序一起编译,但中断向量里的跳转指令是绝对跳转到固定的中断映射表区域。这样通过2次跳转就可以准确找到中断服务程序的入口。
2.2 ISP执行的步骤
笔者把起到烧录Flash作用的程序单独作为一个工程编译、链接,生成。bin文件;然后把。bin文件转化成一个unsigned char型的数组,并把该数组放在一个单独的文件Programmet.c中;最后利用Scatter文件把Programmer.o定位在固定的地址空间(0x80001000~Ox80001fff,如图2所示)。这样一来,就可以编写汇编程序,把烧录程序Pro—grammer.o拷贝到RAM中,并让PC指针跳转到RAM中执行烧录。由于STR730没有外部Flash,要烧录Flash程序必须在RAM中运行,所以拷贝Programmer.o到RAM中是必需的。以下代码摘取自Startup.s. CMP r1,#1
需要说明的是:
①擦除Flash并不是完全擦除,而是擦除扇区0之外的其他扇区;
②数据缓冲区有限,每次只接收指定大小的数据,这样接收和烧录就可以并行进行,提高了ISP的速度;
③为了提高软件的安全性,原始的。bin文件是经过加密的,在烧录前需要将原始数据解密。
结 语
本文阐述的这种通过串口ISP的方法已经在实际的开发生产过程中使用。实践证明,相比其他烧录Flash的方法有很多优势,比如成本低、硬件连接简单、操作方便、增强软件的安全性等。笔者使用的MCU是STR730,稍做改动也可以把这种ISP方法推广到其他arm体系结构的MCU上去。
本文来自:http://www.armodm.com 龙人嵌入式产品事业部
由于受到国际金融危机的影响,2008年全球IC制造业呈现出高开低走的态势。原本第三季度是半导体产业的传统旺季,在2008年却呈现旺季不旺的景象。行业的寒冬已是不可避免,业界除了呼吁全社会增强消费信心之外,也采取了积极的措施来跨越这个冬天。
“冰火两重天”
国际和国内半导体业在过去一年的发展显示出了“冰火两重天”的状况。根据市场调研公司Gartner的最新统计和预测,2008年上半年全球半导体业的销售额达1275亿美元,比上年同期增长了5.4%,这是近两三年来最高的增幅;但到第四季度,受到国际金融危机的冲击,预计半导体业的销售收入将下降24.4%,这也是迄今为止行业发生的最大降幅。预计2008年全年,全球半导体行业的销售额总体下滑4.4%。
而我国半导体行业在2008年则经受了更为严峻的考验。由于在两年前就从高速增长阶段进入调整期,我国半导体产业在上半年的增长速度较以往有所放缓,并在第三季度快速下降。中国半导体行业协会副秘书长于燮康向《中国电子报》记者介绍,2008年,我国集成电路产业前三个季度销售收入为958.78亿元,同比增长7.1%。但从第三季度单个季度来看,同比增长率仅为1.1%。“而进入第四季度后,从各企业反映的情况看,行业下滑更为严重,开工率不足,形势十分严峻。”他说。
从国际半导体巨头的运营情况来看,也呈现“先赢后输”的局面。虽然国际半导体前20大领头羊公司在2008年前三个季度表现出了不俗的增长势头,销售总额同比增长6%,但在近期纷纷下调了营收预期。英特尔将第四财季收入预期下调了14%,降至90亿美元,上下浮动3亿美元。意法半导体下调第四季度收入预期至22亿美元到23.5亿美元之间,环比降幅约在12.8%到18.4%之间。台积电将第四季度收入下调至约合人民币129亿元-133亿元,这是他们7年来首次下调业绩预期。
种种迹象表明,从2008年后半程开始,受国际金融危机的影响,半导体业进入了新一轮衰退期。
业界呼吁保持信心
目前种种迹象表明,未来一年,全球半导体业可能将遭遇历史上较为寒冷的一个冬天。
Gartner公司预测,2009年全球半导体业销售额将在2008年下降的基础上继续下滑16.3%,至2192亿美元。
但业界人士呼吁,此时此刻,应该对产业发展的未来抱持信心。因为,每一次行业衰退引发的最重要的变革就是会迫使产业进行调整和升级。而由2008年带入2009年的电子行业大调整和瘦身,无疑会促进半导体产业整体的优胜劣汰和合纵连横,同时也必将使半导体产业由资本驱动回归到市场驱动。
而且,国际半导体联盟执行董事Jodi Shelton对《中国电子报》记者表示,现在的半导体公司比过去经济低迷时期的条件好很多,应该能够顺利渡过这次灾难,并且将变得更加强大。她分析说,首先,该联盟几十家企业的市值已经大大低于他们资产负债表上的现金。累计起来,排名前20位的半导体公司已经积累了超过了400亿美元的现金储备。其次,有很多发展势头良好的公司2009年仍将保持增长和赢利。他们对135家公司在2009年的经营状况进行了预测,发现只有43家(约占32%)公司将出现亏损。再次,此次下降周期所产生的剩余库存风险要小很多。此外,现在半导体产业服务的终端市场与之前相比越来越多样化。从长期增长来看,有线、无线及消费电子市场仍在增长。而且这些市场在衰退过后,会有巨大的增长潜力。
他们的分析无疑为正处于寒冬之中的半导体产业界寻找到了未来的“春天”。而Gartner目前预计,半导体业将在2010年至2011年间有所反弹,2010年的全球销售额将比2009年增长14.6%,达到2512亿美元;2011年则会比2010年增加9.4%。
跨越冬天
在过去25年间已经经历了5次行业衰退并成功走出的半导体企业,对2009年的发展规划非常清晰。而且,在中国的发展战略方面,他们都把公司自身的发展融入中国总体经济发展战略中。
英特尔公司销售与市场营销事业部副总裁兼中国大区总经理杨叙表示,他们的机遇有二:一是工业化与信息化相融合,二是农村信息化。这是中国经济接下来的两个战略方向,也自然是IT行业新的机遇所在。围绕这两大方向,英特尔有67个合作项目正在进行,涉及的投资额达1.5亿美元。此外,他们要紧抓一系列新的创新机会,包括移动互联网、
高通公司大中华区总裁则表示,两个机会对高通来讲值得期待:一是中国
意法半导体大中国区总经理Bob Krysiak表示,他们把目标锁定在多媒体融合和功率技术应用市场上。通过为“绿色节能电源”提供解决方案,帮助世界降低能耗,减少温室气体排放量。
中国的半导体企业也提出了严冬时期具体的发展策略。大唐微电子技术有限公司总经理赵纶表示,他们的独特优势是具有从集成电路设计到智能卡最终产品生产销售的完整产业链。2009年公司发展有两条主线:一是继续开发新产品,无论有多少困难也要设法筹集资金、集中资源投向重点项目。抓住一切机会使新产品进入市场,争取在市场回暖之际构建新的经济增长点。二是挖掘现有产品市场潜力,尽量延长现有产品寿命,重视中小规模市场。
而于燮康对占国内半导体产业半壁江山的封装行业的发展抱持信心。他表示,首先要相信国家积极的财政政策对扩大内需的刺激作用。其次应该看到居民对电子类产品的需求形态,尤其不能忘记我国9亿农民的内需市场。而国内封装行业的领导企业长电科技在多年的实践中深刻领悟到,只有建成自己一流的研发平台、自主品牌、自我渠道,才能持续科学发展。
而我们相信,在企业和产业界的努力下,我们将迎来生机盎然的春天。
本文来自:http://www.armodm.com 龙人嵌入式产品事业部
|
|
|
|