Skip to content

Commit

Permalink
ipc: openamp: Expose config options for MASTER/SLAVE builds
Browse files Browse the repository at this point in the history
We can build the openamp library configured with VirtIO master
support, VirtIO slave support, or both.  By default both master
and slave code is enabled.  We can reduce code footprint by only
build master or slave as needed.

Expose Kconfig options for Master & Slave and set them accordingly in
the sample.

Here's the code reduction we see:

For the total image we see as 1260 byte reduction:
Memory region         Used Size  Region Size  %age Used
 FLASH [Master & Slave]:       30308 B       256 KB     11.56%
 FLASH [Master only]   :       29048 B       256 KB     11.08%

On the remote side we see a 828 byte reduction:

Memory region         Used Size  Region Size  %age Used
 FLASH [Master & Slave]:       11564 B        64 KB     17.65%
 FLASH [Slave only]    :       10736 B        64 KB     16.38%

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
  • Loading branch information
galak committed Mar 27, 2020
1 parent 11c8de1 commit 8510dd6
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 1 deletion.
16 changes: 16 additions & 0 deletions modules/Kconfig.open-amp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,25 @@ config OPENAMP
help
This option enables the OpenAMP IPC library

if OPENAMP

config OPENAMP_SRC_PATH
string "OpenAMP library source path"
default "open-amp"
depends on OPENAMP
help
This option specifies the path to the source for the open-amp library

config OPENAMP_MASTER
bool "OpenAMP Master Support"
default y
help
This option enables support for OpenAMP VirtIO Master

config OPENAMP_SLAVE
bool "OpenAMP Slave Support"
default y
help
This option enables support for OpenAMP VirtIO Slave

endif # OPENAMP
1 change: 1 addition & 0 deletions samples/subsys/ipc/openamp/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ CONFIG_TIMESLICE_SIZE=1
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_OPENAMP=y
CONFIG_OPENAMP_SLAVE=n
1 change: 1 addition & 0 deletions samples/subsys/ipc/openamp/remote/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ CONFIG_PLATFORM_SPECIFIC_INIT=n
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_OPENAMP=y
CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=4096
CONFIG_OPENAMP_MASTER=n
2 changes: 1 addition & 1 deletion west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ manifest:
revision: 2f896f74a5fc7220546cc23b50351506cd72ea96
path: modules/hal/nxp
- name: open-amp
revision: 68c18eae2e619ab161a217b1ce86e7ff37391a15
revision: 697716812a38fc05c1689cb9c6768bd412bf7153
path: modules/lib/open-amp
- name: loramac-node
revision: 29e516ec585b1a909af2b5f1c60d83e7d4d563e3
Expand Down

0 comments on commit 8510dd6

Please sign in to comment.