You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on the extxip_smp_svr example, I tried to redirect the entire zephyr library to external flash memory,
like this "zephyr_code_relocate(LIBRARY zephyr LOCATION EXTFLASH_TEXT NOCOPY)",
But I ran into some compilation errors and the compilation log looks like this:
[655/666] Linking C static library zephyr\kernel\libkernel.a
[656/666] Generating code_relocation.c, include/generated/linker_relocate.ld
D:\ncs\noridc\v2.8.0\zephyr\scripts\build\gen_relocate_app.py:547: UserWarning: File: D:/fork/brand-board/build/brand-board/zephyr/include/generated/posix/strsignal_table.h.rule Not found
warnings.warn("File: "+file_glob+" Not found")
[657/666] Building C object zephyr/CMakeFiles/code_relocation_source_lib.dir/code_relocation.c.obj
[658/666] Linking C static library zephyr\libcode_relocation_source_lib.a
[659/666] Generating linker_zephyr_pre0.cmd
[660/666] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
[661/666] Linking C executable zephyr\zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map D:/fork/brand-board/build/brand-board/zephyr/zephyr_pre0.map
cmd.exe /C "cd . && D:\ncs\noridc\toolchains\2d382dcd92\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -Os -DNDEBUG -gdwarf-4 @CMakeFiles\zephyr_pre0.rsp -o zephyr\zephyr_pre0.elf && cmd.exe /C "cd /D D:\fork\brand-board\build\brand-board\zephyr && D:\ncs\noridc\toolchains\2d382dcd92\opt\bin\cmake.exe -E true""
d:/ncs/noridc/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/libzephyr.a(hci_vs_sdc.c.obj): in function `hci_vs_cmd_with_rsp':
D:/ncs/noridc/v2.8.0/nrf/subsys/bluetooth/hci_vs_sdc.c:48: undefined reference to `bt_hci_cmd_create'
d:/ncs/noridc/toolchains/2d382dcd92/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/libzephyr.a(hci_vs_sdc.c.obj): in function `hci_vs_cmd_no_rsp':
D:/ncs/noridc/v2.8.0/nrf/subsys/bluetooth/hci_vs_sdc.c:31: undefined reference to `bt_hci_cmd_create'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
[22/47] No configure step for 'b0n'
FAILED: _sysbuild/sysbuild/images/brand-board-prefix/src/brand-board-stamp/brand-board-build D:/fork/brand-board/build/_sysbuild/sysbuild/images/brand-board-prefix/src/brand-board-stamp/brand-board-build
cmd.exe /C "cd /D D:\fork\brand-board\build\brand-board && D:\ncs\noridc\toolchains\2d382dcd92\opt\bin\cmake.exe --build ."
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'D:\ncs\noridc\toolchains\2d382dcd92\opt\bin\cmake.EXE' --build D:/fork/brand-board/build
* The terminal process terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
I'm using zephyr v3.7.99, ncs v2.8.0 to be precise, and board is nrf5340dk, I believe the other boards perform similarly.
Compilation was no problem until the zephyr library was put into external Flash. And it runs without error.
I checked the documentation for XIP, but couldn't find answers to the following questions:
What are the naming conventions for libraries?
Which libraries can be redirected to external flash memory? If not, why not?
Which redirects are recommended and which are not?
I am Posting this question here so that others who have the same problem as me can refer to it.
Any answer to this question would be greatly appreciated.
This discussion was converted from issue #82215 on December 03, 2024 17:23.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi zephyr,
Based on the extxip_smp_svr example, I tried to redirect the entire zephyr library to external flash memory,
like this "zephyr_code_relocate(LIBRARY zephyr LOCATION EXTFLASH_TEXT NOCOPY)",
But I ran into some compilation errors and the compilation log looks like this:
I'm using zephyr v3.7.99, ncs v2.8.0 to be precise, and board is nrf5340dk, I believe the other boards perform similarly.
Compilation was no problem until the zephyr library was put into external Flash. And it runs without error.
I checked the documentation for XIP, but couldn't find answers to the following questions:
What are the naming conventions for libraries?
Which libraries can be redirected to external flash memory? If not, why not?
Which redirects are recommended and which are not?
I am Posting this question here so that others who have the same problem as me can refer to it.
Any answer to this question would be greatly appreciated.
Beta Was this translation helpful? Give feedback.
All reactions