MSP430升级程序

发布者:星尘散落最新更新时间:2018-05-03 来源: eefocus关键字:MSP430  升级程序 手机看文章 扫描二维码
随时随地手机看文章

MSP430升级程序的几点注意事项

1、这几天测试写好的IAP升级程序,真是一个糟,能将程序下载进去,但无法运行。


经过各种测试,修改终于找到了问题的原因,现在大致总结下我在写IAP程序的时候

遇到的问题和解决方案。首先要实现单片机的IAP升级程序,我们要知道自己的IDE如何能

将程序的函数或者变量的编译地址固定,因为对于bootload程序,我们要固定它的地址,

还有从bootload跳转到的程序运行的地址。

  对于MSP430,在测试中我程序复位时跳转到rts430x.lib:boot.obj (.text:_isr:

_c_int00_noexit)这样一个启动函数,之后执行_syatem_pre_int->_auto_init->main,

在_auto_init过程中,程序会执行memcpy函数(将.cinit段赋值到RAM里),就是初始化RAM中的全局变量了。我的程序主要错在这个过程里,导致更新后问题不断,还有对于.cinit段和.const段,我们也要固定地址,因为memcpy函数初始化ram的地址被固定了,且bootload是不能更新的,所以固定.cinit段后,我们memcopy操作地址就固定,不然当程序变化重新编译后可能就会事.cinit段的地址发生变化,导致ram初始化错误。


这样修改后,程序大致就能自升级了,程序只升级运行部分的程序,对bootload程序不升级。


2、_c_int00 是c语言程序的入口.首先上电后,系统执行reset矢量代码,该代码是我们写的话,我们就令cpu转到c_int00,这段程序为c语言运行作准备,准备工作做好后,就转到c语言的main()。

如果reset矢量代码不是我们写的,是ti写的,那么就执行bootloader程序,该程序先将从某个外部得到的真正程序放在规定的地方,然后转过去执行该代码。

那么如何决定reset矢量代码是ti写的还是我们写的,那就看复位后mp/mc脚的电平。
要是调试的时候我们的mp/mc脚选择了我们不希望的方式,怎么办?(在调试的时候一般不管bootloader的,只有项目最后成功了才管),用jtag来控制。

C程序开始运行时,必须首先初始化C运行环境,这是通过c_int0函数完成的,这个函数在运行支持库(rts,runtime-support library)中。连接器会将这个函数的入口地址放置在复位中断向量处,使其可以在初始化时被调用。c_int0函数进行以下工作以建立C运行环境:为系统堆栈产生.stack块,并初始化堆栈指针。从.cinit块将初始化数据拷贝到.bss块中相应的变量。调用main函数,开始运行C程序。用户可以对c_int0函数进行修改,但修改后的函数必须完成以上任务。


关键字:MSP430  升级程序 引用地址:MSP430升级程序

上一篇:msp430程序升级方法
下一篇:MSP430随机数产生器

推荐阅读最新更新时间:2024-03-16 16:01

MSP430F149 TIMER_A(二)——比较模式
MSP430F149的TIMER_A的比较模式主要用来做PWM发生器,可产生两路独立的PWM波形(TA1,TA2)。只要管脚第二功能为TA1或TA2都可配置成输出。我看了下datasheet,用增计数配合PWM方式6(即toggle/set)比较简单和灵活,可以做到周期和占空比可变,能满足日常应用。在这种配置下,PWM周期即CCR0,占空比(用时间表示)即CCR1或CCR2的值。 由上图可知,在模式6中,当TAR中的值等于TACCR1中的值时,输出管脚会变为低电平,当TAR的值记到TACCR0时,输出管脚又变为高电平,而中断只在记数到CCR0时发生,且中断标志为TAIFG。注意改变占空比的间隔最好稍微长点,波形比
[单片机]
基于CAN总线和MSP430的CO红外检测系统设计
   1 引言   一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。   目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围
[工业控制]
msp430系统时钟概述
MSP430内部分为三种时钟MCLK(系统主时钟)、ACLK(辅助时钟)和SMCLK(子系统时钟),可以根据使用的外设不同及实际情况适当选择和调节时钟的频率。在降低功耗上,可以尽可能地使频率降低,分频后再给外设。 1:对于MSP430F4XX序列来说,它有3个可用的时钟来源,XT1(低速),XT2(高速),DCO. 2:由上面3个时钟源,可以构成4个时钟信号。 ACLK/N,ACLK,SMCLK,MCLK,其中ACLK/N专门输出给别的IC用,430本身只用后面3个时钟信号。 ACLK只能由XT1(低速)提供 SMCLK可以由DCO和XT2(高速)提供, MCLK可以由XT1(低速),XT2(
[单片机]
模数转换器ADS112C04
#define ADD_ADS112C04_write 0x80 #define ADD_ADS112C04_read 0x81 #define START 0x08 #define POWERDOWN 0x02 #define RDATA 0x10 #define RESET 0x06 #define WREG_0 0x40 #define WREG_1 0x44 #define WREG_2 0x48 #define WREG_3 0x4c #define RREG_0 0x20 #define RREG_1 0x24 #define RREG_2 0x28 #define RREG_3 0x2c
[单片机]
MSP430:MCLK、SMCLK、ACLK默认时钟频率
一、MCLK、SMCLK、ACLK默认时钟频率 1.1 POR与PUC POR指Power-On Reset,即上电复位(硬件),PUC指Power-Up Clear,即上电清除(软件复位),这是MSP430两种分离的复位信号。POR总会引起PUC,关于POR与PUC的触发条件见用户指南,如下: 图1 POR与PUC触发条件 1.2 默认时钟频率 有两种方法(甚至更多)可以得知MCLK、SMCLK、ACLK默认的时钟频率。 (1)通过用户指南描述 查阅用户指南可得到系统复位后,时钟信号MCLK、SMCLK、ACLK的时钟源分别是DCOCLK(数控震荡器)、DCOCLK、LFXT1CLK(低速晶体震荡器)。如下
[单片机]
<font color='red'>MSP430</font>:MCLK、SMCLK、ACLK默认时钟频率
MSP430F设计的超低功耗电子温度计方案
   1 元器件选择   本系统的温度传感器可选用热敏电阻。在10~30℃的测量范围内,该器件的阻值随温度变化比较大,电路简单,功耗低,安装尺寸小,同时其价格也很低,但其热敏电阻精度、重复性、可靠性相对稍差,因此,这种传感器对于检测在1℃以下,特别是分辨率要求更高的温度信号不太适用。   显示部分可以采用笔段式LCD液晶显示。特别是黑白笔段式液晶显示器的功耗极低,美观适中,价格低廉,而且驱动芯片可选择性强。为此,本设计选用了技术成熟、功耗较低、性能稳定、价格低廉的通用性LCD驱动器HT1621。   作为整个系统的核心部件,单片机的选择至关重要。通过比较多家单片机芯片,最终选定了TI公司的MSP430系列控制器,该系列控制器
[单片机]
<font color='red'>MSP430</font>F设计的超低功耗电子温度计方案
基于MSP430F149单片机的实时多任务操作系统
1 RTOS的基本概念 实时多任务操作系统(RTOS-Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系 统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,重要特点是要满足对时间的限制和要求。 实时操作系统中的任务(Task)有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),休眠(Dormant)。 运行:获得CPU控制权。 就绪:进入任务等待队列。通过调度转为运行状态。 挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒。从而转为就
[单片机]
TMP275在手持式实时测温仪中的应用
  摘要:设计一种基于TMP275的手持实时测温仪,采用TI公司的低功耗单片机 MSP430F149作为主控芯片,该系统采用I2C总线协议数字温度传感器TMP275对现场温度进行采集,通过低功耗液晶模块进行实时温度显示,该系统具有采集数据准确、抗干扰能力强、功耗低的特点,非常适合于对现场环境温度进行测量与采集。   0 引言   在工业生产、日常生活的很多领域,经常要在现场对温度进行实时的采集、测量与记录,手持式实时测温仪是理想的选择。对于手持设备,功耗是必须要考虑的问题。 MSP430F149单片机是TI推出的一种具有超低功耗16位FLASH单片机,特别适合于对功耗敏感的场合。利用MSP-430F149单片机,可以简便快捷地
[单片机]
TMP275在手持式实时测温仪中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved