ZHCACU5 july 2023 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
此过程有助于将现有 IPC Notify 示例导入为双核系统工程,其中 R50_0 作为主内核,R51_0 作为远程内核。需要在用于 IPC Notify 的 SDK 中的 makefile 中完成以下更改。根据器件类型 CC 或 LP 选择文件夹。
打开 examples\drivers\ipc\ipc_notify_echo\am263x-cc\system_freertos_nortos\ makefile 处的 system_freertos_nortos makefile。
保留 CORE_0 定义。从第 18 和 19 行中移除 CORE_1 和 CORE_2 定义,因为这些定义不是必需的。
按如下所示定义 CORE_1:
CORE_1=--script ../r5fss1-0_nortos/example.syscfg --context r5fss1-0 --output ../r5fss1-0_nort os/ti-arm-clang/generated
从 CORES 中移除 $(CORE_3) 和 $(CORE_2)。按如下所示定义 CORES。
CORES = \
$(CORE_1) \
$(CORE_0) \
all:
syscfg $(MAKE) -C ../r5fss0-0_freertos/ti-arm-clang/ all
$(MAKE) -C ../r5fss1-0_nortos/ti-arm-clang/ all
$(MAKE) $(MULTI_CORE_BOOTIMAGE_NAME)
从 clean 部分删除 r5fss0-1 和 r5fss1-1 实例。
clean:
$(MAKE) -C ../r5fss0-0_freertos/ti-arm-clang/ clean
$(MAKE) -C ../r5fss1-0_nortos/ti-arm-clang/ clean
$(RM) $(MULTI_CORE_BOOTIMAGE_NAME)
$(RM) $(MULTI_CORE_BOOTIMAGE_NAME_SIGNED)
$(RM) $(MULTI_CORE_BOOTIMAGE_NAME_XIP)
从 scrub 部分删除 r5fss0-1 和 r5fss1-1 实例。
scrub:
$(MAKE) -C ../r5fss0-0_freertos/ti-arm-clang/ scrub
$(MAKE) -C ../r5fss1-0_nortos/ti-arm-clang/ scrub
从 MULTI_CORE_APP_PARAMS 部分删除 r5fss0-1 和 r5fss1-1 实例。
MULTI_CORE_APP_PARAMS = \
../r5fss0-0_freertos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
../r5fss1-0_nortos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc@$(BOOTIMAGE_CORE_ID_r5fss1-0) \
从 MULTI_CORE_APP_PARAMS_XIP 部分删除 r5fss0-1 和 r5fss1-1 实例。
MULTI_CORE_APP_PARAMS_XIP = \
../r5fss0-0_freertos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc_xip@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
../r5fss1-0_nortos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc_xip@$(BOOTIMAGE_CORE_ID_r5fss1-0) \
从 MULTI_CORE_BOOTIMAGE_DEPENDENCY 部分删除 r5fss0-1 和 r5fss1-1 实例。
MULTI_CORE_BOOTIMAGE_DEPENDENCY = \
../r5fss0-0_freertos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc \
../r5fss1-0_nortos/ti-arm-clang/ipc_notify_echo.$(PROFILE).rprc \
打开以下位置的 projectspec makefile: examples\drivers\ipc\ipc_notify_echo\am263x-cc\system_freertos_nortos\ makefile_projectspec。
在此 makefile 文件中进行以下更改:
从 clean 部分删除 r5fss0-1 和 r5fss1-1 实例,以便仅支持 r5fss0-0 和 r5fss1-0。
clean:
$(CCS_ECLIPSE) -noSplash -data $(MCU_PLUS_SDK_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects
$(PROJECT_NAME) -ccs.configuration
$(PROFILE) -ccs.clean
$(MAKE) -C ../r5fss0-0_freertos/ti-arm-clang/ -f makefile_projectspec clean
$(MAKE) -C ../r5fss1-0_nortos/ti-arm-clang/ -f makefile_projectspec clean
打开以下位置的 bootimage_gen makefile: examples\drivers\ipc\ipc_notify_echo\am263x-cc\system_freertos_nortos\ makefile_system_ccs_bootimage_gen。
在此 makefile 文件中进行以下更改:
从 MULTI_CORE_APP_PARAMS 部分删除 r5fss0-1 和 r5fss1-1 实例。
MULTI_CORE_APP_PARAMS = \
../ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang/$(PROFILE)/ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang.rprc@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
../ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang/$(PROFILE)/ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang.rprc@$(BOOTIMAGE_CORE_ID_r5fss1-0) \
从 MULTI_CORE_APP_PARAMS_XIP 部分删除 r5fss0-1 和 r5fss1-1 实例。
MULTI_CORE_APP_PARAMS_XIP = \
../ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang/$(PROFILE)/ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang.rprc_xip@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
../ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang/$(PROFILE)/ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang.rprc_xip@$(BOOTIMAGE_CORE_ID_r5fss1-0) \
打开以下位置的系统 projectspec 文件: examples\drivers\ipc\ipc_notify_echo\am263x-cc\system_freertos_nortos\ system.projectspec。
在此 projectspec 文件中进行以下更改:
删除 r5fss0-1 和 r5fss1-1 projectspec 文件,使其不再随 system_freertos_nortos 工程一起导入(第 4 行和第 6 行)。
<projectSpec>
<import spec="../r5fss0-0_freertos/ti-arm-clang/example.projectspec"/>
<import spec="../r5fss1-0_nortos/ti-arm-clang/example.projectspec"/>
打开以下位置的系统 projectspec 文件: examples\drivers\ipc\ipc_notify_echo\am263x-cc\system_freertos_nortos\ system.xml。
在此 projectspec 文件中进行以下更改:
从 xml 文件中删除 r5fss0-1 和 r5fss1-1 内核工程配置,并仅保留 0-0 和 1-0 内核。按如下所示将内核 1 修改为 r5fss1-0 内核。
<project configuration="@match" id="project_0" name="ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang">
</project>
<core id="MAIN_PULSAR_Cortex_R5_0_0" project="project_0"/>
<project configuration="@match" id="project_1" name="ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang">
</project>
<core id="MAIN_PULSAR_Cortex_R5_1_0" project="project_1"/>
修改系统工程 makefile 后,将此示例导入 CCS。此步骤与其他系统工程相同。
修改 example.syscfg 以支持对内核 0-0 和 1-0 的 IPC Notify 功能。然后,禁用内核 1-0 和 1-1 的 IPC Notify 功能。
按如下所示更改远程内核 ID 列表以仅支持内核 1-0,并删除其余内核。在 ipc_notify_echo_am263x-cc_r5fss0-0_nortos_ti-arm-clang 和 ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang 工程的 ipc_notify_echo .c 文件中进行此更改。
uint32_t gRemoteCoreId[] = {
CSL_CORE_ID_R5FSS1_0,
CSL_CORE_ID_MAX
};
现在编译系统工程来为内核 0-0 和 1-0 生成组合的应用映像。此应用映像可以刷写到 AM2632 器件上。