新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MSP430单片机串口的程序升级方法

MSP430单片机串口的程序升级方法

作者:时间:2011-11-02来源:网络收藏


2 相关知识
2.1 IAR设置
常用的软件开发环境是IAR C/C++Compiler for 。用仿真器进行烧写以及仿真调试时,在Options→Linker→ Output→Format选项中选择的是“Debug information for C-SPY”,但如果要得到该文本格式的代码文件,需要选择Format中的Other选项。
2.2 代码文件格式
下面是一个生成的txt文件的内容:
b.jpg
@后面的6C00表示起始地址,接下来的内容需要依次写入6C00开始的地址中。@FCFF表示的复位入口地址,上电或者复位后,程序从这里开始运行。最末行q表示结束。
2.3 xcl文件
上面生成的txt文件中的代码存放地址、复位入口地址以及中断入口地址都可以通过配置文件进行修改,这个文件就是xcl文件。该文件在安装目录的IAR Systems\Embedded Workbench 5.4 Evaluation\430\config中,本文所使用的对应的配置文件是lnk430F543 8.xcl,将其复制到自己创建的工程中以便修改。在编译器的Options→Linker→Config→Linker command file选项中指定这个配置文件。
下面是xcl文件中的部分内容:
c.jpg
上面的配置信息含义是代码(Code)和数据常量(Constant data)放在5C00~FF7F和10000~45BFF两个空间中。中断向量的地址是FF80~FFFF,其中复位向量的地址是FFFE~FFFF。
2.4 Bootloader程序和用户应用程序的关系
地址空间分配如图3所示。图3左面是F5438的空间分配。在正常的使用中,用户代码占用5C00~FF7F、10000~45BFF两块区域,中断向量为FF80~FFFF。但含有Bootloader的程序,就与之有所区别了。即Bootloader程序占用了一部分代码区,同时占有中断向量FF80~FFFF。而用户需要重新编写一个中断向量表,以及相应的入口地址。图3右面是Bootloader程序和用户程序以及自定义的中断向量在Flash中的位置。关于空间位置以及空间大小可以根据实际情况进行调整。

本文引用地址:http://www.eepw.com.cn/article/172436.htm

d.jpg


从图中可以看出,在代码空间中存在着两个独立的程序:Bootloader程序和用户程序。Bootloader完成的功能是在复位时通过上位机更新用户程序或者调用已经存在的用户程序。在这里最为关键的是中断向量FF80~FFFF是归Bootloader程序所有的,当有中断发生时,程序首先进入FF80~FFFF空间的地址中(也就是Bootloader的程序中),接着再由Bootloader的中断程序跳转到相对应的用户中断程序中。



评论


相关推荐

技术专区

关闭