mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #152 from 0xc0170/dev_coide_libraries_fix
Exporters CoIDE (added KL05Z, LPC1768), fixed issue with c++ librariespull/159/merge
commit
dc331e6714
|
@ -41,7 +41,7 @@ static const PinMap PinMap_ADC[] = {
|
||||||
|
|
||||||
void analogin_init(analogin_t *obj, PinName pin) {
|
void analogin_init(analogin_t *obj, PinName pin) {
|
||||||
obj->adc = (ADCName)pinmap_peripheral(pin, PinMap_ADC);
|
obj->adc = (ADCName)pinmap_peripheral(pin, PinMap_ADC);
|
||||||
if (obj->adc == (uint32_t)NC) {
|
if (obj->adc == (ADCName)NC) {
|
||||||
error("ADC pin mapping failed");
|
error("ADC pin mapping failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ static const PinMap PinMap_DAC[] = {
|
||||||
|
|
||||||
void analogout_init(dac_t *obj, PinName pin) {
|
void analogout_init(dac_t *obj, PinName pin) {
|
||||||
obj->dac = (DACName)pinmap_peripheral(pin, PinMap_DAC);
|
obj->dac = (DACName)pinmap_peripheral(pin, PinMap_DAC);
|
||||||
if (obj->dac == (uint32_t)NC) {
|
if (obj->dac == (DACName)NC) {
|
||||||
error("DAC pin mapping failed");
|
error("DAC pin mapping failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ uint32_t gpio_set(PinName pin) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void gpio_init(gpio_t *obj, PinName pin, PinDirection direction) {
|
void gpio_init(gpio_t *obj, PinName pin, PinDirection direction) {
|
||||||
if (pin == (uint32_t)NC) {
|
if (pin == (PinName)NC) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -197,7 +197,9 @@ void i2c_frequency(i2c_t *obj, int hz) {
|
||||||
for (i = 1; i < 5; i*=2) {
|
for (i = 1; i < 5; i*=2) {
|
||||||
for (j = 0; j < 0x40; j++) {
|
for (j = 0; j < 0x40; j++) {
|
||||||
ref = PCLK / (i*ICR[j]);
|
ref = PCLK / (i*ICR[j]);
|
||||||
error = (ref > hz) ? ref - hz : hz - ref;
|
if (ref > (uint32_t)hz)
|
||||||
|
continue;
|
||||||
|
error = hz - ref;
|
||||||
if (error < p_error) {
|
if (error < p_error) {
|
||||||
icr = j;
|
icr = j;
|
||||||
mult = i/2;
|
mult = i/2;
|
||||||
|
@ -371,7 +373,7 @@ int i2c_slave_read(i2c_t *obj, char *data, int length) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int i2c_slave_write(i2c_t *obj, const char *data, int length) {
|
int i2c_slave_write(i2c_t *obj, const char *data, int length) {
|
||||||
uint32_t i, count = 0;
|
int32_t i, count = 0;
|
||||||
|
|
||||||
// set tx mode
|
// set tx mode
|
||||||
obj->i2c->C1 |= I2C_C1_TX_MASK;
|
obj->i2c->C1 |= I2C_C1_TX_MASK;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
|
|
||||||
void pin_function(PinName pin, int function) {
|
void pin_function(PinName pin, int function) {
|
||||||
if (pin == (uint32_t)NC) {
|
if (pin == (PinName)NC) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ void pin_function(PinName pin, int function) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void pin_mode(PinName pin, PinMode mode) {
|
void pin_mode(PinName pin, PinMode mode) {
|
||||||
if (pin == (uint32_t)NC) {
|
if (pin == (PinName)NC) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ static const PinMap PinMap_PWM[] = {
|
||||||
void pwmout_init(pwmout_t* obj, PinName pin) {
|
void pwmout_init(pwmout_t* obj, PinName pin) {
|
||||||
// determine the channel
|
// determine the channel
|
||||||
PWMName pwm = (PWMName)pinmap_peripheral(pin, PinMap_PWM);
|
PWMName pwm = (PWMName)pinmap_peripheral(pin, PinMap_PWM);
|
||||||
if (pwm == (uint32_t)NC) {
|
if (pwm == (PWMName)NC) {
|
||||||
error("PwmOut pin mapping failed");
|
error("PwmOut pin mapping failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,9 @@ void spi_frequency(spi_t *obj, int hz) {
|
||||||
divisor = 2;
|
divisor = 2;
|
||||||
for (spr = 0; spr <= 8; spr++) {
|
for (spr = 0; spr <= 8; spr++) {
|
||||||
ref = PCLK / (prescaler*divisor);
|
ref = PCLK / (prescaler*divisor);
|
||||||
error = (ref > hz) ? ref - hz : hz - ref;
|
if (ref > (uint32_t)hz)
|
||||||
|
continue;
|
||||||
|
error = hz - ref;
|
||||||
if (error < p_error) {
|
if (error < p_error) {
|
||||||
ref_spr = spr;
|
ref_spr = spr;
|
||||||
ref_prescaler = prescaler - 1;
|
ref_prescaler = prescaler - 1;
|
||||||
|
|
|
@ -26,7 +26,7 @@ class CoIDE(Exporter):
|
||||||
'cpp_sources':'1',
|
'cpp_sources':'1',
|
||||||
's_sources':'1'
|
's_sources':'1'
|
||||||
}
|
}
|
||||||
TARGETS = ['KL25Z']
|
TARGETS = ['KL25Z','KL05Z']
|
||||||
TOOLCHAIN = 'GCC_ARM'
|
TOOLCHAIN = 'GCC_ARM'
|
||||||
|
|
||||||
def generate(self):
|
def generate(self):
|
||||||
|
@ -48,6 +48,7 @@ class CoIDE(Exporter):
|
||||||
'source_files': source_files,
|
'source_files': source_files,
|
||||||
'include_paths': self.resources.inc_dirs,
|
'include_paths': self.resources.inc_dirs,
|
||||||
'scatter_file': self.resources.linker_script,
|
'scatter_file': self.resources.linker_script,
|
||||||
|
'library_paths': self.resources.lib_dirs,
|
||||||
'object_files': self.resources.objects,
|
'object_files': self.resources.objects,
|
||||||
'libraries': libraries,
|
'libraries': libraries,
|
||||||
'symbols': self.toolchain.get_symbols()
|
'symbols': self.toolchain.get_symbols()
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<Project version="2G - 1.7.5" name="{{name}}">
|
||||||
|
<Target name="{{name}}" isCurrent="1">
|
||||||
|
<Device manufacturerId="4" manufacturerName="Freescale" chipId="49" chipName="MKL05Z32VFM4" boardId="" boardName=""/>
|
||||||
|
<BuildOption>
|
||||||
|
<Compile>
|
||||||
|
<Option name="OptimizationLevel" value="4"/>
|
||||||
|
<Option name="UseFPU" value="0"/>
|
||||||
|
<Option name="UserEditCompiler" value="-fno-common; -fmessage-length=0; -Wall; -fno-strict-aliasing; -fno-rtti; -fno-exceptions; -ffunction-sections; -fdata-sections; -std=gnu++98"/>
|
||||||
|
<Includepaths>
|
||||||
|
{% for path in include_paths %} <Includepath path="{{path}}"/> {% endfor %}
|
||||||
|
</Includepaths>
|
||||||
|
<DefinedSymbols>
|
||||||
|
{% for s in symbols %} <Define name="{{s}}"/> {% endfor %}
|
||||||
|
</DefinedSymbols>
|
||||||
|
</Compile>
|
||||||
|
<Link useDefault="0">
|
||||||
|
<Option name="DiscardUnusedSection" value="0"/>
|
||||||
|
<Option name="UserEditLinkder" value=""/>
|
||||||
|
<Option name="UseMemoryLayout" value="0"/>
|
||||||
|
<Option name="LTO" value="0"/>
|
||||||
|
<Option name="IsNewStartupCode" value="1"/>
|
||||||
|
<Option name="Library" value="Not use C Library"/>
|
||||||
|
<Option name="nostartfiles" value="0"/>
|
||||||
|
<Option name="UserEditLinker" value="--specs=nano.specs; -u _printf_float; -u _scanf_float; {% for file in object_files %}
|
||||||
|
${project.path}/{{file}}; {% endfor %} {% for p in library_paths %}-L${project.path}/{{p}}; {% endfor %}"/>
|
||||||
|
<LinkedLibraries>
|
||||||
|
{% for lib in libraries %}
|
||||||
|
<Libset dir="" libs="{{lib}}"/>
|
||||||
|
{% endfor %}
|
||||||
|
<Libset dir="" libs="stdc++"/>
|
||||||
|
<Libset dir="" libs="supc++"/>
|
||||||
|
<Libset dir="" libs="m"/>
|
||||||
|
<Libset dir="" libs="gcc"/>
|
||||||
|
<Libset dir="" libs="c"/>
|
||||||
|
<Libset dir="" libs="nosys"/>
|
||||||
|
</LinkedLibraries>
|
||||||
|
<MemoryAreas debugInFlashNotRAM="1">
|
||||||
|
<Memory name="IROM1" type="ReadOnly" size="0x00020000" startValue="0x00000000"/>
|
||||||
|
<Memory name="IRAM1" type="ReadWrite" size="0x00001000" startValue="0x1FFFF000"/>
|
||||||
|
<Memory name="IROM2" type="ReadOnly" size="" startValue=""/>
|
||||||
|
<Memory name="IRAM2" type="ReadWrite" size="" startValue=""/>
|
||||||
|
</MemoryAreas>
|
||||||
|
<LocateLinkFile path="{{scatter_file}}" type="0"/>
|
||||||
|
</Link>
|
||||||
|
<Output>
|
||||||
|
<Option name="OutputFileType" value="0"/>
|
||||||
|
<Option name="Path" value="./"/>
|
||||||
|
<Option name="Name" value="{{name}}"/>
|
||||||
|
<Option name="HEX" value="1"/>
|
||||||
|
<Option name="BIN" value="1"/>
|
||||||
|
</Output>
|
||||||
|
<User>
|
||||||
|
<UserRun name="Run#1" type="Before" checked="0" value=""/>
|
||||||
|
<UserRun name="Run#1" type="After" checked="0" value=""/>
|
||||||
|
</User>
|
||||||
|
</BuildOption>
|
||||||
|
<DebugOption>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.adapter" value="CMSIS-DAP"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.debugMode" value="SWD"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.clockDiv" value="1M"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.corerunToMain" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.jlinkgdbserver" value=""/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.userDefineGDBScript" value=""/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.targetEndianess" value="0"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.jlinkResetMode" value="Type 0: Normal"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.resetMode" value="SYSRESETREQ"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ifSemihost" value="0"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ifCacheRom" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ipAddress" value="127.0.0.1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.portNumber" value="2009"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.autoDownload" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.verify" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.downloadFuction" value="Erase Effected"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.defaultAlgorithm" value="KLxx_32_PRG_NO_CFG.elf"/>
|
||||||
|
</DebugOption>
|
||||||
|
<ExcludeFile/>
|
||||||
|
</Target>
|
||||||
|
<Components path="./"/>
|
||||||
|
<Files>
|
||||||
|
{% for file in source_files %}
|
||||||
|
<File name="{{file.name}}" path="{{file.path}}" type="{{file.type}}"/>
|
||||||
|
{% endfor %}
|
||||||
|
</Files>
|
||||||
|
</Project>
|
|
@ -23,8 +23,18 @@
|
||||||
<Option name="Library" value="Not use C Library"/>
|
<Option name="Library" value="Not use C Library"/>
|
||||||
<Option name="nostartfiles" value="0"/>
|
<Option name="nostartfiles" value="0"/>
|
||||||
<Option name="UserEditLinker" value="--specs=nano.specs; -u _printf_float; -u _scanf_float; {% for file in object_files %}
|
<Option name="UserEditLinker" value="--specs=nano.specs; -u _printf_float; -u _scanf_float; {% for file in object_files %}
|
||||||
${project.path}/{{file}}; {% endfor %} {% for lib in libraries %} -l{{lib}}; {% endfor %} -lstdc++; -lsupc++; -lm; -lc; -lgcc; -lnosys;"/>
|
${project.path}/{{file}}; {% endfor %} {% for p in library_paths %}-L${project.path}/{{p}}; {% endfor %}"/>
|
||||||
<LinkedLibraries/>
|
<LinkedLibraries>
|
||||||
|
{% for lib in libraries %}
|
||||||
|
<Libset dir="" libs="{{lib}}"/>
|
||||||
|
{% endfor %}
|
||||||
|
<Libset dir="" libs="stdc++"/>
|
||||||
|
<Libset dir="" libs="supc++"/>
|
||||||
|
<Libset dir="" libs="m"/>
|
||||||
|
<Libset dir="" libs="gcc"/>
|
||||||
|
<Libset dir="" libs="c"/>
|
||||||
|
<Libset dir="" libs="nosys"/>
|
||||||
|
</LinkedLibraries>
|
||||||
<MemoryAreas debugInFlashNotRAM="1">
|
<MemoryAreas debugInFlashNotRAM="1">
|
||||||
<Memory name="IROM1" type="ReadOnly" size="0x00020000" startValue="0x00000000"/>
|
<Memory name="IROM1" type="ReadOnly" size="0x00020000" startValue="0x00000000"/>
|
||||||
<Memory name="IRAM1" type="ReadWrite" size="0x00001000" startValue="0x1FFFF000"/>
|
<Memory name="IRAM1" type="ReadWrite" size="0x00001000" startValue="0x1FFFF000"/>
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<Project version="2G - 1.7.5" name="{{name}}">
|
||||||
|
<Target name="{{name}}" isCurrent="1">
|
||||||
|
<Device manufacturerId="7" manufacturerName="NXP" chipId="165" chipName="LPC1768" boardId="" boardName=""/>
|
||||||
|
<BuildOption>
|
||||||
|
<Compile>
|
||||||
|
<Option name="OptimizationLevel" value="4"/>
|
||||||
|
<Option name="UseFPU" value="0"/>
|
||||||
|
<Option name="UserEditCompiler" value="-fno-common; -fmessage-length=0; -Wall; -fno-strict-aliasing; -fno-rtti; -fno-exceptions; -ffunction-sections; -fdata-sections; -std=gnu++98"/>
|
||||||
|
<Includepaths>
|
||||||
|
{% for path in include_paths %} <Includepath path="{{path}}"/> {% endfor %}
|
||||||
|
</Includepaths>
|
||||||
|
<DefinedSymbols>
|
||||||
|
{% for s in symbols %} <Define name="{{s}}"/> {% endfor %}
|
||||||
|
</DefinedSymbols>
|
||||||
|
</Compile>
|
||||||
|
<Link useDefault="0">
|
||||||
|
<Option name="DiscardUnusedSection" value="0"/>
|
||||||
|
<Option name="UserEditLinkder" value=""/>
|
||||||
|
<Option name="UseMemoryLayout" value="0"/>
|
||||||
|
<Option name="LTO" value="0"/>
|
||||||
|
<Option name="IsNewStartupCode" value="1"/>
|
||||||
|
<Option name="Library" value="Not use C Library"/>
|
||||||
|
<Option name="nostartfiles" value="0"/>
|
||||||
|
<Option name="UserEditLinker" value="--specs=nano.specs; -u _printf_float; -u _scanf_float; {% for file in object_files %}
|
||||||
|
${project.path}/{{file}}; {% endfor %}; {% for p in library_paths %}-L{{p}}; {% endfor %}"/>
|
||||||
|
<LinkedLibraries>
|
||||||
|
{% for lib in libraries %}
|
||||||
|
<Libset dir="" libs="{{lib}}"/>
|
||||||
|
{% endfor %}
|
||||||
|
<Libset dir="" libs="stdc++"/>
|
||||||
|
<Libset dir="" libs="supc++"/>
|
||||||
|
<Libset dir="" libs="m"/>
|
||||||
|
<Libset dir="" libs="gcc"/>
|
||||||
|
<Libset dir="" libs="c"/>
|
||||||
|
<Libset dir="" libs="nosys"/>
|
||||||
|
</LinkedLibraries>
|
||||||
|
<MemoryAreas debugInFlashNotRAM="1">
|
||||||
|
<Memory name="IROM1" type="ReadOnly" size="0x00080000" startValue="0x00000000"/>
|
||||||
|
<Memory name="IRAM1" type="ReadWrite" size="0x00008000" startValue="0x10000000"/>
|
||||||
|
<Memory name="IROM2" type="ReadOnly" size="" startValue=""/>
|
||||||
|
<Memory name="IRAM2" type="ReadWrite" size="0x00008000" startValue="0x2007C000"/>
|
||||||
|
</MemoryAreas>
|
||||||
|
<LocateLinkFile path="{{scatter_file}}" type="0"/>
|
||||||
|
</Link>
|
||||||
|
<Output>
|
||||||
|
<Option name="OutputFileType" value="0"/>
|
||||||
|
<Option name="Path" value="./"/>
|
||||||
|
<Option name="Name" value="{{name}}"/>
|
||||||
|
<Option name="HEX" value="1"/>
|
||||||
|
<Option name="BIN" value="1"/>
|
||||||
|
</Output>
|
||||||
|
<User>
|
||||||
|
<UserRun name="Run#1" type="Before" checked="0" value=""/>
|
||||||
|
<UserRun name="Run#1" type="After" checked="0" value=""/>
|
||||||
|
</User>
|
||||||
|
</BuildOption>
|
||||||
|
<DebugOption>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.adapter" value="CMSIS-DAP"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.debugMode" value="SWD"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.clockDiv" value="1M"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.corerunToMain" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.jlinkgdbserver" value=""/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.userDefineGDBScript" value=""/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.targetEndianess" value="0"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.jlinkResetMode" value="Type 0: Normal"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.resetMode" value="SYSRESETREQ"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ifSemihost" value="0"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ifCacheRom" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.ipAddress" value="127.0.0.1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.portNumber" value="2009"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.autoDownload" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.verify" value="1"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.downloadFuction" value="Erase Effected"/>
|
||||||
|
<Option name="org.coocox.codebugger.gdbjtag.core.defaultAlgorithm" value="LPC17xx_512.elf"/>
|
||||||
|
</DebugOption>
|
||||||
|
<ExcludeFile/>
|
||||||
|
</Target>
|
||||||
|
<Components path="./"/>
|
||||||
|
<Files>
|
||||||
|
{% for file in source_files %}
|
||||||
|
<File name="{{file.name}}" path="{{file.path}}" type="{{file.type}}"/>
|
||||||
|
{% endfor %}
|
||||||
|
</Files>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue