Working msp430fr5739 and CC3000, when compiling gives the following error linking : Fatal Error[e72]: Segment FRAM_DATA must be defined in a segment definition option (-Z, -b or -P) .
as I can fix it?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Working msp430fr5739 and CC3000, when compiling gives the following error linking : Fatal Error[e72]: Segment FRAM_DATA must be defined in a segment definition option (-Z, -b or -P) .
as I can fix it?
I'm pretty sure you are using the IAR compiler. The TI compiler forum is only for questions about compilers released by TI. I'll move this thread to the MSP430 device forum.
Thanks and regards,
-George
HY BYUNGYUN
ENTER THE WORKSPACE, CLICK WITH RIGHT BUTTON TO SEE THE PROPERTIES, LOWER THE LINK TAB, SEE THE LINK CONFIGURATION FILE , THIS IS THE ADDRESS DEL FILE WHAT NO WORKING, . COPY, MODIFY IT, CHANCE THE ADDRES..
MY FILE ES NOW IS:
//************************************************
//
// XLINK configuration file for MSP430FR5739
//
// Copyright 1996-2014 IAR Systems AB.
//
// See the file 430/doc/licenses/IARSourceLicense.txt for detailed
// license information.
//
// $Revision: 11940 $
//
// ************************************************
// ---------------------------------------------------------
// Description
//
//
// Usage:
//
// xlink [file file ...] -f lnk430fr5739.xcl
//
// -----------------------------------------------
// Device summary
//
//
// Core: MSP430X
//
// Interrupt vectors: 56
//
// Signature memory: 16 Bytes
//
// Peripheral units: 0-00FFF
//
// Information memory (FRAM): 01800-018FF
//
// Read/write memory (RAM): 01C00-01FFF
//
// Persistent memory (FRAM): 0C200-0FFFF
//
// -----------------------------------------------
// Segments
//
// -------------------------------------
// Data read/write segments
//
//
// The following segments are available for both
// the DATA16 and DATA20 segment groups.
//
// segment Usage
// ------- --------------------------
// DATA<nn>_Z Data initialized to zero
// DATA<nn>_I Data initialized by copying from DATA<nn>_ID
// DATA<nn>_N Data defined using __no_init
// DATA<nn>_P Data defined using __persistent
// DATA<nn>_HEAP The heap used by 'malloc' and 'free'
//
// segment Usage
// ------- --------------------------
// CSTACK Runtime stack
// TLS16_I Thread-local storage for main thread
//
// -------------------------------------
// Program and data read-only segments
//
//
// The following segments are available for both
// the DATA16 and DATA20 segment groups.
//
// segment Usage
// ------- --------------------------
// DATA<nn>_C Constant data, including string literals
// DATA<nn>_ID Initializers for DATA<nn>_I
//
// segment Usage
// ------- --------------------------
// INFO Information memory
// INFOA Information memory, bank A
// INFOB Information memory, bank B
// 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
// SIGNATURE Signature memory
// INTVEC Interrupt vectors
// RESET The reset vector
// TLS16_ID Thread-local initializers for main thread
// MPU_B<N> Memory Protection Unit border
//
// Notes:
//
// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
// the DATA16 and TLS16 segment groups must be placed in in the range
// 0000-FFFD.
//
// * 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.
//
// * To use the Memory Protection Unit, the symbol ?mpu1_16k_init should be
// included in the application. The symbol '__iar_430_MPU_base' should be
// defined to the location of the MPU peripheral registers, and the
// registers '__iar_430_MPUSAM_value' and '__iar_430_MPUCTL0_value' to
// the value the registers MPUSAM and MPUCTL0 should be initialized to,
// respectively.
//
// ---------------------------------------------------------
// Configuation
//
// -----------------------------------------------
// Stack and heap sizes
//
// Uncomment for command line use
//-D_STACK_SIZE=160
//-D_DATA16_HEAP_SIZE=160
//-D_DATA20_HEAP_SIZE=80
//-g?mpu1_16k_init
// -----------------------------------------------
// Define cpu
//
-cmsp430
// -----------------------------------------------
// Support for placing functions in read/write memory
//
-QCODE_I=CODE_ID
// -----------------------------------------------
// Support for thread local storage
//
-QTLS16_I=TLS16_ID
// -----------------------------------------------
// Hardware multiplier location
//
-D__iar_HWMUL=4C0
// ---------------------------------------------------------
// Placement directives
//
// -----------------------------------------------
// Information memory
//
-Z(CONST)INFO=1800-18FF
-Z(CONST)INFOA=1880-18FF
-Z(CONST)INFOB=1800-187F
// -----------------------------------------------
// RAM memory
//
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I=1C00-1FFF
-Z(DATA)CODE_I
-Z(DATA)DATA20_I,DATA20_Z,DATA20_N
-Z(DATA)CSTACK+_STACK_SIZE#
// -----------------------------------------------
// FRAM memory
//
-Z(DATA)FRAM_DATA=C200-FF7F
// -------------------------------------
// Read/write data in FRAM
//
-Z(CONST)DATA16_P,DATA20_P=C200-FF7F
-Z(DATA)DATA16_HEAP+_DATA16_HEAP_SIZE,DATA20_HEAP+_DATA20_HEAP_SIZE
// -------------------------------------
// Memory Protection Unit (MPU) border
//
-Z(CONST)MPU_B1
// -------------------------------------
// Constant data
//
-Z(CONST)DATA16_C,DATA16_ID,TLS16_ID,DIFUNCT,CHECKSUM=C200-FF7F
-Z(CONST)DATA20_C,DATA20_ID
// -------------------------------------
// Memory Protection Unit (MPU) border
//
-Z(CONST)MPU_B2
// -------------------------------------
// Code
//
-Z(CODE)CSTART,ISR_CODE,CODE_ID=C200-FF7F
-P(CODE)CODE,CODE16=C200-FF7F
-Z(CODE)CODE_PAD
// -------------------------------------
// Signature memory and interrupt vectors
//
-Z(CONST)SIGNATURE=FF80-FF8F
-Z(CODE)INTVEC=FF90-FFFF
-Z(CODE)RESET=FFFE-FFFF
I modificy write/read data fram.
I hope I helped
JP
**Attention** This is a public forum