diff --git a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/i2c_api.c b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/i2c_api.c
index ce13b81180..5762b5d142 100644
--- a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/i2c_api.c
+++ b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/i2c_api.c
@@ -74,17 +74,10 @@ void i2c_init(i2c_t *obj, PinName sda, PinName scl) {
}
int i2c_start(i2c_t *obj) {
- uint32_t temp;
- volatile int i;
// if we are in the middle of a transaction
// activate the repeat_start flag
if (obj->i2c->S & I2C_S_BUSY_MASK) {
- temp = obj->i2c->F >> 6;
- obj->i2c->F &= 0x3F;
obj->i2c->C1 |= 0x04;
- for (i = 0; i < 100; i ++)
- __NOP();
- obj->i2c->F |= temp << 6;
} else {
obj->i2c->C1 |= I2C_C1_MST_MASK;
obj->i2c->C1 |= I2C_C1_TX_MASK;
diff --git a/workspace_tools/export/uvision4_k20d5m.uvopt.tmpl b/workspace_tools/export/uvision4_k20d5m.uvopt.tmpl
index e1091dbe31..674bc63d41 100644
--- a/workspace_tools/export/uvision4_k20d5m.uvopt.tmpl
+++ b/workspace_tools/export/uvision4_k20d5m.uvopt.tmpl
@@ -145,7 +145,7 @@
0
CMSIS_AGDI
- -X"MBED CMSIS-DAP" -UA000000001 -O462 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -FO15 -FD20000000 -FC800 -FN1 -FF0MK_P128_50MHZ -FS00 -FL20000
+ -X"MBED CMSIS-DAP" -UA000000001 -O462 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -FO15 -FD20000000 -FC800 -FN1 -FF0MK_P128_50MHZ -FS00 -FL020000
diff --git a/workspace_tools/export/uvision4_k20d5m.uvproj.tmpl b/workspace_tools/export/uvision4_k20d5m.uvproj.tmpl
index 9b306f1526..3adb8921cc 100644
--- a/workspace_tools/export/uvision4_k20d5m.uvproj.tmpl
+++ b/workspace_tools/export/uvision4_k20d5m.uvproj.tmpl
@@ -325,8 +325,8 @@
0
- 0x0
- 0x0
+ 0x20000000
+ 0x2000