• 提示:您的电脑还没有安装阿里旺旺。免费安装阿里旺旺,与百万商人在线谈生意!
  • 关闭
我的推荐
无推荐
我的图片 (共6张)
我的文章
ARM嵌入式系统的ISP设计  (2009/01/07 15:35)

     应用程序的固化是嵌入式产品开发和生产过程中一个重要环节。基于arm嵌入式系统常用的程序固化方法是,用仿真器通过JTAG口将程序烧录到Flash里,在产品的开发阶段,使用仿真器几乎是必然的;然而到了产品的生产阶段,进行应用程序烧录或升级操作的往往是生产线上的工人,他们不易掌握仿真器的使用方法,而且在生产阶段也需要把JTAG调试口封住以防软件被窥视。笔者在使用意法半导体的STR730开发产品的过程中,设计了一种通过串口进行ISPIn 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 RAM0xa0000000Oxa0003fff)和256 KB FlashOx80000000Ox8003ffff)。内置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的固定位置(0x800020000x800020ff)做了一个中断映射表,实际上里面存放的是一条条跳转指令。由于中断映射表INTMap.s和用户应用程序App.c是一同编译、链接的,里面的跳转指令当然可以准确找到实际的中断服务程序入口;而位于扇区O的中断向量Vector.s虽然不和用户应用程序一起编译,但中断向量里的跳转指令是绝对跳转到固定的中断映射表区域。这样通过2次跳转就可以准确找到中断服务程序的入口。

     2.2 ISP执行的步骤

     笔者把起到烧录Flash作用的程序单独作为一个工程编译、链接,生成。bin文件;然后把。bin文件转化成一个unsigned char型的数组,并把该数组放在一个单独的文件Programmet.c中;最后利用Scatter文件把Programmer.o定位在固定的地址空间(0x80001000Ox80001fff,如图2所示)。这样一来,就可以编写汇编程序,把烧录程序Pro—grammer.o拷贝到RAM中,并让PC指针跳转到RAM中执行烧录。由于STR730没有外部Flash,要烧录Flash程序必须在RAM中运行,所以拷贝Programmer.oRAM中是必需的。以下代码摘取自Startup.s. CMP r1#1

    需要说明的是:

    擦除Flash并不是完全擦除,而是擦除扇区0之外的其他扇区;

    数据缓冲区有限,每次只接收指定大小的数据,这样接收和烧录就可以并行进行,提高了ISP的速度;

    为了提高软件的安全性,原始的。bin文件是经过加密的,在烧录前需要将原始数据解密。

   

本文阐述的这种通过串口ISP的方法已经在实际的开发生产过程中使用。实践证明,相比其他烧录Flash的方法有很多优势,比如成本低、硬件连接简单、操作方便、增强软件的安全性等。笔者使用的MCUSTR730,稍做改动也可以把这种ISP方法推广到其他arm体系结构的MCU上去。

本文来自:http://www.armodm.com 龙人嵌入式产品事业部

 

 

基于ARM7架构的处理器  (2008/11/13 10:05)
摘要: ARM公司日前在美国旧金山举行的嵌入式大会上,披露了其最新的ARM7架构的技术细节。新的ARM7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器和低成本应用提供优化。 ARM称,新的基于架构的处理器,将令系统设计者能够选择更合适的C...
摘要: 因为嵌入式应用领域的多样性,每一个系统都具有各自的特点。在进行系统 程序设计的时候,一定要进行具体分析,充分利用这些特点,扬长避短。 结合ARM架构本身的一些特点,在这里讨论几个常见的要点。 嵌入式系统 嵌入式程序开发 arm处理器 1.ARM还是Thumb? 在讨论ARM还是Thumb之前,先说明ARM内核型号和ARM结构体系之 间的区别和联系。 ARM 的结构体...
摘要: x我是一个初学者,最近想买一块开发板,可是现在市面上的ARM9开发板简直是眼花缭乱,不知道应该怎么挑选,请各位有经验的给推荐一款,价位不要太高,最好带LCD的,功能多一些,配套资料多。多谢了! 个人建议:个人买不划算,开发板说起来支队学校学生实验有用。再没有任何用处了。还不如找一个高嵌入式的公司去锻炼,那样才最快。如真的想买我感觉深圳龙人嵌入式事业部研发的arm9系列2410开发板不错,...
ARM7·ARM9·ARM9E·ARM10E  (2008/09/09 11:32)
摘要:   ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。   - ARM7系列   - ARM9系列   - ARM9E系列   - ARM10E系列   其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来...
摘要: 前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-II到arm7。我的这个心得很初级,都是一些很基本的东西。现在拿出来和大家分享,希望对一些初学者有帮助。由于这些东西发paper实在是没有价值,但是我感觉可以作为arm开发的入门。由于我的水平和经验有限,错误也是难免的。但是假如不拿出来和大家分享,就算有错误我也发现不了,是么?呵呵。我现试试发连载的第一篇,看...
摘要: 关于嵌入式系统离线测试——龙人嵌入式开发技术 嵌入式系统离线测试方法有增量测试模型、综合测试方法及互通性测试三种方法,以下龙人计算机嵌入式系统开发工程师就分别为您介绍嵌入式系统离线测试的这三种方法。 增量测试模型   在单板测试完成后,系统集成在一起之后有可能仍不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。例如,数据经过接口可能丢失;...
摘要: 嵌入式系统设计者在选择嵌入式处理器时考虑的主要因素-龙人 嵌入式系统设计者在选择嵌入式处理器时要考虑的主要因素有:   ① 处理性能。一个嵌入式处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。如果是面...
摘要: ARM入门——龙人ARM开发板和ARM开发工具 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。深圳龙人计算机在提供嵌入式系统开发技术的同时提供一些列ARM产品,包括:ARM开发板如ARM9系列的S3C2440开发板、S3C2410开发板,I...
摘要: ARM9系列OMAP850与Xscale系列PXA272的对比—龙人 ARM9 Xscale OMAP850 PXA272 嵌入式开发 龙人计算机嵌入式系统开发中心嵌入式工程师们通过对基于ARM9系列的OMAP850与Xscale系列的PXA272的特点和性能等全方位分析,最后得出以下总结: 1、TI OMAP8...
摘要: 4种嵌入式实时操作系统的介绍——龙人ARM嵌入式开发 由于嵌入式实时操作系统可以支持多任务,使得嵌入式程序开发更加容易,在便于维护的同时还能提高系统的稳定性和可靠性,所以逐步成为嵌入式系统的重要组成部分,对嵌入式操作系统的研究变得尤为重要,VxWorks、μClinux、μC/OS-II和eCos是4种性能优良并被广泛应用的嵌入式实时操作系统。本...
摘要: ARM9微控制器LPC3180 芯片介绍——龙人嵌入式产品 基于 ARM926EJS内核 的LPC3180内部集成了丰富的外设资源,为嵌入式系统构建提供了很大的设计空间。本文 龙人嵌入式开发中心 结合开发 LPC3180嵌入式平台 的实际经验,将具体介绍该系统的实现、结构组成和实验结果。 深圳龙人嵌入式研发中心在为公司提供嵌入式ARM解决方案和OEM/O...
摘要: 基于PIC18F系列单片机的嵌入式系统 开发 设计 文章整理: 深圳龙人嵌入式事业部 (armodmlr)      嵌入式系统 是指以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、体积、成本、可靠性、功耗严格要求的专用计算机系统。嵌入式系统是面向应用的,系统的硬件选型和软件开发模式都必须根据具体的应用确定。 嵌...
摘要: 嵌入式开发板选型的建议 -龙人 ARM开发板 提供商 有不少人对现在嵌入式开发板的价格混乱 很 困惑 。为什么基于同样处理器的开发板, 会有两千元的开发板,也会有上万元的开发板?目前嵌入式行业是怎样一种状况?在这里 龙人计算机 提供一篇关于嵌入式开发板选型的建议的文章,希望能够为大家提供帮助 。 开发板   嵌入式开发板  ARM开发板&...
摘要: 嵌入式工业主板 -ARM工控板-ARM开发板-龙人计算机 嵌入式工业主板   ARM 工业主板   ARM工控板   ARM开发板   ARM9 型号 性能指标 ARM8018(ARM10处理器)(PC104主板) -ARM工控板 ◆WinCE5.0和Linux2.6.x 及驱动程序 ◆520MHz&nbs...
摘要: 嵌入式系统和嵌入式开发的学习如何起步及深入? 文章整理:龙人嵌入式系统开发部(armodmlr) 很多新手学习嵌入式系统,不清楚那么多方向舵知识和参考书,该从哪里开始学习入手了,却又在该先学习什么后学习什么上失去方向。这里有你想要的答案,龙人计算机帮你指点迷经。 这是龙人整理的嵌入式开发学习大纲,作为嵌入式系统开发的学习步骤按部就班地去施行和学习,不失为一种好的学习方法!就...
摘要: STR712开发板-ARM开发板-STR712-龙人嵌入式开发 L-R STR712 开发板是基于 STMicroeletronics 公司 STR712 系列嵌入式处理器 STR712F-R2T6 ( ARM7TDMI )的应用开发系统,面向工业控制等领域。 STR712开发板...
摘要: S3C2440A开发板-三星ARM9开发板-龙人嵌入式系统开发 S3C2440A开发板 ARM9 ARM9开发板 嵌入式系统 嵌入式开发 主要特点:S3C2440A开发板是深圳龙人计算机嵌入式系统开发有限公司开发设计制造的,S3C2440A是工业级工作温度范围,适合于苛刻的场合。S3C2440A主频高达400MHz,最高可达533MHz,...
摘要: ARM教学系统-ARM教学实验系统-龙人嵌入式产品事业部 龙人嵌入式产品事业部提供的ARM教学实验系统主要有: ARM9系列 >> SHARE-2440教学平台 SHARE-2440教学设计系统是专门为学习ARM所开发的ARM嵌入式教学实验平台。此产品以目前最流行的ARM920T CPU S3C2410A 为核心...
摘要: ARM开发板系列-龙人嵌入式产品事业部 ARM开发板 嵌入式开发 STR711开发板 STR712开发板 ARM9 龙人嵌入式产品事业部提供的ARM开发板主要有: For ST 芯片系列: STR711开发板 STR712开发板 STR730开发板 STR750开发板 STR912开发板 S...
无显示 无显示
博主信息
龙人嵌入式产品事业部专业提供ARM开发板(ARM9和ARM7),ARM教学系统,ARM工控模块,DSP开发工具,仿真器等产品,另外龙人还提供ODM研发和嵌入式开发。
加为好友
打个招呼
定制此作者文章
我的商铺
  • 访问量:1025
  • 文章数:21
  • 评论数:8
RSS订阅
订阅博主的博客: 不知道如何订阅?
个人资料
最新博文
最新评论
最近访客
我的文章分类
日历
<<    2009年07月    >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
好友列表
最近更新博客
友情链接
编辑推荐
创建信息
阿里创建号:ALI-001891611
创建日期:
2008-02-23 15:15:16
修改日期:
2009-01-07 15:35:40
版权所有,未经作者许可,不得抄袭或转载,如有需要,可以与本人联系。