用IAR如何把程序下载到430单片机指定存储单元中

发布者:Blissful567最新更新时间:2016-08-25 来源: eefocus关键字:IAR  程序下载  430单片机  存储单元 手机看文章 扫描二维码
随时随地手机看文章
今天终于搞出来了,在网上查了半天也没有查出来怎么搞,其实很简单,只需修改一下工程中的lnk430G2553.xcl文件就ok了。

具体的lnk430G2553.xcl文件内容见下面,里面定义了430单片机Flash中不同区域物理地址范围。

// ************************************************
//
// XLINK configuration file for MSP430G2553
//
// Copyright 1996-2010 IAR Systems AB
//
// $Revision: $
//
// ************************************************

// ---------------------------------------------------------
// Description
//

//
// Usage:
//
//   xlink [file file ...] -f lnk430g2553.xcl
//
// -----------------------------------------------
// Device summary
//

//
// Core:                           MSP430
//
// Interrupt vectors:              16
//
// Peripheral units:                  0-01FF
//
// Information memory (FLASH):     1000-10FF
//
// Read/write memory (RAM):        0200-03FF
//
// Read-only memory (FLASH):       C000-FFFF
//


// -----------------------------------------------
// Segments
//

// -------------------------------------
// Data read/write segments (RAM)
//

//
// segment         Usage
// -------         --------------------------
// DATA16_Z        Data initialized to zero
// DATA16_I        Data initialized by copying from DATA16_ID
// DATA16_N        Data defined using __no_init
// DATA16_HEAP     The heap used by 'malloc' and 'free'
// CSTACK          Runtime stack
// TLS16_I         Thread-local storage for main thread
//                 (require custom runtime library)
//


// -------------------------------------
// Program and data read-only segments (FLASH)
//

//
// segment         Usage
// -------         --------------------------
// DATA16_C        Constant data, including string literals
// DATA16_ID       initializers for DATA_I
// INFO            Information memory
// INFOA           Information memory, bank A
// INFOB           Information memory, bank B
// INFOC           Information memory, bank C
// INFOD           Information memory, bank D
// CSTART          Program startup code
// CODE            Program code
// ISR_CODE        Program code for interrupt service routines
// DIFUNCT         Dynamic initialization vector used by C++
// CHECKSUM        Checksum byte(s) generated by the -J option
// INTVEC          Interrupt vectors
// RESET           The reset vector
// TLS16_ID        Thread-local initializers for main thread
//                 (require custom runtime library)
//
// Notes:
//
// * The INFOx and INFO segments overlap, this allows data either to be
//   placed in a specific bank or anywhere in the info memory.
//
// * The INTVEC and RESET segments overlap. This allows an application to
//   either use the reset vector provided by the runtime library, or
//   provide a reset function by defining an interrupt function associated
//   with the reset vector.
//


// ---------------------------------------------------------
// Configuation
//

// -----------------------------------------------
// Stack and heap sizes
//

// Uncomment for command line use
//-D_STACK_SIZE=80
//-D_DATA16_HEAP_SIZE=80


// -----------------------------------------------
// Define cpu
//

-cmsp430


// -----------------------------------------------
// Support for placing functions in read/write memory
//

-QCODE_I=CODE_ID


// ---------------------------------------------------------
// Placement directives
//

// -----------------------------------------------
// Read/write memory
//

-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I,DATA16_HEAP+_DATA16_HEAP_SIZE=0200-03FF
-Z(DATA)CODE_I
-Z(DATA)CSTACK+_STACK_SIZE#


// -----------------------------------------------
// Read-only memory
//

// -------------------------------------
// Information memory
//

-Z(CONST)INFO=1000-10FF
-Z(CONST)INFOA=10C0-10FF
-Z(CONST)INFOB=1080-10BF
-Z(CONST)INFOC=1040-107F
-Z(CONST)INFOD=1000-103F

 

// -------------------------------------
// Constant data
//

-Z(CONST)DATA16_C,DATA16_ID,TLS16_ID,DIFUNCT,CHECKSUM=C000-FFDF


// -------------------------------------
// Code
//

-Z(CODE)CSTART,ISR_CODE,CODE_ID=C000-FFDF
-P(CODE)CODE=C000-FFDF

//比如现在想把程序下载到0xd000开始的位置处,只需把上面两条语句替换为

//-Z(CODE)CSTART,ISR_CODE,CODE_ID=D000-FFDF
//-P(CODE)CODE=D000-FFDF
// -------------------------------------
// Interrupt vectors
//

-Z(CODE)INTVEC=FFE0-FFFF
-Z(CODE)RESET=FFFE-FFFF

关键字:IAR  程序下载  430单片机  存储单元 引用地址:用IAR如何把程序下载到430单片机指定存储单元中

上一篇:430单片机中Memory类型
下一篇:几种单片机的中断函数写法

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

关于MSP430单片机串口通信丢失数据
研究摸索了接近一个星期,把所遇到的问题写出来以供参考。 最开始看一个官方的串口收发数据的示例,然后自己操作后收发数据老是会丢失一个数据,然后看User’s Guide,取消了函数收发的方法直接用寄存器操作,问题解决。 接下来写一个组帧协议,收发完全正常。但是看上去非常的杂乱就想美化一下,就开始写函数,进行函数调用。好了,这下问题又来了,数据又会丢失。 接近一个星期的思前想后,发现不是自己写的代码有问题,是官方示例的波特率配置问题。大家都知道波特率表示每秒钟传送的码元符号的个数,是衡量数据传输速率的指标,它用单位时间内载波调制状态改变的次数来表示。晶振为1MHz波特率为15200,我自己改成了9600,问题解决。如何配置
[单片机]
iar for stm8初学总结
由于最近要用到stm8,所以这几天就开始学习stm8,但发现网上资料太少,所以在这里我就把一些对stm8的疑惑解答后的知识整理了一下,也算是做了一个小总结 对于开发环境,有ST TOOLSET 、 COSMIC 和IAR 这三个常用的,因为我用过IAR开发stm32,所以IAR是我的首选,虽然网上很多人说IAR for STM8代码的优化不如COSMIC。 看了一下开发环境的配置,不是很复杂,我把这三个工具的配置方法发上来供初学者下载查看: http://download.csdn.net/detail/hzt12345hf/7666017 说一下IAR使用的注意事项,基本的配置环境就不说了, iar和cosmic所使用的
[单片机]
STM32学习笔记:在IAR中建立FWlib 3.0项目
开发工具:JLink V7.0 开发环境:IAR5.3 第一步:下载函数库 从ST官方网站(http://www.st.com/stonline/products/support/micro/files/um0427.zip)下载STM32 V3.0固件函数库。 第二步:复制库文件 将下载的软硬件函数库解压后,将目录中的【Libraries】目录拷贝到您的项目目录中,然后【Project】目录下的【Template】目录下的main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h四个文件拷贝到您的目录下,然后将【Project】 【Template】 【EWARMv5】目录下
[单片机]
STM32学习笔记:在<font color='red'>IAR</font>中建立FWlib 3.0项目
eil MDK 和 IAR 两款ARM开发工具区别比较
一、概述 Keil MDK-ARM(旧称RealView MDK)开发工具源自德国Keil公司,被全球上百万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。 KEIL MDK集成了业内最领先的技术,包括uVision3、uVision4、uVision5集成开发环境与ARM编译器。支持ARM7、ARM9、Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4、Cortex-R4内核核处理器。 Keil MDK可以自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,ARM编译器
[单片机]
基于MSP430单片机驱动NRF24L01无线模块发送C语言程序
MCU:MSP430F16X系列,RF无线模块:NRF24L01,液晶显示:ST7920串行控制128*64液晶,发送数据是把4X4矩阵键盘对应的键值发送出去。IRQ是采用中断查询法,具体的可以参考下面代码: //p4口为液晶屏 //p1口中断 //nRF24L01无线通信 //p5.0 csn //p5.1 mosi //p5.3 sck //p5.2 miso //p1.2 irq //p5.7 ce //ST7920串行控制128*64液晶 //rst p4.3 复位 //rs p4.0 片选 //rw p4.1 数据 //E p4.2 时钟 #include msp430x16x.h #include s
[单片机]
基于MSP430单片机实现ARINC429总线通讯设计
  0 引言   ARINC429航空通讯总线是一种常用的惯导系统通讯总线。由于该总线的功能相对独立,航空电子系统逐步走向综合,各子系统之间的数据通讯变得更加频繁。因此,研制一种基于ARINC429总线标准多种导航检测信号的手持设备,就可以为雷达导航测试人员提供很多方便。   1 ARINC429总线简介   ARINC429总线标准又称为Mark33数字信息传输系统,由美国航空无线电公司(ARINC)颁布实施。我国在航空电子设备(诸如GPS、惯导系统、电子飞行仪表)中也大量采用了ARINC429规范与外设进行通讯。此总线允许一个发送器和最多20个接收器进行一对单向、差分耦合、双绞屏蔽线信号传输。该标准的数据字分25 bit
[单片机]
关于在Bootloader模式下的应用程序下载
1.引言 STM32 MCU 在 bootloader 模式下,可以通过多种可用外设(USART、CAN、USB、I2C、SPI等)将程序下载到内部存储器中,详细内容可参考应用笔记 AN2606《STM32 microcontroller system memory boot mode》。本文档主要介绍利用 STLINK-V3SET 调试/编程工具的 I2C 接口将程序下载到 SDRAM 中并执行的方法。 2.问题描述 问题源自客户的实际需求,希望通过 I2C 接口将程序下载到 SRAM 中执行,进行芯片功能性测试。 3.问题分析与定位 关于在 Bootloader 模式下的应用程序下载,有多篇 LAT 可参考。例如《如何使用
[单片机]
关于在Bootloader模式下的应用<font color='red'>程序</font><font color='red'>下载</font>
MSP430单片机综合实例
/*转自本人新浪博中的记录,时间:2010-09-26 16:28:06 最近学了一段时间的msp430单片机,感觉这款低功耗的单片机很有意思,虽然还没有彻底弄明白它的具体操作,但是一些简单的程序已经能够实现了,下面是我写的一个MSP430比较综合一点的程序,和大家分享一下; 主程序: #include msp430x24x.h #include liushui.h #include juzhen.h #define uchar unsigned char #define uint unsigned int #define rs_0 P6OUT&=~BIT4; #define rs_1 P6OUT|=BIT4; #defi
[单片机]
MSP<font color='red'>430单片机</font>综合实例
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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