This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/MSP432P401R: How do I recompile SYS/BIOS in Simplelink 1.3

Part Number: MSP432P401R
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hi all,

I appoligize if this is in the wrong forum.  The old TI-RTOS forum seems to be closed now, and I can't find a replacement (e.g. SimpleLink, SYSBIOS etc).

As I've discussed in another post, I have a need to change the PowerMSP432.c file. 

  • I want to use the LDO rather than DCDC to reduce ADC measurement noice (i.e. change AM_DCDC_VCOREx to AM_LDO_VCORE0 for the different performance level settings). 
  • I want to use the HFXT rather than DCO to improving timing accuracy (i.e. change CS_DCOCLK_SELECT to CS_HFXTCLK_SELECT)

With TI-RTOS I could follow the instructions in Appendix A of the RTOS Users Guide  to recompile the RTOS.

With the change to SimpleLink, the instructions for recompiling appear to have stayed the same, but it doesn't work any more.  The instructions still point to using the bios.mak make file, but this file does not exist in SimpleLink installations and there is no other make file in the SimpleLink directory structure that would be a replacement. 

The manual mentions that SYS/BIOS can be rebuilt as part of the application build in CCS using the instructions in section 2.4.5.  Unfortunately, I don't follow how I can use CCS to recompile SYS/BIOS.  I have the "BIOS.libType = BIOS.LibType_Custom;" line in my .cfg file, but this does not seem to force CCS to rebuild SYS/BIOS with my change to PowerMSP432.c.

How can I recompile SYS/BIOS?

Cheers

Julian

  • Julian,
    You can create customer power settings to enable the LDO instead of the DCDC. Let me know if this is needed and I can provide an example.

    One simple means to change the PowerMSP432.c file is to simply move a copy into the project directory and edit. The APIs that are found in the project level will take priority over the pre-compiled library APIs. I have also received an example from a colleague, which uses driverLib api calls within the application code to modify the MCLK source to the HFXT. I would like to test and verify before I pass along to the forum but this is the idea:

    /* Initializing MCLK to HFXT (effectively 48MHz) */
    /* Configuring pins for peripheral/crystal HFXT */
    MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_PJ,
    GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION);
    MAP_CS_startHFXT(false);
    MAP_CS_initClockSignal(CS_MCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);
    MAP_CS_initClockSignal(CS_SMCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_2);

    Regards,
    Chris
  • Hi Julian,

    PowerMSP432.c is actually part of the drivers, not the kernel, so you don't need to rebuild SYS/BIOS.  There should be a makefile in

        <simplelink_msp432_sdk_install_dir>/source/ti/drivers,

    which can be used to rebuild the drivers.  This makefile includes ../../../imports.mak, where you will need to set a few environment variables, if you have installed things in non-default locations.  Then you can just run 'gmake' to build.  There is a gmake.exe provided with XDC tools.

    There is no makefile provided at the root of the simplelink sdk install dir, but we use the following top-level makefile internally to test builds:

    all:
        $(MAKE) -C kernel/tirtos/packages all
        $(MAKE) -C source/ti/drivers all
        $(MAKE) -C source/ti/display all
        $(MAKE) -C source/third_party/fatfs all

    clean:
        $(MAKE) -C source/third_party/fatfs clean
        $(MAKE) -C source/ti/display clean
        $(MAKE) -C source/ti/drivers clean
        $(MAKE) -C kernel/tirtos/packages clean

    You might find some of this useful.

    Best regards,

    Janet

  • G'Day Janet, Chris,

    I was looking for files called *.mak so I missed the files called "makefile"...
    Still, there is no bios.mak anymore so maybe the documentation needs a refresh.

    Chris' suggestion of copying the PowerMSP432.c file into my project is a great alternative to recompiling - quick, and makes version management much easier.

    I had missed the description in PoweManger432.h explaining how to add custom power modes. But its just as easy to copy PowerMSP432.c into the project and modify it as I need. I've enable the LDO, HFXT and even the LFXT (giving a more accurate RTCC). There was a bit of work in handling the power mode transitions properly, but doable.

    Thanks for your suport!

**Attention** This is a public forum