am243x/am64x: SDFM: Enable trip based OC detection
-Enable trip based oc detection Fixes: PINDSW-5523 Signed-off-by: Achala Ram <a-ram@ti.com>
This commit is contained in:
parent
a9d1c6e5b4
commit
48c3485bfe
@ -30,6 +30,7 @@ const libdirs_freertos = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib"
|
||||
],
|
||||
};
|
||||
|
||||
@ -40,6 +41,7 @@ const includes_freertos_r5f = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include"
|
||||
],
|
||||
};
|
||||
|
||||
@ -49,6 +51,7 @@ const libs_freertos_r5f = {
|
||||
"drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"board.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_nine_channel_load_share_mode.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -67,6 +67,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -109,6 +110,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -116,6 +118,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -130,6 +133,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -138,6 +142,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_nine_channel_load_share_mode.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -67,6 +67,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_nine_channel_load_share_mode \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -109,6 +110,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -116,6 +118,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -130,6 +133,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -138,6 +142,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -108,6 +108,19 @@ static Pinmux_PerCfg_t gPinMuxMainDomainCfgsdfm[] = {
|
||||
PIN_PRG0_PRU0_GPO19,
|
||||
( PIN_MODE(3) | PIN_PULL_DISABLE )
|
||||
},
|
||||
/* PWM1_TZ_OUT,
|
||||
PRG0_PWM1_TZ_OUT, TZ_OUT, R3, J2C:P6 J8.76 */
|
||||
{
|
||||
PIN_PRG0_PRU1_GPO19,
|
||||
( PIN_MODE(3) | PIN_PULL_DISABLE )
|
||||
},
|
||||
/* PWM2_TZ_OUT,
|
||||
PRG0_PWM2_TZ_OUT, TZ_OUT, R3, J2C:P6 J6.57 */
|
||||
{
|
||||
PIN_PRG0_PRU1_GPO8,
|
||||
( PIN_MODE(3) | PIN_PULL_DISABLE )
|
||||
},
|
||||
|
||||
|
||||
{PINMUX_END, PINMUX_END}
|
||||
};
|
||||
|
||||
@ -224,14 +224,15 @@ void sdfm_configure_gpio_pin(sdfm_handle h_sdfm)
|
||||
|
||||
}
|
||||
/* Initialize SDFM PRU FW */
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, void *pruss_cfg)
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, PRUICSS_Handle pruIcssHandle)
|
||||
{
|
||||
sdfm_handle hSdfm;
|
||||
uint8_t SDFM_CH = 0;
|
||||
/* Initialize SDFM instance */
|
||||
hSdfm = SDFM_init(pruId, pSdfmPrms->pruInsId);
|
||||
|
||||
hSdfm->pruss_cfg = pruss_cfg;
|
||||
hSdfm->gPruIcssHandle = pruIcssHandle;
|
||||
hSdfm->pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
|
||||
if( pSdfmPrms->loadShare )
|
||||
{
|
||||
@ -368,10 +369,7 @@ int32_t initPruSdfm(
|
||||
uint32_t byteLen; /* Total number of bytes to be written */
|
||||
uint8_t pruId;
|
||||
int32_t status;
|
||||
void *pruss_cfg;
|
||||
|
||||
pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
|
||||
|
||||
/* Reset PRU */
|
||||
status = PRUICSS_resetCore(pruIcssHandle, pruInstId);
|
||||
if (status != SystemP_SUCCESS)
|
||||
@ -460,7 +458,7 @@ int32_t initPruSdfm(
|
||||
}
|
||||
|
||||
/* Initialize SDFM PRU FW */
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruss_cfg);
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruIcssHandle);
|
||||
if (status != SDFM_ERR_NERR)
|
||||
{
|
||||
return SDFM_ERR_INIT_PRU_SDFM;
|
||||
|
||||
@ -30,6 +30,7 @@ const libdirs_freertos = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib",
|
||||
],
|
||||
};
|
||||
|
||||
@ -40,6 +41,7 @@ const includes_freertos_r5f = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include"
|
||||
],
|
||||
};
|
||||
|
||||
@ -49,6 +51,7 @@ const libs_freertos_r5f = {
|
||||
"drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"board.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_three_channel_single_pru_mode.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -67,6 +67,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -109,6 +110,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -116,6 +118,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -130,6 +133,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -138,6 +142,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_three_channel_single_pru_mode.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -67,6 +67,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_single_pru_mode \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -109,6 +110,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -116,6 +118,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -130,6 +133,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -138,6 +142,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -176,14 +176,15 @@ void sdfm_configure_gpio_pin(sdfm_handle h_sdfm)
|
||||
|
||||
}
|
||||
/* Initialize SDFM PRU FW */
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, void *pruss_cfg)
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, PRUICSS_Handle pruIcssHandle)
|
||||
{
|
||||
sdfm_handle hSdfm;
|
||||
uint8_t SDFM_CH = 0;
|
||||
/* Initialize SDFM instance */
|
||||
hSdfm = SDFM_init(pruId, pSdfmPrms->pruInsId);
|
||||
|
||||
hSdfm->pruss_cfg = pruss_cfg;
|
||||
|
||||
hSdfm->gPruIcssHandle = pruIcssHandle;
|
||||
hSdfm->pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
|
||||
uint32_t i;
|
||||
i = SDFM_getFirmwareVersion(hSdfm);
|
||||
@ -286,10 +287,7 @@ int32_t initPruSdfm(
|
||||
uint32_t byteLen; /* Total number of bytes to be written */
|
||||
uint8_t pruId;
|
||||
int32_t status;
|
||||
void *pruss_cfg;
|
||||
|
||||
pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
|
||||
|
||||
/* Reset PRU */
|
||||
status = PRUICSS_resetCore(pruIcssHandle, pruInstId);
|
||||
if (status != SystemP_SUCCESS) {
|
||||
@ -349,7 +347,7 @@ int32_t initPruSdfm(
|
||||
}
|
||||
|
||||
/* Initialize SDFM PRU FW */
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruss_cfg);
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruIcssHandle);
|
||||
if (status != SDFM_ERR_NERR) {
|
||||
return SDFM_ERR_INIT_PRU_SDFM;
|
||||
}
|
||||
|
||||
@ -31,6 +31,7 @@ const libdirs_freertos = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib",
|
||||
],
|
||||
};
|
||||
|
||||
@ -41,6 +42,7 @@ const includes_freertos_r5f = {
|
||||
"${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation",
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include"
|
||||
],
|
||||
};
|
||||
|
||||
@ -50,6 +52,7 @@ const libs_freertos_r5f = {
|
||||
"drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"board.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib",
|
||||
"pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib"
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_three_channel_with_phase_compensation.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -68,6 +68,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -110,6 +111,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -117,6 +119,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -131,6 +134,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -139,6 +143,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include
|
||||
-mcpu=cortex-r5
|
||||
-mfloat-abi=hard
|
||||
-mfpu=vfpv3-d16
|
||||
@ -53,6 +54,7 @@
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib
|
||||
-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=icss_sdfm_three_channel_with_phase_compensation.${ConfigName}.map
|
||||
--diag_suppress=10063
|
||||
@ -78,6 +80,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.release.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
@ -91,6 +94,7 @@
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lboard.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.debug.lib
|
||||
-llibc.a
|
||||
-llibsysbm.a
|
||||
"
|
||||
|
||||
@ -68,6 +68,7 @@ INCLUDES_common := \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am243x/r5f \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/include \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/examples/current_sense/icss_sdfm_three_channel_with_phase_compensation \
|
||||
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
||||
-Igenerated \
|
||||
|
||||
DEFINES_common := \
|
||||
@ -110,6 +111,7 @@ LIBS_PATH_common = \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
-Wl,-i${CG_TOOL_ROOT}/lib \
|
||||
|
||||
LIBS_common = \
|
||||
@ -117,6 +119,7 @@ LIBS_common = \
|
||||
-ldrivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lboard.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lmotorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-lpruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
-llibc.a \
|
||||
-llibsysbm.a \
|
||||
|
||||
@ -131,6 +134,7 @@ LIBS_NAME = \
|
||||
drivers.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
board.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
motorcontrol_sdfm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
pruicss_pwm.am243x.r5f.ti-arm-clang.${ConfigName}.lib \
|
||||
libc.a \
|
||||
libsysbm.a \
|
||||
|
||||
@ -139,6 +143,7 @@ LIBS_PATH_NAME = \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/lib \
|
||||
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
||||
${CG_TOOL_ROOT}/lib \
|
||||
|
||||
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
||||
|
||||
@ -185,12 +185,15 @@ void SDFM_measurePhaseCompensation(sdfm_handle h_sdfm, uint32_t iep_clk)
|
||||
|
||||
}
|
||||
/* Initialize SDFM PRU FW */
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, void *pruss_cfg)
|
||||
int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm, PRUICSS_Handle pruIcssHandle)
|
||||
{
|
||||
sdfm_handle hSdfm;
|
||||
|
||||
/* Initialize SDFM instance */
|
||||
hSdfm = SDFM_init(pruId);
|
||||
|
||||
hSdfm->gPruIcssHandle = pruIcssHandle;
|
||||
hSdfm->pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
|
||||
uint32_t i;
|
||||
i = SDFM_getFirmwareVersion(hSdfm);
|
||||
@ -210,8 +213,6 @@ int32_t init_sdfm_pru_fw(uint8_t pruId, SdfmPrms *pSdfmPrms, sdfm_handle *pHSdfm
|
||||
uint32_t sampleOutputInterfaceGlobalAddr = CPU0_BTCM_SOCVIEW(pSdfmPrms->samplesBaseAddress);
|
||||
hSdfm->p_sdfm_interface->sampleBufferBaseAdd = sampleOutputInterfaceGlobalAddr;
|
||||
hSdfm->iep_inc = 1; /* Default IEP increment 1 */
|
||||
hSdfm->pruss_cfg = pruss_cfg;
|
||||
|
||||
|
||||
uint8_t acc_filter = 0; //SINC3 filter
|
||||
uint8_t ecap_divider = 0x0F; //IEP at 300MHz: SD clock = 300/15=20Mhz
|
||||
@ -306,7 +307,6 @@ int32_t initPruSdfm(
|
||||
int32_t status;
|
||||
void *pruss_cfg;
|
||||
|
||||
pruss_cfg = (void *)(((PRUICSS_HwAttrs *)(pruIcssHandle->hwAttrs))->cfgRegBase);
|
||||
/* Reset PRU */
|
||||
status = PRUICSS_resetCore(pruIcssHandle, pruInstId);
|
||||
if (status != SystemP_SUCCESS) {
|
||||
@ -372,7 +372,7 @@ int32_t initPruSdfm(
|
||||
}
|
||||
|
||||
/* Initialize SDFM PRU FW */
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruss_cfg);
|
||||
status = init_sdfm_pru_fw(pruId, pSdfmPrms, pHSdfm, pruIcssHandle);
|
||||
if (status != SDFM_ERR_NERR) {
|
||||
return SDFM_ERR_INIT_PRU_SDFM;
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@ BUILD_COMBO_EXAMPLE_PRIVATE_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt
|
||||
@ -423,7 +423,7 @@ examples-private: $(BUILD_COMBO_EXAMPLE_PRIVATE_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile all
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile all
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt:
|
||||
@ -530,7 +530,7 @@ BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt_clean
|
||||
@ -676,7 +676,7 @@ examples-private-clean: $(BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_clean:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile clean
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile clean
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_clean:
|
||||
@ -783,7 +783,7 @@ BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt_scrub
|
||||
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt_scrub
|
||||
@ -929,7 +929,7 @@ examples-scrub-private: $(BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_scrub:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile scrub
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_scrub:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_scrub:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile scrub
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_scrub:
|
||||
|
||||
@ -51,7 +51,7 @@ BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt_build
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt_build
|
||||
@ -197,7 +197,7 @@ all-private: $(BUILD_COMBO_EXAMPLE_PROJECTSPEC_BUILD_PRIVATE_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_build:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile_projectspec all
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_build:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_build:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile_projectspec all
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_build:
|
||||
@ -305,7 +305,7 @@ BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt_clean
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt_clean
|
||||
@ -451,7 +451,7 @@ clean-private: $(BUILD_COMBO_EXAMPLE_PROJECTSPEC_CLEAN_PRIVATE_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_clean:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile_projectspec clean
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_clean:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile_projectspec clean
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_clean:
|
||||
@ -559,7 +559,7 @@ BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL =
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-rtupru0_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-rtupru1_fw_ti-pru-cgt_export
|
||||
BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL += endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-txpru1_fw_ti-pru-cgt_export
|
||||
@ -705,7 +705,7 @@ export-private: $(BUILD_COMBO_EXAMPLE_PROJECTSPEC_EXPORT_PRIVATE_ALL)
|
||||
sdfm_firmware_multi_axis_load_share_am243x-evm_icssg0-txpru0_fw_ti-pru-cgt_export:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/multi_axis_load_share/am243x-evm/icssg0-txpru0_fw/ti-pru-cgt -f makefile_projectspec export
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_export:
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_export:
|
||||
$(MAKE) -C source/current_sense/sdfm/firmware/single_axis_single_pru/am243x-evm/icssg0-pru0_fw/ti-pru-cgt -f makefile_projectspec export
|
||||
|
||||
endat_peripheral_interface_multi_ch_load_share_am243x-evm_icssg0-pru1_fw_ti-pru-cgt_export:
|
||||
|
||||
@ -36,6 +36,7 @@
|
||||
#include <current_sense/sdfm/include/sdfm_drv.h>
|
||||
#include <current_sense/sdfm/include/sdfm_api.h>
|
||||
#include <current_sense/sdfm/firmware/icssg_sdfm.h>
|
||||
#include <pruicss_pwm/include/pruicss_pwm.h>
|
||||
#include <drivers/hw_include/am64x_am243x/cslr_soc_baseaddress.h>
|
||||
#include <drivers/soc.h>
|
||||
#include <drivers/gpio.h>
|
||||
@ -43,8 +44,8 @@
|
||||
|
||||
/* Internal structure for managing each PRU SD */
|
||||
SDFM g_sdfm[NUM_PRU] = {
|
||||
{PRU_ID_0,0,0,0,0, NULL},
|
||||
{PRU_ID_1,0,0,0,0, NULL},
|
||||
{NULL,PRU_ID_0,0,0,0,0, NULL},
|
||||
{NULL,PRU_ID_1,0,0,0,0, NULL},
|
||||
};
|
||||
|
||||
/* Initialize SDFM instance */
|
||||
@ -183,7 +184,7 @@ void SDFM_disableDoubleSampling(sdfm_handle h_sdfm)
|
||||
void SDFM_setEnableChannel(sdfm_handle h_sdfm, uint8_t channel_number)
|
||||
{
|
||||
uint32_t temp;
|
||||
temp = 1<< channel_number;
|
||||
temp = 1 << channel_number;
|
||||
if(temp & SDFM_CH_MASK_FOR_CH0_CH3_CH6)
|
||||
{
|
||||
h_sdfm->p_sdfm_interface->sdfm_ch_ctrl.sdfm_ch_id |= (channel_number << SDFM_CFG_BF_SD_CH0_ID_SHIFT);
|
||||
@ -281,28 +282,103 @@ void SDFM_configFastDetect(sdfm_handle h_sdfm, uint8_t ch, uint8_t *fdParms)
|
||||
|
||||
}
|
||||
|
||||
/*return status of Trip status bit*/
|
||||
uint32_t SDFM_getPwmTripStatus(sdfm_handle h_sdfm, uint8_t pwmIns)
|
||||
/*return status of PWM trip vector status bit*/
|
||||
int32_t SDFM_getFastDetectErrorStatus(sdfm_handle h_sdfm, uint8_t chNum)
|
||||
{
|
||||
void *pruss_cfg = h_sdfm->pruss_cfg;
|
||||
uint32_t regval;
|
||||
regval = HW_RD_REG32((uint8_t *)pruss_cfg + CSL_ICSSCFG_PWM0 + pwmIns * 4);
|
||||
regval = regval & CSL_ICSSCFG_PWM0_PWM0_TRIP_S_MASK;
|
||||
return regval>>CSL_ICSSCFG_PWM0_PWM0_TRIP_S_SHIFT;
|
||||
uint8_t pwmSet;
|
||||
int32_t retVal = SystemP_SUCCESS;
|
||||
PRUICSS_Handle pruIcssHandle = h_sdfm->gPruIcssHandle;
|
||||
if((chNum >= SDFM_CHANNEL0) && (chNum < SDFM_CHANNEL3))
|
||||
{
|
||||
pwmSet = 0;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL2 && chNum < SDFM_CHANNEL6)
|
||||
{
|
||||
pwmSet = 1;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL5 && chNum <= SDFM_CHANNEL8)
|
||||
{
|
||||
pwmSet = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = SystemP_FAILURE;
|
||||
}
|
||||
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*PWM trip vector */
|
||||
retVal = PRUICSS_PWM_getPwmTripTriggerCauseVector(pruIcssHandle, pwmSet);
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
retVal = retVal >> 2;
|
||||
uint32_t temp;
|
||||
temp = 1 << chNum;
|
||||
if(temp & SDFM_CH_MASK_FOR_CH0_CH3_CH6)
|
||||
{
|
||||
return ((retVal) & (1 << SDFM_CHANNEL0)) ? 1 : 0;
|
||||
}
|
||||
else if(temp & SDFM_CH_MASK_FOR_CH1_CH4_CH7)
|
||||
{
|
||||
return ((retVal) & (1 << SDFM_CHANNEL1))? 1 : 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ((retVal) & (1 << SDFM_CHANNEL2)) ? 1 : 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*Clear Trip status bit*/
|
||||
void SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t pwmIns)
|
||||
int32_t SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t chNum)
|
||||
{
|
||||
void *pruss_cfg = h_sdfm->pruss_cfg;
|
||||
uint32_t regval;
|
||||
regval = HW_RD_REG32((uint8_t *)pruss_cfg + CSL_ICSSCFG_PWM0 + pwmIns * 4);
|
||||
regval = regval | CSL_ICSSCFG_PWM0_PWM0_TRIP_RESET_MASK;
|
||||
HW_WR_REG32((uint8_t *)pruss_cfg + CSL_ICSSCFG_PWM0 + pwmIns * 4, regval);
|
||||
regval = HW_RD_REG32((uint8_t *)pruss_cfg + CSL_ICSSCFG_PWM0 + pwmIns * 4);
|
||||
regval = regval & (~ CSL_ICSSCFG_PWM0_PWM0_TRIP_RESET_MASK);
|
||||
HW_WR_REG32((uint8_t *)pruss_cfg + CSL_ICSSCFG_PWM0 + pwmIns * 4, regval);
|
||||
uint8_t pwmSet;
|
||||
int32_t retVal = SystemP_SUCCESS;
|
||||
PRUICSS_Handle pruIcssHandle = h_sdfm->gPruIcssHandle;
|
||||
|
||||
if((chNum >= SDFM_CHANNEL0) && (chNum < SDFM_CHANNEL3))
|
||||
{
|
||||
pwmSet = 0;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL2 && chNum < SDFM_CHANNEL6)
|
||||
{
|
||||
pwmSet = 1;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL5 && chNum <= SDFM_CHANNEL8)
|
||||
{
|
||||
pwmSet = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = SystemP_FAILURE;
|
||||
}
|
||||
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*clear trip status*/
|
||||
retVal = PRUICSS_PWM_generatePwmTripReset(pruIcssHandle, pwmSet);
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*clear trip reset status*/
|
||||
retVal = PRUICSS_PWM_clearPwmTripResetStatus(pruIcssHandle, pwmSet);
|
||||
|
||||
return retVal;
|
||||
}
|
||||
/*Enable Load share mode*/
|
||||
void SDFM_enableLoadShareMode(sdfm_handle h_sdfm, uint8_t sliceId)
|
||||
@ -359,6 +435,80 @@ float SDFM_measureClockPhaseDelay(sdfm_handle h_sdfm, uint16_t clkEdg)
|
||||
float phaseDelay = ((float)h_sdfm->p_sdfm_interface->sdfm_ch_ctrl.clock_phase_delay * 1000000000)/h_sdfm->pru_core_clk;
|
||||
return phaseDelay;
|
||||
}
|
||||
uint8_t SDFM_getHighThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum)
|
||||
{
|
||||
uint32_t temp;
|
||||
temp = 1 << chNum;
|
||||
if(temp & SDFM_CH_MASK_FOR_CH0_CH3_CH6)
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[0].sdfm_threshold_parms.highThStatus;
|
||||
}
|
||||
else if(temp & SDFM_CH_MASK_FOR_CH1_CH4_CH7)
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[1].sdfm_threshold_parms.highThStatus;
|
||||
}
|
||||
else
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[2].sdfm_threshold_parms.highThStatus;
|
||||
}
|
||||
|
||||
}
|
||||
uint8_t SDFM_getLowThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum)
|
||||
{
|
||||
uint32_t temp;
|
||||
temp = 1 << chNum;
|
||||
if(temp & SDFM_CH_MASK_FOR_CH0_CH3_CH6)
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[0].sdfm_threshold_parms.lowThStatus;
|
||||
}
|
||||
else if(temp & SDFM_CH_MASK_FOR_CH1_CH4_CH7)
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[1].sdfm_threshold_parms.lowThStatus;
|
||||
}
|
||||
else
|
||||
{
|
||||
return h_sdfm->p_sdfm_interface->sdfm_cfg_ptr[2].sdfm_threshold_parms.lowThStatus;
|
||||
}
|
||||
}
|
||||
|
||||
int32_t SDFM_clearOverCurrentError(sdfm_handle h_sdfm, uint8_t chNum)
|
||||
{
|
||||
uint8_t pwmSet;
|
||||
int32_t retVal = SystemP_SUCCESS;
|
||||
PRUICSS_Handle pruIcssHandle = h_sdfm->gPruIcssHandle;
|
||||
if((chNum >= SDFM_CHANNEL0) && (chNum < SDFM_CHANNEL3))
|
||||
{
|
||||
pwmSet = 0;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL2 && chNum < SDFM_CHANNEL6)
|
||||
{
|
||||
pwmSet = 1;
|
||||
}
|
||||
else if (chNum > SDFM_CHANNEL5 && chNum <= SDFM_CHANNEL8)
|
||||
{
|
||||
pwmSet = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = SystemP_FAILURE;
|
||||
}
|
||||
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*Clear over current Error PWM trip*/
|
||||
retVal = PRUICSS_PWM_clearPwmOverCurrentErrorTrip(pruIcssHandle, pwmSet);
|
||||
if(retVal == SystemP_FAILURE)
|
||||
{
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*Clear PWM trip*/
|
||||
retVal = SDFM_clearPwmTripStatus(h_sdfm, chNum);
|
||||
return retVal;
|
||||
}
|
||||
/* SDFM global enable */
|
||||
void SDFM_enable(sdfm_handle h_sdfm)
|
||||
{
|
||||
|
||||
@ -130,8 +130,10 @@
|
||||
#define SDFM_CFG_CH0_FILTER_TYPE_OFFSET ( 0x1D )
|
||||
#define SDFM_CFG_CH0_OSR_OFFSET ( 0x1E )
|
||||
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH0_OFFSET ( 0x20 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH0_OFFSET ( 0x24 )
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH0_OFFSET ( 0x20 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH0_OFFSET ( 0x24 )
|
||||
#define SDFM_CFG_OC_HIGH_THR_STATUS_CH0_OFFSET ( 0x28 )
|
||||
#define SDFM_CFG_OC_LOW_THR_STATUS_CH0_OFFSET ( 0x29 )
|
||||
|
||||
#define SDFM_CFG_CH0_FD_WD_REG_OFFSET ( 0x2C)
|
||||
#define SDFM_CFG_CH0_FD_ZERO_MAX_REG_OFFSET ( 0x2D)
|
||||
@ -155,8 +157,10 @@
|
||||
#define SDFM_CFG_CH1_FILTER_TYPE_OFFSET ( 0x61 )
|
||||
#define SDFM_CFG_CH1_OSR_OFFSET ( 0x62 )
|
||||
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH1_OFFSET ( 0x64 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH1_OFFSET ( 0x68 )
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH1_OFFSET ( 0x64 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH1_OFFSET ( 0x68 )
|
||||
#define SDFM_CFG_OC_HIGH_THR_STATUS_CH1_OFFSET ( 0x6C )
|
||||
#define SDFM_CFG_OC_LOW_THR_STATUS_CH1_OFFSET ( 0x6D )
|
||||
|
||||
#define SDFM_CFG_CH1_FD_WD_REG_OFFSET ( 0x70 )
|
||||
#define SDFM_CFG_CH1_FD_ZERO_MAX_REG_OFFSET ( 0x71 )
|
||||
@ -181,8 +185,10 @@
|
||||
#define SDFM_CFG_CH2_FILTER_TYPE_OFFSET ( 0xA5 )
|
||||
#define SDFM_CFG_CH2_OSR_OFFSET ( 0xA6 )
|
||||
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH2_OFFSET ( 0xA8 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH2_OFFSET ( 0xAC )
|
||||
#define SDFM_CFG_OC_HIGH_THR_CH2_OFFSET ( 0xA8 )
|
||||
#define SDFM_CFG_OC_LOW_THR_CH2_OFFSET ( 0xAC )
|
||||
#define SDFM_CFG_OC_HIGH_THR_STATUS_CH2_OFFSET ( 0xB0 )
|
||||
#define SDFM_CFG_OC_LOW_THR_STATUS_CH2_OFFSET ( 0xB1 )
|
||||
|
||||
#define SDFM_CFG_CH2_FD_WD_REG_OFFSET ( 0xB4 )
|
||||
#define SDFM_CFG_CH2_FD_ZERO_MAX_REG_OFFSET ( 0xB5 )
|
||||
|
||||
@ -1,144 +0,0 @@
|
||||
let path = require('path');
|
||||
|
||||
let device = "am64x";
|
||||
|
||||
const files = {
|
||||
common: [
|
||||
"sdfm.asm",
|
||||
"icssg_pru.cmd",
|
||||
],
|
||||
};
|
||||
|
||||
/* Relative to where the makefile will be generated
|
||||
* Typically at <example_folder>/<BOARD>/<core_os_combo>/<compiler>
|
||||
*/
|
||||
const filedirs = {
|
||||
common: [
|
||||
"..", /* core_os_combo base */
|
||||
"../..", /* Example base */
|
||||
"../../../..",
|
||||
],
|
||||
};
|
||||
|
||||
const includes = {
|
||||
common: [
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware",
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
const defines_rtu = {
|
||||
common: [
|
||||
"SDFM_RTU_CORE",
|
||||
"SDFM_LOAD_SHARE_MODE",
|
||||
|
||||
],
|
||||
|
||||
};
|
||||
const defines_pru = {
|
||||
common: [
|
||||
|
||||
"SDFM_PRU_CORE",
|
||||
"SDFM_LOAD_SHARE_MODE",
|
||||
|
||||
],
|
||||
|
||||
};
|
||||
const defines_txpru = {
|
||||
common: [
|
||||
"SDFM_TXPRU_CORE",
|
||||
"SDFM_LOAD_SHARE_MODE",
|
||||
],
|
||||
|
||||
};
|
||||
|
||||
const readmeDoxygenPageTag = "SDFM_DESIGN";
|
||||
|
||||
const cflags = {
|
||||
common: [
|
||||
"-v4",
|
||||
"-o2",
|
||||
"--display_error_number",
|
||||
"--hardware_mac=on",
|
||||
],
|
||||
};
|
||||
|
||||
const lflags = {
|
||||
common: [
|
||||
"--warn_sections",
|
||||
"--entry_point=SDFM_ENTRY",
|
||||
"--zero_init=off",
|
||||
"--disable_auto_rts",
|
||||
"--define=SDFM_LOAD_SHARE_MODE=1",
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
const buildOptionCombos = [
|
||||
{ device: device, cpu: "icssg0-pru0", cgt: "ti-pru-cgt", board: "am64x-evm", os: "fw"},
|
||||
{ device: device, cpu: "icssg0-rtupru0", cgt: "ti-pru-cgt", board: "am64x-evm", os: "fw"},
|
||||
{ device: device, cpu: "icssg0-txpru0", cgt: "ti-pru-cgt", board: "am64x-evm", os: "fw"},
|
||||
];
|
||||
|
||||
let postBuildStepsPru0 = [
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=pru_SDFM_PRU0_image -o sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_pru_bin.h;"
|
||||
];
|
||||
let postBuildStepsRtupru0 = [
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=pru_SDFM_RTU0_image -o sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-rtupru0_fw_ti-pru-cgt.h sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-rtupru0_fw_ti-pru-cgt.out; move sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-rtupru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_rtu_bin.h;"
|
||||
|
||||
];
|
||||
let postBuildStepsTxpru0 = [
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=pru_SDFM_TXPRU0_image -o sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-txpru0_fw_ti-pru-cgt.h sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-txpru0_fw_ti-pru-cgt.out; move sdfm_firmware_multi_axis_load_share_am64x-evm_icssg0-txpru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_txpru_bin.h;"
|
||||
|
||||
];
|
||||
|
||||
function getComponentProperty() {
|
||||
let property = {};
|
||||
|
||||
property.dirPath = path.resolve(__dirname, "..");
|
||||
property.type = "executable";
|
||||
property.makefile = "pru";
|
||||
property.name = "sdfm_firmware_multi_axis_load_share";
|
||||
property.isInternal = false;
|
||||
property.description = "ICSS SDFM"
|
||||
property.buildOptionCombos = buildOptionCombos;
|
||||
property.pru_main_file = "main";
|
||||
property.pru_linker_file = "linker";
|
||||
property.isSkipTopLevelBuild = true;
|
||||
property.skipUpdatingTirex = true;
|
||||
return property;
|
||||
}
|
||||
|
||||
function getComponentBuildProperty(buildOption) {
|
||||
let build_property = {};
|
||||
build_property.files = files;
|
||||
build_property.filedirs = filedirs;
|
||||
build_property.includes = includes;
|
||||
if(buildOption.cpu.match("icssg0-pru0"))
|
||||
{
|
||||
build_property.postBuildSteps = postBuildStepsPru0;
|
||||
build_property.defines = defines_pru;
|
||||
}
|
||||
if(buildOption.cpu.match("icssg0-rtupru0"))
|
||||
{
|
||||
build_property.postBuildSteps = postBuildStepsRtupru0;
|
||||
build_property.defines = defines_rtu;
|
||||
}
|
||||
if(buildOption.cpu.match("icssg0-txpru0"))
|
||||
{
|
||||
build_property.postBuildSteps = postBuildStepsTxpru0;
|
||||
build_property.defines = defines_txpru;
|
||||
}
|
||||
|
||||
build_property.cflags = cflags;
|
||||
build_property.lflags = lflags;
|
||||
build_property.readmeDoxygenPageTag = readmeDoxygenPageTag;
|
||||
build_property.projecspecFileAction = "copy";
|
||||
build_property.skipMakefileCcsBootimageGen = true;
|
||||
return build_property;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getComponentProperty,
|
||||
getComponentBuildProperty,
|
||||
};
|
||||
@ -124,12 +124,12 @@ SDFM_ENTRY:
|
||||
|
||||
PHASE_DELAY_CAL:
|
||||
;check phase delay measurment active
|
||||
LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_LOC_DMEM, SDFM_CFG_SD_EN_PHASE_DELAY, 1
|
||||
LBBO &TEMP_REG0.b0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_EN_PHASE_DELAY, 1
|
||||
QBBC SKIP_PHASE_DELAY_CAL, TEMP_REG0.b0, 0
|
||||
JAL RET_ADDR_REG, SDFM_CLOCK_PHASE_COMPENSATION
|
||||
;acknowledge
|
||||
CLR TEMP_REG0, TEMP_REG0, 0
|
||||
SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_LOC_DMEM, SDFM_CFG_SD_EN_PHASE_DELAY, 1
|
||||
SBBO &TEMP_REG0.b0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_EN_PHASE_DELAY, 1
|
||||
SKIP_PHASE_DELAY_CAL:
|
||||
|
||||
|
||||
@ -287,6 +287,43 @@ TS0_OC_LOOP:
|
||||
|
||||
;Comparator for Ch0
|
||||
MOV TEMP_REG2, CN5
|
||||
|
||||
;Trip Zone based over current detection
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH0_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_LOW_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_CH0_OFFSET, SDFM_CFG_OC_LOW_THR_SZ
|
||||
;PWM0 register offset
|
||||
LDI TEMP_REG1, ICSSG_CFG_PWMx
|
||||
LBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Check if the sample value is greater than the high threshold
|
||||
QBGE OVER_CURRENT_HIGH_THRESHOLD_CH0, OC_HIGH_THR, TEMP_REG2
|
||||
;Unset in DMEM
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0.b0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH0_OFFSET, 1
|
||||
;Check if the sample value is lower than the low threshold
|
||||
QBLE OVER_CURRENT_LOW_THRESHOLD_CH0, OC_LOW_THR, TEMP_REG2
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0.b0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH0_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH0
|
||||
OVER_CURRENT_HIGH_THRESHOLD_CH0:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Store in DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH0_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH0
|
||||
OVER_CURRENT_LOW_THRESHOLD_CH0:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;set bit store in DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH0_OFFSET, 1
|
||||
END_OVER_CURRENT_DETECTION_CH0:
|
||||
|
||||
.if $isdefed("DEBUG_CODE")
|
||||
;For the current channel, compare against the High threshold, Low threshold and ZC thresholds (if enabled)
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH0_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
@ -322,8 +359,10 @@ BELOW_THRESHOLD_START_CH0:
|
||||
LBBO &GPIO_TGL_ADDR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH0_SET_VAL_ADDR_OFFSET, SDFM_CFG_GPIO_CLR_ADDR_SZ
|
||||
LBBO &TEMP_REG3, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH0_WRITE_VAL_OFFSET, SDFM_CFG_GPIO_VALUE_SZ
|
||||
SBBO &TEMP_REG3, GPIO_TGL_ADDR, 0, SDFM_CFG_GPIO_VALUE_SZ
|
||||
COMP_CH0_END:
|
||||
.endif
|
||||
|
||||
COMP_CH0_END:
|
||||
|
||||
.if $isdefed("DEBUG_CODE")
|
||||
;GPIO LOW
|
||||
LBBO &GPIO_TGL_ADDR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_HIGH_THR_CH0_CLR_VAL_ADDR_OFFSET, SDFM_CFG_GPIO_CLR_ADDR_SZ
|
||||
@ -365,7 +404,45 @@ COMP_CH0_END:
|
||||
.endif
|
||||
|
||||
;Comparator for Ch1
|
||||
MOV TEMP_REG2, CN5
|
||||
MOV TEMP_REG2, CN5
|
||||
|
||||
;Trip Zone based over current detection
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH1_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_LOW_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_CH1_OFFSET, SDFM_CFG_OC_LOW_THR_SZ
|
||||
;PWM0 register offset
|
||||
LDI TEMP_REG1, ICSSG_CFG_PWMx
|
||||
LBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Check if the sample value is greater than the high threshold
|
||||
QBGE OVER_CURRENT_HIGH_THRESHOLD_CH1, OC_HIGH_THR, TEMP_REG2
|
||||
;Unset in DMEM
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH1_OFFSET, 1
|
||||
;Check if the sample value is lower than the low threshold
|
||||
QBLE OVER_CURRENT_LOW_THRESHOLD_CH1, OC_LOW_THR, TEMP_REG2
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH1_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH1
|
||||
OVER_CURRENT_HIGH_THRESHOLD_CH1:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Store DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH1_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH1
|
||||
OVER_CURRENT_LOW_THRESHOLD_CH1:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;set bit store in DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH1_OFFSET, 1
|
||||
END_OVER_CURRENT_DETECTION_CH1:
|
||||
|
||||
|
||||
.if $isdefed("DEBUG_CODE")
|
||||
;For the current channel, compare against the High threshold, Low threshold and ZC thresholds (if enabled)
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH1_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
@ -402,6 +479,8 @@ BELOW_THRESHOLD_START_CH1:
|
||||
LBBO &GPIO_TGL_ADDR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH1_SET_VAL_ADDR_OFFSET, SDFM_CFG_GPIO_SET_ADDR_SZ
|
||||
LBBO &TEMP_REG3, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH1_WRITE_VAL_OFFSET, SDFM_CFG_GPIO_VALUE_SZ
|
||||
SBBO &TEMP_REG3, GPIO_TGL_ADDR, 0, SDFM_CFG_GPIO_VALUE_SZ
|
||||
.endif
|
||||
|
||||
COMP_CH1_END:
|
||||
|
||||
.if $isdefed("DEBUG_CODE")
|
||||
@ -444,7 +523,44 @@ COMP_CH1_END:
|
||||
.endif
|
||||
|
||||
;Comparator for Ch2
|
||||
MOV TEMP_REG2, CN5
|
||||
MOV TEMP_REG2, CN5
|
||||
|
||||
;Trip Zone based over current detection
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH2_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_LOW_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_CH2_OFFSET, SDFM_CFG_OC_LOW_THR_SZ
|
||||
;PWM0 register offset
|
||||
LDI TEMP_REG1, ICSSG_CFG_PWMx
|
||||
LBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Check if the sample value is greater than the high threshold
|
||||
QBGE OVER_CURRENT_HIGH_THRESHOLD_CH2, OC_HIGH_THR, TEMP_REG2
|
||||
;Unset in DMEM
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH2_OFFSET, 1
|
||||
;Check if the sample value is lower than the low threshold
|
||||
QBLE OVER_CURRENT_LOW_THRESHOLD_CH2, OC_LOW_THR, TEMP_REG2
|
||||
LDI TEMP_REG0.b0, 0
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH2_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH2
|
||||
OVER_CURRENT_HIGH_THRESHOLD_CH2:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;Store in DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_STATUS_CH2_OFFSET, 1
|
||||
JMP END_OVER_CURRENT_DETECTION_CH2
|
||||
OVER_CURRENT_LOW_THRESHOLD_CH2:
|
||||
;Generate PWM trip
|
||||
SET TEMP_REG0.b2.t3
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
;set bit store in DMEM
|
||||
LDI TEMP_REG0.b0, 1
|
||||
SBBO &TEMP_REG0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_LOW_THR_STATUS_CH2_OFFSET, 1
|
||||
END_OVER_CURRENT_DETECTION_CH2:
|
||||
|
||||
.if $isdefed("DEBUG_CODE")
|
||||
;For the current channel, compare against the High threshold, Low threshold and ZC thresholds (if enabled)
|
||||
;Load the positive threshold value for current channel
|
||||
LBBO &OC_HIGH_THR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_OC_HIGH_THR_CH2_OFFSET, SDFM_CFG_OC_HIGH_THR_SZ
|
||||
@ -481,6 +597,7 @@ BELOW_THRESHOLD_START_CH2:
|
||||
LBBO &GPIO_TGL_ADDR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH2_SET_VAL_ADDR_OFFSET, SDFM_CFG_GPIO_CLR_ADDR_SZ
|
||||
LBBO &TEMP_REG3, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH2_WRITE_VAL_OFFSET, SDFM_CFG_GPIO_VALUE_SZ
|
||||
SBBO &TEMP_REG3, GPIO_TGL_ADDR, 0, SDFM_CFG_GPIO_CLR_ADDR_SZ
|
||||
.endif
|
||||
|
||||
COMP_CH2_END:
|
||||
|
||||
@ -963,20 +1080,37 @@ reset_sd_ch_hw_loop_end:
|
||||
|
||||
;
|
||||
;PWM trip zone block configuration
|
||||
FN_CONFIG_PWM_REG:
|
||||
;set trip mask
|
||||
;PWM0 register offset
|
||||
FN_CONFIG_PWM_REG:
|
||||
;PWMx register offset
|
||||
LDI TEMP_REG1, ICSSG_CFG_PWMx
|
||||
LBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
QBNE SDFM_MASK_SKIP1_CH0, SD_CH0_ID, 0
|
||||
OR TEMP_REG0.b1, TEMP_REG0.b1, 1
|
||||
SDFM_MASK_SKIP1_CH0
|
||||
QBNE SDFM_MASK_SKIP1_CH1, SD_CH1_ID, 1
|
||||
OR TEMP_REG0.b1, TEMP_REG0.b1, 2
|
||||
SDFM_MASK_SKIP1_CH1
|
||||
QBNE SDFM_MASK_SKIP1_CH2, SD_CH2_ID, 2
|
||||
;set trip mask for over current error
|
||||
LBBO &COMPARATOR_EN, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_EN_COMP_OFFSET, SDFM_CFG_EN_COMP_SZ
|
||||
QBBC SKIP_OVER_CURRENT_MASK, COMPARATOR_EN, SDFM_CFG_EN_COMP_BIT
|
||||
SET TEMP_REG0.b1, TEMP_REG0.b1, 1
|
||||
SKIP_OVER_CURRENT_MASK:
|
||||
;set trip mask for fast detect block error
|
||||
;Load fast detect enable bits
|
||||
LBBO &TEMP_REG2.w0, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_CH_ID_OFFSET, SDFM_CFG_SD_CH_ID_SZ
|
||||
LBBO &TEMP_REG3, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_EN_FD_OFFSET, 1
|
||||
QBBC END_MASK_CONFIG, TEMP_REG3, 0
|
||||
AND TEMP_REG1.b0, TEMP_REG2.b0, 0xF
|
||||
QBNE SDFM_MASK_SKIP1_CH0, TEMP_REG1.b0, SD_CH0_ID
|
||||
OR TEMP_REG0.b1, TEMP_REG0.b1, 4
|
||||
SDFM_MASK_SKIP1_CH2:
|
||||
SDFM_MASK_SKIP1_CH0
|
||||
LSR TEMP_REG2, TEMP_REG2, 4
|
||||
AND TEMP_REG1.b0, TEMP_REG2.b0, 0xF
|
||||
QBNE SDFM_MASK_SKIP1_CH1, TEMP_REG1.b0, SD_CH1_ID
|
||||
OR TEMP_REG0.b1, TEMP_REG0.b1, 8
|
||||
SDFM_MASK_SKIP1_CH1
|
||||
LSR TEMP_REG2, TEMP_REG2, 4
|
||||
AND TEMP_REG1.b0, TEMP_REG2.b0, 0xF
|
||||
QBNE SDFM_MASK_SKIP1_CH2, TEMP_REG1.b0, SD_CH2_ID
|
||||
OR TEMP_REG0.b1, TEMP_REG0.b1, 16
|
||||
SDFM_MASK_SKIP1_CH2:
|
||||
|
||||
END_MASK_CONFIG:
|
||||
LDI TEMP_REG1, ICSSG_CFG_PWMx
|
||||
SBCO &TEMP_REG0, CT_PRU_ICSSG_CFG, TEMP_REG1, 4
|
||||
|
||||
JMP RET_ADDR_REG
|
||||
@ -1021,7 +1155,7 @@ END_PHASE_DELAY:
|
||||
LSR TEMP_REG0, TEMP_REG1.w0, 3
|
||||
SUB TEMP_REG0, TEMP_REG2,TEMP_REG0
|
||||
QBLT SDFM_CLOCK_PHASE_COMPENSATION, TEMP_REG0, 1
|
||||
SBCO &TEMP_REG1, CT_PRU_ICSSG_LOC_DMEM, SDFM_CFG_SD_CLOCK_PHASE_DELAY, 4
|
||||
SBBO &TEMP_REG1, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_SD_CLOCK_PHASE_DELAY, 4
|
||||
JMP RET_ADDR_REG
|
||||
|
||||
;
|
||||
|
||||
@ -15,11 +15,11 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x24000001,
|
||||
0x81200b01,
|
||||
0x10000000,
|
||||
0x91171801,
|
||||
0xf1171701,
|
||||
0xc9000104,
|
||||
0x2301c999,
|
||||
0x2301d299,
|
||||
0x1d00e1e1,
|
||||
0x81171801,
|
||||
0xe1171701,
|
||||
0xf1001701,
|
||||
0xcf0001ff,
|
||||
0x1f00e1e1,
|
||||
@ -27,9 +27,9 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x91340401,
|
||||
0x1f01e1e1,
|
||||
0x81340401,
|
||||
0x23011c99,
|
||||
0x23011999,
|
||||
0x32800000,
|
||||
0x23012399,
|
||||
0x23012099,
|
||||
0x240c00c2,
|
||||
0x24000082,
|
||||
0xf1021701,
|
||||
@ -53,13 +53,13 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x0b04e1e1,
|
||||
0x110fe1e2,
|
||||
0x10020256,
|
||||
0x23013d99,
|
||||
0x23025e99,
|
||||
0x23014199,
|
||||
0x23017199,
|
||||
0x2301b699,
|
||||
0x23013a99,
|
||||
0x23026799,
|
||||
0x23013e99,
|
||||
0x23016e99,
|
||||
0x2301b399,
|
||||
0x1f19fefe,
|
||||
0x2301bf99,
|
||||
0x2301bc99,
|
||||
0x240fffd5,
|
||||
0x24ffff95,
|
||||
0x240000d4,
|
||||
@ -76,13 +76,13 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0xf114179a,
|
||||
0xd1009a02,
|
||||
0x21004c00,
|
||||
0xc9019a26,
|
||||
0xc9019a25,
|
||||
0x10161602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5e9e6,
|
||||
@ -95,32 +95,31 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1203793,
|
||||
0xf124379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf140379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf144379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf150379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf14c379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0xc9029a26,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1281701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1291701,
|
||||
0x21007200,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1281701,
|
||||
0x21007200,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1291701,
|
||||
0xc9029a25,
|
||||
0x10363602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5ece6,
|
||||
@ -133,32 +132,31 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1643793,
|
||||
0xf168379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf184379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf188379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf194379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf190379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0xc9039a26,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe16c1701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe16d1701,
|
||||
0x21009700,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16c1701,
|
||||
0x21009700,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16d1701,
|
||||
0xc9039a25,
|
||||
0x10565682,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xcf1cffae,
|
||||
0xcf1cffb0,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5efe6,
|
||||
@ -171,26 +169,25 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1a83793,
|
||||
0xf1ac379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf1c8379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf1cc379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf1d8379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf1d4379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x7f00008e,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1b01701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1b11701,
|
||||
0x2100bc00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b01701,
|
||||
0x2100bc00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b11701,
|
||||
0x7f000091,
|
||||
0x24000000,
|
||||
0x107e7e12,
|
||||
0x2f852381,
|
||||
@ -250,10 +247,10 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0xf1083782,
|
||||
0x58e2e103,
|
||||
0x81983a81,
|
||||
0x2100fe00,
|
||||
0x2100fb00,
|
||||
0x04e2e1e1,
|
||||
0x81983a81,
|
||||
0x21011100,
|
||||
0x21010e00,
|
||||
0x59031c07,
|
||||
0xf1f43781,
|
||||
0x91983a82,
|
||||
@ -285,7 +282,7 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x10000000,
|
||||
0x24000b01,
|
||||
0x81000a01,
|
||||
0x2400c081,
|
||||
0x2400bd81,
|
||||
0x810c0a81,
|
||||
0x24140081,
|
||||
0x81380a81,
|
||||
@ -337,7 +334,7 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21016c00,
|
||||
0x21016900,
|
||||
0x6836030d,
|
||||
0xf1621701,
|
||||
0xc9010417,
|
||||
@ -350,7 +347,7 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21016c00,
|
||||
0x21016900,
|
||||
0x6856030c,
|
||||
0xf1a61701,
|
||||
0xc902040a,
|
||||
@ -392,7 +389,7 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x2101b100,
|
||||
0x2101ae00,
|
||||
0x68360314,
|
||||
0x24000081,
|
||||
0xf17c1741,
|
||||
@ -412,7 +409,7 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x2101b100,
|
||||
0x2101ae00,
|
||||
0x68560313,
|
||||
0x24000081,
|
||||
0xf1c01741,
|
||||
@ -448,12 +445,24 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0x20990000,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x69001602,
|
||||
0x13012121,
|
||||
0x69013602,
|
||||
0x13022121,
|
||||
0x69025602,
|
||||
0xf114179a,
|
||||
0xc9009a02,
|
||||
0x1f012121,
|
||||
0xf1103783,
|
||||
0xf1161704,
|
||||
0xc900e40c,
|
||||
0x110f0302,
|
||||
0x68160202,
|
||||
0x13042121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68360202,
|
||||
0x13082121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68560202,
|
||||
0x13102121,
|
||||
0x240130e2,
|
||||
0x80e22481,
|
||||
0x20990000,
|
||||
0x240001c2,
|
||||
@ -485,53 +494,53 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0xd1005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000042,
|
||||
0x21025900,
|
||||
0x21026200,
|
||||
0x240000e2,
|
||||
0x31070043,
|
||||
0xd1011f00,
|
||||
@ -554,56 +563,56 @@ const uint32_t SDFM_PRU0_image_0[] = {
|
||||
0xc9005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000142,
|
||||
0x0b0382e1,
|
||||
0x04e1e3e1,
|
||||
0x4f01e16e,
|
||||
0x81183882,
|
||||
0xe1183782,
|
||||
0x20990000,
|
||||
0x240280c1,
|
||||
0x24000081,
|
||||
|
||||
@ -15,11 +15,11 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x24000001,
|
||||
0x81200b01,
|
||||
0x10000000,
|
||||
0x91171801,
|
||||
0xf1171701,
|
||||
0xc9000104,
|
||||
0x2301c999,
|
||||
0x2301d299,
|
||||
0x1d00e1e1,
|
||||
0x81171801,
|
||||
0xe1171701,
|
||||
0xf1001701,
|
||||
0xcf0001ff,
|
||||
0x1f00e1e1,
|
||||
@ -27,9 +27,9 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x91340401,
|
||||
0x1f01e1e1,
|
||||
0x81340401,
|
||||
0x23011c99,
|
||||
0x23011999,
|
||||
0x32800000,
|
||||
0x23012399,
|
||||
0x23012099,
|
||||
0x240c00c2,
|
||||
0x24000082,
|
||||
0xf1021701,
|
||||
@ -53,13 +53,13 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x0b04e1e1,
|
||||
0x110fe1e2,
|
||||
0x10020256,
|
||||
0x23013d99,
|
||||
0x23025e99,
|
||||
0x23014199,
|
||||
0x23017199,
|
||||
0x2301b699,
|
||||
0x23013a99,
|
||||
0x23026799,
|
||||
0x23013e99,
|
||||
0x23016e99,
|
||||
0x2301b399,
|
||||
0x1f19fefe,
|
||||
0x2301bf99,
|
||||
0x2301bc99,
|
||||
0x240fffd5,
|
||||
0x24ffff95,
|
||||
0x240000d4,
|
||||
@ -76,13 +76,13 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0xf114179a,
|
||||
0xd1009a02,
|
||||
0x21004c00,
|
||||
0xc9019a26,
|
||||
0xc9019a25,
|
||||
0x10161602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5e9e6,
|
||||
@ -95,32 +95,31 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1203793,
|
||||
0xf124379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf140379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf144379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf150379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf14c379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0xc9029a26,
|
||||
0x240134e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1281701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1291701,
|
||||
0x21007200,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1281701,
|
||||
0x21007200,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1291701,
|
||||
0xc9029a25,
|
||||
0x10363602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5ece6,
|
||||
@ -133,32 +132,31 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1643793,
|
||||
0xf168379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf184379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf188379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf194379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf190379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0xc9039a26,
|
||||
0x240134e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe16c1701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe16d1701,
|
||||
0x21009700,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16c1701,
|
||||
0x21009700,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16d1701,
|
||||
0xc9039a25,
|
||||
0x10565682,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xcf1cffae,
|
||||
0xcf1cffb0,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5efe6,
|
||||
@ -171,26 +169,25 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1a83793,
|
||||
0xf1ac379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf1c8379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf1cc379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf1d8379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf1d4379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x7f00008e,
|
||||
0x240134e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1b01701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1b11701,
|
||||
0x2100bc00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b01701,
|
||||
0x2100bc00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b11701,
|
||||
0x7f000091,
|
||||
0x24000000,
|
||||
0x107e7e12,
|
||||
0x2f852381,
|
||||
@ -250,10 +247,10 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0xf1083782,
|
||||
0x58e2e103,
|
||||
0x81983a81,
|
||||
0x2100fe00,
|
||||
0x2100fb00,
|
||||
0x04e2e1e1,
|
||||
0x81983a81,
|
||||
0x21011100,
|
||||
0x21010e00,
|
||||
0x59031c07,
|
||||
0xf1f43781,
|
||||
0x91983a82,
|
||||
@ -285,7 +282,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x10000000,
|
||||
0x24000b01,
|
||||
0x81000a01,
|
||||
0x2400c081,
|
||||
0x2400bd81,
|
||||
0x810c0a81,
|
||||
0x24140081,
|
||||
0x81380a81,
|
||||
@ -337,7 +334,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21016c00,
|
||||
0x21016900,
|
||||
0x6836030d,
|
||||
0xf1621701,
|
||||
0xc9010417,
|
||||
@ -350,7 +347,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21016c00,
|
||||
0x21016900,
|
||||
0x6856030c,
|
||||
0xf1a61701,
|
||||
0xc902040a,
|
||||
@ -392,7 +389,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x2101b100,
|
||||
0x2101ae00,
|
||||
0x68360314,
|
||||
0x24000081,
|
||||
0xf17c1741,
|
||||
@ -412,7 +409,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x2101b100,
|
||||
0x2101ae00,
|
||||
0x68560313,
|
||||
0x24000081,
|
||||
0xf1c01741,
|
||||
@ -448,12 +445,24 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0x20990000,
|
||||
0x240134e2,
|
||||
0x90e22481,
|
||||
0x69001602,
|
||||
0x13012121,
|
||||
0x69013602,
|
||||
0x13022121,
|
||||
0x69025602,
|
||||
0xf114179a,
|
||||
0xc9009a02,
|
||||
0x1f012121,
|
||||
0xf1103783,
|
||||
0xf1161704,
|
||||
0xc900e40c,
|
||||
0x110f0302,
|
||||
0x68160202,
|
||||
0x13042121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68360202,
|
||||
0x13082121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68560202,
|
||||
0x13102121,
|
||||
0x240134e2,
|
||||
0x80e22481,
|
||||
0x20990000,
|
||||
0x240001c2,
|
||||
@ -485,53 +494,53 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0xd1005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21021300,
|
||||
0x21021c00,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000042,
|
||||
0x21025900,
|
||||
0x21026200,
|
||||
0x240000e2,
|
||||
0x31070043,
|
||||
0xd1011f00,
|
||||
@ -554,56 +563,56 @@ const uint32_t pru_SDFM_PRU0_image_0[] = {
|
||||
0xc9005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21025800,
|
||||
0x21026100,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000142,
|
||||
0x0b0382e1,
|
||||
0x04e1e3e1,
|
||||
0x4f01e16e,
|
||||
0x81183882,
|
||||
0xe1183782,
|
||||
0x20990000,
|
||||
0x240280c1,
|
||||
0x24000081,
|
||||
|
||||
@ -15,11 +15,11 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x24000001,
|
||||
0x81200b01,
|
||||
0x10000000,
|
||||
0x91171801,
|
||||
0xf1171701,
|
||||
0xc9000104,
|
||||
0x2301a799,
|
||||
0x2301b099,
|
||||
0x1d00e1e1,
|
||||
0x81171801,
|
||||
0xe1171701,
|
||||
0xf1001701,
|
||||
0xcf0001ff,
|
||||
0x1f00e1e1,
|
||||
@ -27,7 +27,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x91340401,
|
||||
0x1f03e1e1,
|
||||
0x81340401,
|
||||
0x2300fa99,
|
||||
0x2300f799,
|
||||
0x32800000,
|
||||
0xf1021701,
|
||||
0x51010104,
|
||||
@ -45,12 +45,12 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x0b04e1e1,
|
||||
0x110fe1e2,
|
||||
0x10020256,
|
||||
0x23011b99,
|
||||
0x23011f99,
|
||||
0x23014f99,
|
||||
0x23019499,
|
||||
0x23011899,
|
||||
0x23011c99,
|
||||
0x23014c99,
|
||||
0x23019199,
|
||||
0x1f19fefe,
|
||||
0x23019d99,
|
||||
0x23019a99,
|
||||
0x240fffd5,
|
||||
0x24ffff95,
|
||||
0x240000d4,
|
||||
@ -64,13 +64,13 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0xf114179a,
|
||||
0xd1009a02,
|
||||
0x21004000,
|
||||
0xc9019a26,
|
||||
0xc9019a25,
|
||||
0x10161602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5e9e6,
|
||||
@ -83,32 +83,31 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1203793,
|
||||
0xf124379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf140379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf144379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf150379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf14c379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0xc9029a26,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1281701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1291701,
|
||||
0x21006600,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1281701,
|
||||
0x21006600,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1291701,
|
||||
0xc9029a25,
|
||||
0x10363602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5ece6,
|
||||
@ -121,32 +120,31 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1643793,
|
||||
0xf168379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf184379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf188379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf194379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf190379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0xc9039a26,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe16c1701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe16d1701,
|
||||
0x21008b00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16c1701,
|
||||
0x21008b00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16d1701,
|
||||
0xc9039a25,
|
||||
0x10565682,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xcf1cffae,
|
||||
0xcf1cffb0,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5efe6,
|
||||
@ -159,26 +157,25 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1a83793,
|
||||
0xf1ac379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf1c8379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf1cc379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf1d8379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf1d4379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x7f00008e,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1b01701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1b11701,
|
||||
0x2100b000,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b01701,
|
||||
0x2100b000,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b11701,
|
||||
0x7f000091,
|
||||
0x24000000,
|
||||
0x107e7e12,
|
||||
0x2f852381,
|
||||
@ -229,7 +226,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x0108f4e1,
|
||||
0xe0e13788,
|
||||
0xc9017c02,
|
||||
0x2100ef00,
|
||||
0x2100ec00,
|
||||
0x59031c03,
|
||||
0x01011c1c,
|
||||
0x7900000b,
|
||||
@ -251,7 +248,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x10000000,
|
||||
0x24000b01,
|
||||
0x81000a01,
|
||||
0x2400b481,
|
||||
0x2400b181,
|
||||
0x810c0a81,
|
||||
0x24140081,
|
||||
0x81380a81,
|
||||
@ -303,7 +300,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21014a00,
|
||||
0x21014700,
|
||||
0x6836030d,
|
||||
0xf1621701,
|
||||
0xc9010417,
|
||||
@ -316,7 +313,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21014a00,
|
||||
0x21014700,
|
||||
0x6856030c,
|
||||
0xf1a61701,
|
||||
0xc902040a,
|
||||
@ -358,7 +355,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x21018f00,
|
||||
0x21018c00,
|
||||
0x68360314,
|
||||
0x24000081,
|
||||
0xf17c1741,
|
||||
@ -378,7 +375,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x21018f00,
|
||||
0x21018c00,
|
||||
0x68560313,
|
||||
0x24000081,
|
||||
0xf1c01741,
|
||||
@ -414,12 +411,24 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0x20990000,
|
||||
0x240130e2,
|
||||
0x90e22481,
|
||||
0x69001602,
|
||||
0x13012121,
|
||||
0x69013602,
|
||||
0x13022121,
|
||||
0x69025602,
|
||||
0xf114179a,
|
||||
0xc9009a02,
|
||||
0x1f012121,
|
||||
0xf1103783,
|
||||
0xf1161704,
|
||||
0xc900e40c,
|
||||
0x110f0302,
|
||||
0x68160202,
|
||||
0x13042121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68360202,
|
||||
0x13082121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68560202,
|
||||
0x13102121,
|
||||
0x240130e2,
|
||||
0x80e22481,
|
||||
0x20990000,
|
||||
0x240001c2,
|
||||
@ -451,53 +460,53 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0xd1005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x2101f100,
|
||||
0x2101fa00,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000042,
|
||||
0x21023700,
|
||||
0x21024000,
|
||||
0x240000e2,
|
||||
0x31070043,
|
||||
0xd1011f00,
|
||||
@ -520,56 +529,56 @@ const uint32_t pru_SDFM_RTU0_image_0[] = {
|
||||
0xc9005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000142,
|
||||
0x0b0382e1,
|
||||
0x04e1e3e1,
|
||||
0x4f01e16e,
|
||||
0x81183882,
|
||||
0xe1183782,
|
||||
0x20990000,
|
||||
0x240280c1,
|
||||
0x24000081,
|
||||
|
||||
@ -15,18 +15,18 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x24000001,
|
||||
0x81200b01,
|
||||
0x10000000,
|
||||
0x91171801,
|
||||
0xf1171701,
|
||||
0xc9000104,
|
||||
0x2301a699,
|
||||
0x2301af99,
|
||||
0x1d00e1e1,
|
||||
0x81171801,
|
||||
0xe1171701,
|
||||
0xf1001701,
|
||||
0xcf0001ff,
|
||||
0x1f00e1e1,
|
||||
0xe1011701,
|
||||
0x91340401,
|
||||
0x81340401,
|
||||
0x2300f999,
|
||||
0x2300f699,
|
||||
0x32800000,
|
||||
0xf1021701,
|
||||
0x51010104,
|
||||
@ -44,12 +44,12 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x0b04e1e1,
|
||||
0x110fe1e2,
|
||||
0x10020256,
|
||||
0x23011a99,
|
||||
0x23011e99,
|
||||
0x23014e99,
|
||||
0x23019399,
|
||||
0x23011799,
|
||||
0x23011b99,
|
||||
0x23014b99,
|
||||
0x23019099,
|
||||
0x1f19fefe,
|
||||
0x23019c99,
|
||||
0x23019999,
|
||||
0x240fffd5,
|
||||
0x24ffff95,
|
||||
0x240000d4,
|
||||
@ -63,13 +63,13 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0xf114179a,
|
||||
0xd1009a02,
|
||||
0x21003f00,
|
||||
0xc9019a26,
|
||||
0xc9019a25,
|
||||
0x10161602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5e9e6,
|
||||
@ -82,32 +82,31 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1203793,
|
||||
0xf124379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf140379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf144379d,
|
||||
0xf13c3784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf150379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf14c379d,
|
||||
0xf1483784,
|
||||
0xe1003d84,
|
||||
0xc9029a26,
|
||||
0x240138e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1281701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1291701,
|
||||
0x21006500,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1281701,
|
||||
0x21006500,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1291701,
|
||||
0xc9029a25,
|
||||
0x10363602,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xc91cff20,
|
||||
0xc91cff1f,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5ece6,
|
||||
@ -120,32 +119,31 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1643793,
|
||||
0xf168379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf184379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf188379d,
|
||||
0xf1803784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf194379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf190379d,
|
||||
0xf18c3784,
|
||||
0xe1003d84,
|
||||
0xc9039a26,
|
||||
0x240138e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe16c1701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe16d1701,
|
||||
0x21008a00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16c1701,
|
||||
0x21008a00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe16d1701,
|
||||
0xc9039a25,
|
||||
0x10565682,
|
||||
0x09020202,
|
||||
0x1f010202,
|
||||
0x1002027e,
|
||||
0x10000000,
|
||||
0xcf1cffae,
|
||||
0xcf1cffb0,
|
||||
0x1f18ffff,
|
||||
0x10f5ffe5,
|
||||
0x0ce5efe6,
|
||||
@ -158,26 +156,25 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x10e8e8e3,
|
||||
0xf1a83793,
|
||||
0xf1ac379b,
|
||||
0x70e3f304,
|
||||
0x58e3f307,
|
||||
0x70e3fb0a,
|
||||
0x58e3fb0d,
|
||||
0xf1c8379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000fb,
|
||||
0xf1cc379d,
|
||||
0xf1c43784,
|
||||
0xe1003d84,
|
||||
0x7f0000f7,
|
||||
0xf1d8379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x79000004,
|
||||
0xf1d4379d,
|
||||
0xf1d03784,
|
||||
0xe1003d84,
|
||||
0x7f00008e,
|
||||
0x240138e2,
|
||||
0x90e22481,
|
||||
0x70e3f307,
|
||||
0x24000001,
|
||||
0xe1b01701,
|
||||
0x58e3fb09,
|
||||
0x24000001,
|
||||
0xe1b11701,
|
||||
0x2100af00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b01701,
|
||||
0x2100af00,
|
||||
0x1f034141,
|
||||
0x80e22481,
|
||||
0x24000101,
|
||||
0xe1b11701,
|
||||
0x7f000091,
|
||||
0x24000000,
|
||||
0x107e7e12,
|
||||
0x2f852381,
|
||||
@ -228,7 +225,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x0108f4e1,
|
||||
0xe0e13788,
|
||||
0xc9017c02,
|
||||
0x2100ee00,
|
||||
0x2100eb00,
|
||||
0x59031c03,
|
||||
0x01011c1c,
|
||||
0x7900000b,
|
||||
@ -250,7 +247,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x10000000,
|
||||
0x24000b01,
|
||||
0x81001c01,
|
||||
0x2400b381,
|
||||
0x2400b081,
|
||||
0x810c1c81,
|
||||
0x24140081,
|
||||
0x81381c81,
|
||||
@ -302,7 +299,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21014900,
|
||||
0x21014600,
|
||||
0x6836030d,
|
||||
0xf1621701,
|
||||
0xc9010417,
|
||||
@ -315,7 +312,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x09015341,
|
||||
0x13414141,
|
||||
0x13804141,
|
||||
0x21014900,
|
||||
0x21014600,
|
||||
0x6856030c,
|
||||
0xf1a61701,
|
||||
0xc902040a,
|
||||
@ -357,7 +354,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x21018e00,
|
||||
0x21018b00,
|
||||
0x68360314,
|
||||
0x24000081,
|
||||
0xf17c1741,
|
||||
@ -377,7 +374,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x09033b21,
|
||||
0x09011b41,
|
||||
0x13414141,
|
||||
0x21018e00,
|
||||
0x21018b00,
|
||||
0x68560313,
|
||||
0x24000081,
|
||||
0xf1c01741,
|
||||
@ -413,12 +410,24 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0x20990000,
|
||||
0x240138e2,
|
||||
0x90e22481,
|
||||
0x69001602,
|
||||
0x13012121,
|
||||
0x69013602,
|
||||
0x13022121,
|
||||
0x69025602,
|
||||
0xf114179a,
|
||||
0xc9009a02,
|
||||
0x1f012121,
|
||||
0xf1103783,
|
||||
0xf1161704,
|
||||
0xc900e40c,
|
||||
0x110f0302,
|
||||
0x68160202,
|
||||
0x13042121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68360202,
|
||||
0x13082121,
|
||||
0x0b04e3e3,
|
||||
0x110f0302,
|
||||
0x68560202,
|
||||
0x13102121,
|
||||
0x240138e2,
|
||||
0x80e22481,
|
||||
0x20990000,
|
||||
0x240001c2,
|
||||
@ -450,53 +459,53 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0xd1005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x2101f000,
|
||||
0x2101f900,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000042,
|
||||
0x21023600,
|
||||
0x21023f00,
|
||||
0x240000e2,
|
||||
0x31070043,
|
||||
0xd1011f00,
|
||||
@ -519,56 +528,56 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = {
|
||||
0xc9005f2e,
|
||||
0x01018282,
|
||||
0x1b01e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01028282,
|
||||
0x1b02e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01038282,
|
||||
0x1b03e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01048282,
|
||||
0x1b04e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01058282,
|
||||
0x1b05e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01068282,
|
||||
0x1b06e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01078282,
|
||||
0x1b07e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01088282,
|
||||
0x1b08e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01098282,
|
||||
0x1b09e3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010a8282,
|
||||
0x1b0ae3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010b8282,
|
||||
0x1b0be3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010c8282,
|
||||
0x1b0ce3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010d8282,
|
||||
0x1b0de3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010e8282,
|
||||
0x1b0ee3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x010f8282,
|
||||
0x1b0fe3e3,
|
||||
0x21023500,
|
||||
0x21023e00,
|
||||
0x01108282,
|
||||
0x1b10e3e3,
|
||||
0x24000142,
|
||||
0x0b0382e1,
|
||||
0x04e1e3e1,
|
||||
0x4f01e16e,
|
||||
0x81183882,
|
||||
0xe1183782,
|
||||
0x20990000,
|
||||
0x240280c1,
|
||||
0x24000081,
|
||||
|
||||
@ -55,7 +55,7 @@ const buildOptionCombos = [
|
||||
|
||||
|
||||
let postBuildStepsPru = [
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h;"
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h;"
|
||||
];
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ function getComponentProperty() {
|
||||
property.dirPath = path.resolve(__dirname, "..");
|
||||
property.type = "executable";
|
||||
property.makefile = "pru";
|
||||
property.name = "sdfm_firmware";
|
||||
property.name = "sdfm_firmware_single_axis_single_pru";
|
||||
property.isInternal = false;
|
||||
property.description = "ICSS SDFM"
|
||||
property.buildOptionCombos = buildOptionCombos;
|
||||
|
||||
@ -1,99 +0,0 @@
|
||||
let path = require('path');
|
||||
|
||||
let device = "am64x";
|
||||
|
||||
const files = {
|
||||
common: [
|
||||
"sdfm.asm",
|
||||
"icssg_pru.cmd",
|
||||
],
|
||||
};
|
||||
|
||||
const filedirs = {
|
||||
common: [
|
||||
"..", /* core_os_combo base */
|
||||
"../..",
|
||||
"../../../..", /* Example base */
|
||||
],
|
||||
};
|
||||
|
||||
const includes = {
|
||||
common: [
|
||||
"${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware",
|
||||
],
|
||||
};
|
||||
|
||||
const readmeDoxygenPageTag = "SDFM_DESIGN";
|
||||
|
||||
const cflags_pru = {
|
||||
common: [
|
||||
"-v4",
|
||||
"-DSDFM_PRU_CORE",
|
||||
"-o2",
|
||||
"--display_error_number",
|
||||
"--hardware_mac=on",
|
||||
],
|
||||
};
|
||||
|
||||
const lflags_pru = {
|
||||
common: [
|
||||
"--disable_auto_rts",
|
||||
"--define=SDFM_PRU_CORE=1",
|
||||
"--warn_sections",
|
||||
"--entry_point=SDFM_ENTRY",
|
||||
"--zero_init=off",
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
const buildOptionCombos = [
|
||||
{ device: device, cpu: "icssg0-pru0", cgt: "ti-pru-cgt", board: "am64x-evm", os: "fw"},
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
let postBuildStepsPru = [
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_am64x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h;"
|
||||
];
|
||||
|
||||
|
||||
|
||||
function getComponentProperty() {
|
||||
let property = {};
|
||||
|
||||
property.dirPath = path.resolve(__dirname, "..");
|
||||
property.type = "executable";
|
||||
property.makefile = "pru";
|
||||
property.name = "sdfm_firmware";
|
||||
property.isInternal = false;
|
||||
property.description = "ICSS SDFM"
|
||||
property.buildOptionCombos = buildOptionCombos;
|
||||
property.pru_main_file = "main";
|
||||
property.pru_linker_file = "linker";
|
||||
property.isSkipTopLevelBuild = true;
|
||||
property.skipUpdatingTirex = true;
|
||||
|
||||
return property;
|
||||
}
|
||||
|
||||
function getComponentBuildProperty(buildOption) {
|
||||
let build_property = {};
|
||||
|
||||
build_property.files = files;
|
||||
build_property.filedirs = filedirs;
|
||||
build_property.includes = includes;
|
||||
build_property.cflags = cflags_pru;
|
||||
build_property.lflags = lflags_pru;
|
||||
build_property.readmeDoxygenPageTag = readmeDoxygenPageTag;
|
||||
build_property.projecspecFileAction = "copy";
|
||||
build_property.skipMakefileCcsBootimageGen = true;
|
||||
build_property.postBuildSteps = postBuildStepsPru;
|
||||
|
||||
return build_property;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getComponentProperty,
|
||||
getComponentBuildProperty,
|
||||
};
|
||||
@ -10,8 +10,8 @@
|
||||
</applicability>
|
||||
|
||||
<project
|
||||
title="Sdfm Firmware"
|
||||
name = "sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt"
|
||||
title="Sdfm Firmware Single Axis Single Pru"
|
||||
name = "sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt"
|
||||
products="com.ti.MOTOR_CONTROL_SDK_AMXXX;"
|
||||
configurations="
|
||||
Release,
|
||||
@ -46,7 +46,7 @@
|
||||
"
|
||||
linkerBuildOptions="
|
||||
-i${CG_TOOL_ROOT}/lib
|
||||
-m=sdfm_firmware.${ConfigName}.map
|
||||
-m=sdfm_firmware_single_axis_single_pru.${ConfigName}.map
|
||||
-llibc.a
|
||||
--disable_auto_rts
|
||||
--define=SDFM_PRU_CORE=1
|
||||
@ -56,10 +56,10 @@
|
||||
"
|
||||
|
||||
postBuildStep="
|
||||
$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h;
|
||||
$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h;
|
||||
"
|
||||
|
||||
description="A Sdfm Firmware FW project">
|
||||
description="A Sdfm Firmware Single Axis Single Pru FW project">
|
||||
|
||||
<configuration name="Release"
|
||||
compilerBuildOptions="
|
||||
|
||||
@ -66,35 +66,35 @@ LIBS := -llibc.a
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
EXE_OUTPUTS += \
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out \
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out \
|
||||
|
||||
EXE_OUTPUTS__QUOTED += \
|
||||
"sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out" \
|
||||
"sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out" \
|
||||
|
||||
BIN_OUTPUTS += \
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex \
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex \
|
||||
|
||||
BIN_OUTPUTS__QUOTED += \
|
||||
"sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex" \
|
||||
"sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex" \
|
||||
|
||||
|
||||
# All Target
|
||||
all: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
|
||||
@$(MAKE) --no-print-directory -Onone "sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out"
|
||||
@$(MAKE) --no-print-directory -Onone "sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out"
|
||||
|
||||
# Tool invocations
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out: $(OBJS) $(CMD_SRCS) $(GEN_CMDS)
|
||||
@echo 'Building target: "$@"'
|
||||
@echo 'Invoking: PRU Linker'
|
||||
"$(CG_TOOL_ROOT)/bin/clpru" -DICSSG0 -DPRU0 -DSLICE0 -v4 -v4 -DSDFM_PRU_CORE -o2 --display_error_number --hardware_mac=on --define=SOC_AM243X --define=_DEBUG_=1 -g --diag_warning=225 --diag_wrap=off --display_error_number --endian=little -z -m"sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.map" -i"$(CG_TOOL_ROOT)/lib" --diag_wrap=off --display_error_number --warn_sections --xml_link_info="sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_linkInfo.xml" --rom_model -o "sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out" $(ORDERED_OBJS)
|
||||
"$(CG_TOOL_ROOT)/bin/clpru" -DICSSG0 -DPRU0 -DSLICE0 -v4 -v4 -DSDFM_PRU_CORE -o2 --display_error_number --hardware_mac=on --define=SOC_AM243X --define=_DEBUG_=1 -g --diag_warning=225 --diag_wrap=off --display_error_number --endian=little -z -m"sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.map" -i"$(CG_TOOL_ROOT)/lib" --diag_wrap=off --display_error_number --warn_sections --xml_link_info="sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt_linkInfo.xml" --rom_model -o "sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out" $(ORDERED_OBJS)
|
||||
@echo 'Finished building target: "$@"'
|
||||
@echo ' '
|
||||
@$(MAKE) --no-print-directory post-build
|
||||
|
||||
sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex: $(EXE_OUTPUTS)
|
||||
sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex: $(EXE_OUTPUTS)
|
||||
@echo 'Building secondary target: "$@"'
|
||||
@echo 'Invoking: PRU Hex Utility'
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru" -o "sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex" $(EXE_OUTPUTS__QUOTED)
|
||||
"$(CG_TOOL_ROOT)/bin/hexpru" -o "sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.hex" $(EXE_OUTPUTS__QUOTED)
|
||||
@echo 'Finished building secondary target: "$@"'
|
||||
@echo ' '
|
||||
@$(MAKE) --no-print-directory post-build
|
||||
@ -108,7 +108,7 @@ clean:
|
||||
-@echo ' '
|
||||
|
||||
post-build:
|
||||
-$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h
|
||||
-$(CG_TOOL_ROOT)/bin/hexpru.exe --diag_wrap=off --array --array:name_prefix=SDFM_PRU0_image -o sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.out; move sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt.h ${MOTOR_CONTROL_SDK_PATH}/source/current_sense/sdfm/firmware/sdfm_bin.h
|
||||
-@echo ' '
|
||||
|
||||
.PHONY: all clean dependents
|
||||
|
||||
@ -7,7 +7,7 @@ include $(MOTOR_CONTROL_SDK_PATH)/imports.mak
|
||||
|
||||
PROFILE?=Release
|
||||
|
||||
PROJECT_NAME=sdfm_firmware_am243x-evm_icssg0-pru0_fw_ti-pru-cgt
|
||||
PROJECT_NAME=sdfm_firmware_single_axis_single_pru_am243x-evm_icssg0-pru0_fw_ti-pru-cgt
|
||||
|
||||
all:
|
||||
$(CCS_ECLIPSE) -noSplash -data $(MOTOR_CONTROL_SDK_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(PROJECT_NAME) -ccs.configuration $(PROFILE)
|
||||
|
||||
@ -311,25 +311,27 @@ uint64_t SDFM_getFirmwareVersion(sdfm_handle h_sdfm);
|
||||
*
|
||||
*/
|
||||
void SDFM_configFastDetect(sdfm_handle h_sdfm, uint8_t ch, uint8_t *fdParms);
|
||||
|
||||
/*
|
||||
* \brief This API returns the Trip status for the PWM trip zone block specified by pwmIns variable.
|
||||
* \brief This API returns the fast detect error status for specified SDFM channel number.
|
||||
*
|
||||
* \param[in] h_sdfm SDFM handle
|
||||
* \param[in] pwm current PWM instance
|
||||
* \param[in] \param[in] chNum SDFM channel number : Channel0-Channel9
|
||||
*
|
||||
* \retval Status of PWM Trip status bit
|
||||
* \retval stauts of fd error: 1 means error available & 0 menas no error, SystemP_FAILURE on not expected API parameters
|
||||
*
|
||||
*/
|
||||
uint32_t SDFM_getPwmTripStatus(sdfm_handle h_sdfm, uint8_t pwmIns);
|
||||
int32_t SDFM_getFastDetectErrorStatus(sdfm_handle h_sdfm, uint8_t chNum);
|
||||
|
||||
/*
|
||||
* \brief Clear PWM trip status for the PWM trip zone block specified by pwmIns variable.
|
||||
* \brief Clear PWM trip status of the corresponding PWM trip zone block for specified SDFM channel number.
|
||||
*
|
||||
* \param[in] h_sdfm SDFM handle
|
||||
* \param[in] pwm current PWM instance
|
||||
*
|
||||
* \param[in] chNum SDFM channel number : Channel0-Channel9
|
||||
*
|
||||
* \retval SystemP_SUCCESS on success, SystemP_FAILURE on error or not expected API parameters
|
||||
*/
|
||||
void SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t pwmIns);
|
||||
int32_t SDFM_clearPwmTripStatus(sdfm_handle h_sdfm, uint8_t chNum);
|
||||
/**
|
||||
*
|
||||
* \brief This API enables continuous normal current sampling
|
||||
@ -358,6 +360,37 @@ void SDFM_enableLoadShareMode(sdfm_handle h_sdfm, uint8_t sliceId);
|
||||
* \retval Phase delay in nano sec
|
||||
*/
|
||||
float SDFM_measureClockPhaseDelay(sdfm_handle h_sdfm, uint16_t clEdg);
|
||||
|
||||
/**
|
||||
*
|
||||
* \brief This API returns high threshold Status for specified SDFM channel number
|
||||
*
|
||||
* \param[in] h_sdfm SDFM handle
|
||||
* \param[in] chNum SDFM channel number : Channel0-Channel9
|
||||
*
|
||||
* \retval Status of Over current error for High threshold
|
||||
*/
|
||||
uint8_t SDFM_getLowThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum);
|
||||
|
||||
/**
|
||||
*
|
||||
* \brief This API returns high threshold Status for specified SDFM channel number
|
||||
* \param[in] h_sdfm SDFM handle
|
||||
* \param[in] chNum SDFM channel number : Channel0-Channel9
|
||||
*
|
||||
* \retval Status of over current error for Low Threshold
|
||||
*/
|
||||
uint8_t SDFM_getHighThresholdStatus(sdfm_handle h_sdfm, uint8_t chNum);
|
||||
|
||||
/**
|
||||
*
|
||||
* \brief This API clears Overcurrent error bit of corresponding PWM register for specified SDFM channel number
|
||||
* \param[in] h_sdfm SDFM handle
|
||||
* \param[in] chNum SDFM channel number : Channel0-Channel9
|
||||
*
|
||||
* \retval SystemP_SUCCESS on success, SystemP_FAILURE on not expected API parameters
|
||||
*/
|
||||
int32_t SDFM_clearOverCurrentError(sdfm_handle h_sdfm, uint8_t chNum);
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@ -43,7 +43,6 @@ extern "C" {
|
||||
#include <math.h>
|
||||
|
||||
|
||||
|
||||
/* ========================================================================== */
|
||||
/* Macros */
|
||||
/* ========================================================================== */
|
||||
@ -117,8 +116,6 @@ extern "C" {
|
||||
|
||||
|
||||
/* SDFM output buffer size in 32-bit words */
|
||||
|
||||
|
||||
#define ICSSG_SD_SAMP_CH_BUF_SZ ( 128 )
|
||||
#define NUM_CH_SUPPORTED_PER_AXIS ( 3 )
|
||||
#define SDFM_NINE_CH_MASK ( 0x1FF )
|
||||
@ -126,6 +123,20 @@ extern "C" {
|
||||
#define SDFM_CH_MASK_FOR_CH1_CH4_CH7 ( 0x92 )
|
||||
#define SDFM_CH_MASK_FOR_CH2_CH5_CH8 ( 0x124 )
|
||||
|
||||
/*SDFM Channel IDs*/
|
||||
#define SDFM_CHANNEL0 (0)
|
||||
#define SDFM_CHANNEL1 (1)
|
||||
#define SDFM_CHANNEL2 (2)
|
||||
#define SDFM_CHANNEL3 (3)
|
||||
#define SDFM_CHANNEL4 (4)
|
||||
#define SDFM_CHANNEL5 (5)
|
||||
#define SDFM_CHANNEL6 (6)
|
||||
#define SDFM_CHANNEL7 (7)
|
||||
#define SDFM_CHANNEL8 (8)
|
||||
|
||||
/*Fast detect ERROR mask*/
|
||||
#define SDFM_FD_ERROR_MASK_FOR_TRIP_VEC ( 0x3800000 )
|
||||
|
||||
#define SDFM_PHASE_DELAY_ACK_BIT_MASK (1)
|
||||
#define SDFM_PHASE_DELAY_CAL_LOOP_SIZE (8)
|
||||
|
||||
@ -247,8 +258,12 @@ typedef struct SDFM_ThresholdParms_s
|
||||
volatile uint32_t high_threshold;
|
||||
/**< Low threshold value */
|
||||
volatile uint32_t low_threshold;
|
||||
/**< reserved for zero crossing*/
|
||||
volatile uint32_t reserved3;
|
||||
/**< High Threshold status*/
|
||||
volatile uint8_t highThStatus;
|
||||
/**< High Threshold status*/
|
||||
volatile uint8_t lowThStatus;
|
||||
/**< reserved */
|
||||
volatile uint16_t reserved3;
|
||||
}SDFM_ThresholdParms;
|
||||
|
||||
/**
|
||||
@ -331,6 +346,7 @@ typedef struct SDFM_SampleOutInterface_s
|
||||
*/
|
||||
typedef struct SDFM_s {
|
||||
/**< PRU ID */
|
||||
PRUICSS_Handle gPruIcssHandle;
|
||||
uint8_t pru_id;
|
||||
uint32_t sdfm_clock;
|
||||
uint32_t iep_clock;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user