Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Hi,
I've started work on a new device that uses an MSP432 and simplelink_msp432_sdk_1_40_01_00. I prefer to develop with instrumentation enabled so that asserts are validated and logs are produced. However, 1.40.01.00 of the SDK doesn't ship with a pre-built instrumentation library. The libraries included in simplelink_msp432_sdk_1_40_01_00\source\ti\drivers\lib are: drivers_msp432p401x, drivers_msp432p4xx and drivers_msp432p4x1xi, with aem4f/am4fg/arm4f variants for each. I also can't find an instrumented dpl (kernel/tirtos/packages/ti/dpl) library, so all DebugP_logx functinos produce no output.
After googling how to use xdc properly, I managed to build the instrumented version of drivers myself. However, it failed to boot because the assertion at the start of GPIO_setConfig (line 414 in GPIOMSP432.c) fails during GPIO_init. The assert is below:
DebugP_assert(initCalled && index < GPIOMSP432_config.numberOfPinConfigs);
This fails because GPIO_init lines 324 - 334 tries to configure the pins before initCalled is set. Setting initCalled before the for loop fixes the issue.
However, this doesn't give me a lot of confidence in the quality of the SDK, so I have a few questions:
- Why was including the drivers via RTSC deprecated in favour of manually linking? This makes getting instrumentation quite a bit more difficult / tedious.
- Is the instrumented library well supported / tested? It seems difficult to get started which makes me feel it's not well used.
- If I want DebugP_xx to produce output, do I have to build dpl myself? I don't see any preprocessor magic that would cause logs not to work, but if I do DebugP_log0("test"), I get no output, whereas Log_print0(Diags_USER1, "test") (which is all DebugP_log0 does internally), then I see it in the logs. It's worth noting that I have logs enabled in my config, and I see normal sysbios entries in my log.
I just want to understand things a bit better before we decide to commit ourselves here.
Cheers