diff --git a/bsp/abstract-machine/integrate-am-apps.py b/bsp/abstract-machine/integrate-am-apps.py index 70cea8c..3be9803 100644 --- a/bsp/abstract-machine/integrate-am-apps.py +++ b/bsp/abstract-machine/integrate-am-apps.py @@ -63,8 +63,9 @@ def integrate(app_dir): redefine_sym_fp.write(f"__am_{app_name}_{f} {f}\n") redefine_sym_fp.close() for obj in objs: - os.system(f"{CROSS_COMPILE}objcopy --prefix-symbols=__am_{app_name}_ --prefix-sections=__am_apps {str(obj)}") - os.system(f"{CROSS_COMPILE}objcopy --redefine-syms=redefine_sym.txt {str(obj)}") + os.system(f"{CROSS_COMPILE}objcopy --prefix-symbols=__am_{app_name}_ --set-section-flags .text*=readonly,noload --set-section-flags .*rodata*=readonly,noload {str(obj)}") + os.system(f"{CROSS_COMPILE}objcopy --redefine-syms=redefine_sym.txt --prefix-alloc-sections=__am_apps {str(obj)}") + os.system(f"{CROSS_COMPILE}objcopy --set-section-flags .text*=readonly,code,alloc --set-section-flags .*rodata*=readonly,data,alloc {str(obj)}") am_app_mk_fp.write("SRCS += " + str(obj.relative_to("build/" + ARCH)) + "\n") os.remove(redefine_sym_file) am_app_c_fp.write(f"""extern int __am_{app_name}_main(const char *);