Skip to content

Commit 55f245d

Browse files
committed
Portenta: add openamp section if missing
1 parent 4c4f854 commit 55f245d

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

mbed-os-to-arduino

+14-1
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,19 @@ generate_flags () {
172172
if [[ $ARDUINOVARIANT == *PORTENTA* ]]; then
173173
echo "Patching '-fno-exceptions' flag for $ARDUINOVARIANT/${fl}flags.txt"
174174
sed -i '/-fno-exceptions/d' "$ARDUINOVARIANT"/${fl}flags.txt
175+
set +e
176+
HAS_OPENAMP_SECTION=`grep openamp_section "$ARDUINOVARIANT"/linker_script.ld`
177+
set -e
178+
if [ x"$HAS_OPENAMP_SECTION" == x ]; then
179+
echo "Adding OpenAMP section to $ARDUINOVARIANT/linker_script.ld"
180+
OPENAMP_SECTION=".openamp_section (NOLOAD) : {\n \
181+
. = ABSOLUTE(0x38000000);\n \
182+
*(.resource_table)\n \
183+
} >RAM_D3 AT > FLASH"
184+
sed -i "s?.heap (COPY):?${OPENAMP_SECTION}\n .heap (COPY):?g" $ARDUINOVARIANT/linker_script.ld
185+
OPENAMP_REGIONS="__OPENAMP_region_start__ = 0x38000400;\n__OPENAMP_region_end__ = 0x38000400 + LENGTH(RAM_D3);"
186+
sed -i "s?ENTRY(Reset_Handler)?${OPENAMP_REGIONS}\nENTRY(Reset_Handler)?g" $ARDUINOVARIANT/linker_script.ld
187+
fi
175188
fi
176189
done
177190
echo " done."
@@ -324,8 +337,8 @@ for VARIANT in ${!VARIANT_BOARDS[*]}; do
324337
mbed_compile
325338
generate_defines
326339
generate_includes
327-
generate_flags
328340
generate_libs
341+
generate_flags
329342
done
330343

331344
copy_core_files

0 commit comments

Comments
 (0)