基于ARM嵌入式系统的ISP设计

[11-20 15:54:32]   来源:http://www.88dzw.com  arm嵌入式   阅读:8252

文章摘要: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中是必需的

基于ARM嵌入式系统的ISP设计,标签:arm嵌入式系统,arm系统,http://www.88dzw.com


  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


  烧录程序Programmet的软件流程如图4所示。


  需要说明的是:

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

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

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

  结 语

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



  

上一页  [1] [2] 


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式
分类导航
最新更新
热门排行