/*******************************************************************************
* Copyright (c) 2015 ARM Ltd. and others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* ARM Ltd and ARM Germany GmbH - Initial API and implementation
*******************************************************************************/
package com.arm.cmsis.pack.build.settings;
import org.eclipse.core.runtime.CoreException;
import com.arm.cmsis.pack.build.IMemorySettings;
/**
* Interface responsible for generating linker script/scatter file
*/
public interface ILinkerScriptGenerator {
/**
* Generates linker script (scatter file) content
* @param memorySettings memory settings as input for generator
* @return string representing content of linker script/ scatter file or null if an error is occurred
*/
String generate(IMemorySettings memorySettings) throws CoreException;
/**
* Returns file extension that should be used by linker script file<br>
* Usually they are <code>"ld"</code> for linker script and <code>"sct"</code> for scatter file
* @return file extension
*/
String getFileExtension();
}