Various resources of the SOC like the number of DMA channels, number of interrupt router outputs, number of interrupt aggregator virtual interrupt numbers etc. are usually managed by a resource management system or a resource manager. In the case of AM64x and AM243x devices, this is managed by the System Controller Firmware (SYSFW) running on the M3 core. Once the SYSFW is loaded on M3 and is initialized, we need to send a certain configuration data to the SYSFW regarding the resources we would be using. This is largely an array of resource assignment entries, with each entry specifying the start number of the resource, count or number of resource needed, type of resource, host id of the core which will request for this resource, etc. Later when the request for a specific resource is made, the SYSFW will cross check the request parameters with this already sent configuration data, and the requested resources will only be allocated if that falls within the range in this configuration data. We call this the Resource Management Board Configuration or RM boardcfg.
{SDK_ROOT_DIRECTORY}\source\drivers\sciclient\sciclient_default_boardcfg\{SOC}\sciclient_defaultBoardcfg_rm.c
. Ultimately this file needs to be changed and rebuilt for the boardcfg change to take effect.It should open up the resource management configuration sysconfig window like so:
HOST ID | Core |
---|---|
TISCI_HOST_ID_DMSC (0U) | DMSC ARM Cortex M3 |
TISCI_HOST_ID_MAIN_0_R5_0 (35U) | Cortex R5FSS0_0 (Secure Context) |
TISCI_HOST_ID_MAIN_0_R5_1 (36U) | Cortex R5FSS0_0 (Non-Secure Context) |
TISCI_HOST_ID_MAIN_0_R5_2 (37U) | Cortex R5FSS0_1 (Secure Context) |
TISCI_HOST_ID_MAIN_0_R5_3 (38U) | Cortex R5FSS0_1 (Non-Secure Context) |
TISCI_HOST_ID_MAIN_1_R5_0 (40U) | Cortex R5FSS1_0 (Secure Context) |
TISCI_HOST_ID_MAIN_1_R5_1 (41U) | Cortex R5FSS1_0 (Non-Secure Context) |
TISCI_HOST_ID_MAIN_1_R5_2 (42U) | Cortex R5FSS1_1 (Secure Context) |
TISCI_HOST_ID_MAIN_1_R5_3 (43U) | Cortex R5FSS1_1 (Non-Secure Context) |
TISCI_HOST_ID_M4_0 (30U) | Cortex M4 (Non-Secure Context) |
TISCI_HOST_ID_ICSSG_0 (50U) | ICSSG_0 (Non-Secure Context) |
{SDK_ROOT_DIRECTORY}\source\drivers\sciclient\sciclient_default_boardcfg\{SOC}\sciclient_defaultBoardcfg_rm.c
file.sciclient_set_boardcfg
examplesciclient_ccs_init
example