nRF9160 CMSIS DSP code bloat


David Kaplan
 

Using SES v1.6.1 with the nRF9160 module, I added the necessary CMSIS DSP defines for my project. This adds a quite a lot of files and it does not look like the linker includes only files used.

My code size has went over 466Kb. After adding more unrelated features, the code went over the 512Kb mark after which I remark part of the added code since I do not want to get into adjusting boot loader defines yet (a learning curve also there).

 We need the CMSIS libraries (only a few functions) and the calculations seems to work but it looks like the linker adds a ton of files and functions that are not even called.
 Is there a way that the linker will remove them or should I just select all of the files I need in a new directory (bad I know).  How can I determine which files are used or not?
 
  CONFIG_CMSIS_DSP=y
  CONFIG_CMSIS_DSP_SUPPORT=y
  CONFIG_CMSIS_DSP_FASTMATH=y
  CONFIG_CMSIS_DSP_COMPLEXMATH=y
  CONFIG_CMSIS_DSP_STATISTICS=y
  CONFIG_CMSIS_DSP_TRANSFORM=y

I thought maybe to try to build a CMSIS DSP library that I would add to my Nordic CONNECT project that would pull in only files and tables that are used.
I saw the sdk-zephyr/samples/application_development/external_lib/ example but I just got a build error without any explanation of the problem.

I also saw a CMakeLists.txt directive that also did not work.
   target_link_libraries(app your_lib_name)

Can anyone help me on this or suggest what is the correct way to include only the used CMSIS DSP code?
Thanks David

 
 

 

Join devel@lists.zephyrproject.org to automatically receive all group messages.