### Build All Examples Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md Execute this command from the SDK installation path to build all available examples. You can specify the build profile. ```bash cd ${SDK_INSTALL_PATH} gmake -s examples PROFILE=release ``` -------------------------------- ### Build a Specific Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md Navigate to the SDK installation path and use this command to build a specific example. You can specify the build profile as 'release' or 'debug'. ```bash cd ${SDK_INSTALL_PATH} gmake -s -C examples/hello_world/{board}/m4fss0-0_freertos/ti-arm-clang all PROFILE=release ``` -------------------------------- ### Build Hello World Example with Makefiles Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/getting_started/getting_started_build.md Navigate to the SDK installation directory and use gmake to build the 'hello world' example. This command is for Linux and MacOS. ```bash cd ${SDK_INSTALL_PATH} gmake -s -C examples/hello_world/{board}/r5fss0-0_freertos/ti-arm-clang ``` ```bash cd ${SDK_INSTALL_PATH} gmake -s -C examples/hello_world/{board}/m4fss0-0_freertos/ti-arm-clang ``` -------------------------------- ### Start Repositories Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/README.md Initialize repositories with the 'dev' branch after dependencies are installed. ```bash repo start dev --all ``` -------------------------------- ### Setup MMU Regions and Enable MMU Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/kernel/dpl/MmuP_arm_v8.md Example demonstrating how to set up MMU regions with specific attributes and then enable the MMU. ```c void MmuP_arm_v8_sample_mmu_setup(void) { uint32_t region_idx = 0; uint64_t start_addr = 0x80000000; uint64_t size = 0x10000000; /* 256MB */ /* Setup MMU region 0 for 256MB, normal memory, read-write, non-cacheable */ MmuP_arm_v8_region_setup(region_idx, start_addr, size, MMU_ARM_V8_MEM_TYPE_NORMAL, MMU_ARM_V8_ATTR_RW_NC); /* Setup MMU region 1 for 1MB, device memory, read-only, execute-never */ region_idx = 1; start_addr = 0x90000000; size = 0x100000; /* 1MB */ MmuP_arm_v8_region_setup(region_idx, start_addr, size, MMU_ARM_V8_MEM_TYPE_DEVICE, MMU_ARM_V8_ATTR_RO_XN); /* Enable MMU */ MmuP_arm_v8_enable(); /* Check if MMU is enabled */ if (MmuP_arm_v8_is_enabled()) { /* MMU is enabled */ } else { /* MMU is not enabled */ } /* Disable MMU */ MmuP_arm_v8_disable(); } ``` -------------------------------- ### Build the Whole SDK Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md Run this command from the SDK installation path to build the entire SDK, including all examples and components. Specify the build profile. ```bash cd ${SDK_INSTALL_PATH} gmake -s all PROFILE=release ``` -------------------------------- ### MPU Firewall Region Setup Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/mpu_firewall.md Example demonstrating how to set up MPU Firewall regions. Configuration of MPU firewall regions is not supported via this driver and is supported via HSM Services. ```c /* Example to setup MPU Firewall regions is shown below */ ``` -------------------------------- ### Example Project Directory Structure Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/ccs_projects.md The hierarchical organization of example projects within the SDK installation. ```shell examples/{component or module}/{optional sub-module or sub-component}/ | + -- {example name}/{board on which this example can run}/ | + -- {cpu}_{os}/{compiler toolchain} | + -- example.projectspec --> This is the file that CCS imports. ``` -------------------------------- ### QoS Initialization Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/qos.md Example demonstrating how to initialize the QoS driver. This should be performed during the initialization steps when the SoC is idle. ```c int32_t Qos_init(void); ``` -------------------------------- ### Get MPU Firewall Programmable Start Address Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs/change_summary/source/drivers/mpu_firewall.txt Retrieves the start address of a specified programmable region in the MPU firewall. ```c static uint32_t MPU_FIREWALL_getProgrammableStartAddress (uint32_t baseAddr, uint32_t regionNum) { /* Returns the start address of the specified programmable region */ return (uint32_t)((CSL_MpuRegs*) baseAddr)->PROG_REGION[regionNum].PROG_START_ADDRESS; } ``` -------------------------------- ### UART Echo Example - CCS Console Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_echo.md This snippet shows the expected output in the CCS console when the UART echo example is executed. It indicates the start of the example and successful completion of tests. ```text [MAIN_Cortex_R5_0_0] [UART] Echo example started ... All tests have passed!! ``` -------------------------------- ### Build Specific Example Source: https://context7.com/texasinstruments/mcupsdk-core/llms.txt Builds a specific example project for the given device, path, and profile. Use -C to change directory to the example. ```bash make -s -C examples/hello_world/am263x-cc/r5fss0-0_nortos/ti-arm-clang \ all PROFILE=debug ``` -------------------------------- ### Start RTI Timer Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/rti.md Example usage for starting the Real Time Interrupt timer. Ensure the RTI module is initialized before calling this function. ```c int32_t RTI_startTimer(void) { return System_init(); } ``` -------------------------------- ### CCS Console Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_echo_interrupt_lld.md This is the expected output in the CCS console when the example is run. It indicates the start of the echo example and confirms test completion. ```text [UART] Echo example started ... All tests have passed!! ``` -------------------------------- ### Setup MPU Regions and Enable MPU Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/kernel/dpl/MpuP_arm_v7.md Example demonstrating how to configure MPU regions with specific attributes and enable the MPU. Ensure MPU regions are defined according to device specifications and potential overlaps are handled. ```c void MpuP_arm_v7_sample_mpu_setup(void) { MpuP_RegionConfig mpuRegion; uint32_t regionSize; uint32_t regionBase; /* MPU Region 0: RAM */ regionBase = 0x80000000U; regionSize = 0x00010000U; /* 64KB */ MpuP_setRegion(0, regionBase, regionSize, MpuP_REGION_ATTR_RAM); /* MPU Region 1: Flash */ regionBase = 0x00000000U; regionSize = 0x00020000U; /* 128KB */ MpuP_setRegion(1, regionBase, regionSize, MpuP_REGION_ATTR_FLASH); /* MPU Region 2: Peripheral */ regionBase = 0x40000000U; regionSize = 0x00001000U; /* 4KB */ MpuP_setRegion(2, regionBase, regionSize, MpuP_REGION_ATTR_PERIPHERAL); /* Enable MPU */ MpuP_enable(); return; } ``` -------------------------------- ### Build Hello World Safertos Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/examples_hello_world_safertos.md Use this command to build the hello world safertos example. Ensure the SDK_INSTALL_PATH is set correctly. The PROFILE=release flag specifies the build profile. ```bash cd ${SDK_INSTALL_PATH} gmake -s -C examples/hello_world_safertos/awr294x-evm/c66ss0_safertos/ti-c6000 all PROFILE=release ``` -------------------------------- ### UART Echo Callback Example - CCS Console Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_echo_callback.md This snippet shows the expected output in the CCS console when the UART echo callback example is run. It indicates the start of the example and successful completion. ```text [UART] Echo callback example started ... All tests have passed!! ``` -------------------------------- ### Build System Examples Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md System examples require multiple binaries to be built. Executing the command listed under 'System Example build targets' will build all necessary executables for that system example. ```bash gmake -s -C examples/drivers/ipc/ipc_notify_echo/{board}/system_freertos_nortos [all clean syscfg-gui syscfg] ``` -------------------------------- ### CCS Console Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_echo_dma.md This is the expected output in the CCS console when the UART Echo DMA example is executed. It indicates the start of the example and successful completion. ```text [UART] Echo example DMA mode started ... All tests have passed!! ``` -------------------------------- ### Boot Cores Example (AM273x) Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/bootloader_v2.md Example demonstrating how to boot cores using the Bootloader API on AM273x devices. This function handles the booting process for multiple cores. ```c void Bootloader_bootCoreExample(void) { int32_t retVal = System_init(); if (retVal != System_SUCCESS) { DebugP_Printf("System init failed "); } /* Call Bootloader APIs to boot cores */ Bootloader_handle bootloaderHandle = Bootloader_open(0); if (bootloaderHandle == NULL) { DebugP_Printf("Bootloader_open failed "); } /* Booting R5 Core 1 */ Bootloader_bootCore(bootloaderHandle, 1U); /* Booting R5 Core 2 */ Bootloader_bootCore(bootloaderHandle, 2U); /* Close the bootloader instance */ Bootloader_close(bootloaderHandle); /* System Deinit */ System_deinit(); } ``` -------------------------------- ### SA2UL AES GCM-128 Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/sa2ul_aes_gcm_128.md This is the sample console output for the SA2UL AES GCM-128 example, indicating the start and successful completion of the cryptographic operations. ```text [CRYPTO] AES GCM-128 example started ... [CRYPTO] AES GCM-128 example completed!! All tests have passed!! ``` -------------------------------- ### Launch SysConfig GUI for System Examples Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md This command launches the SysConfig GUI for a system example, showing configurations for all associated CPUs in a single window. ```bash gmake -s -C examples/drivers/ipc/ipc_notify_echo/{board}/system_freertos_nortos syscfg-gui ``` -------------------------------- ### Build Hello World Example for AM263x Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/README.md Builds the Hello World example for a specific device and profile after libraries have been compiled. ```bash make -s -C examples/hello_world/am263x-cc/r5fss0-0_nortos/ti-arm-clang all PROFILE=debug ``` -------------------------------- ### SA2UL AES CMAC-128 Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/sa2ul_aes_cmac_128.md This is the sample console output when the AES CMAC-128 example application is executed. It indicates the start and successful completion of the test. ```text [CRYPTO] AES CMAC-128 example started ... [CRYPTO] AES CMAC-128 example completed!! All tests have passed!! ``` -------------------------------- ### MIBSPI Digital Loopback EDMA Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/mibspi_loopback_dma.md This output indicates the successful start of the MIBSPI Digital Loopback EDMA example and confirms that all tests have passed. ```text [MIBSPI] Digital Loopback EDMA example started ... All tests have passed!! ``` -------------------------------- ### Boot Cores Example (Other SoCs) Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/bootloader_v3.md Example of booting other cores on SoCs other than AM65x. This requires specifying the image path and core ID. ```c int32_t status; status = Bootloader_bootCore(bootloaderHandle, "/boot/core1.app", 1U); if (status != SystemP_SUCCESS) { DebugP_log("Core 1 boot failed"); } ``` -------------------------------- ### UART Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_hld_lld_external_loopback.md This is the sample output displayed in the CCS console when the UART HLD LLD external loopback example is executed successfully. It indicates the start of the example, the type of test performed, and confirmation that all tests have passed. ```text [UART] example started ... This is uart test with HLD-LLD instances All tests have passed!! ``` -------------------------------- ### Generate hex file for Hello World example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/getting_started/building_application.md Example command to generate a hex file for the 'hello_world' example, with different offsets for AM263PX/AM261X and other SOCs. ```bash {Path to srecord folder}\bin\srec_cat {SDK_PATH}\examples\hello_world\-\r5fss0-0_nortos\ti-arm-clang\hello_world.release.mcelf -Binary -offset 0x81000 -o hello_world.release.hex -Intel ``` ```bash {Path to srecord folder}\bin\srec_cat {SDK_PATH}\examples\hello_world\-\r5fss0-0_nortos\ti-arm-clang\hello_world.release.mcelf -Binary -offset 0x80000 -o hello_world.release.hex -Intel ``` -------------------------------- ### SA2UL HMAC SHA-256 Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/sa2ul_hmac_sha256.md This is the sample console output when the HMAC SHA-256 example application is run. It indicates the start and completion of the HMAC SHA-256 test. ```text [CRYPTO] HMAC SHA-256 example started ... [CRYPTO] HMAC SHA-256 example completed!! All tests have passed!! ``` -------------------------------- ### SA2UL AES CBC-128 Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/sa2ul_aes_cbc_128.md This is the sample console output for the SA2UL AES CBC-128 encryption and decryption example. It indicates the start and successful completion of the test. ```text [CRYPTO] AES CBC-128 example started ... [CRYPTO] AES CBC-128 example completed!! All tests have passed!! ``` -------------------------------- ### Open QSPI Instance Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/qspi_lld.md Example of opening a QSPI instance for use. Ensure the instance is properly initialized before opening. ```c QSPI_Handle qspiHandle; QSPI_init(); qspiHandle = QSPI_open(0, NULL, NULL); if (qspiHandle == NULL) { // Handle error } ``` -------------------------------- ### SA2UL HMAC SHA-256 Multi shot Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/sa2ul_hmac_sha256_multishot.md This is the console output for the SA2UL HMAC SHA-256 Multi shot example, indicating the start and successful completion of the test. ```text [CRYPTO] HMAC SHA-256 Multi shot example started ... [CRYPTO] HMAC SHA-256 Multi shot example completed!! All tests have passed!! ``` -------------------------------- ### Launch SysConfig GUI for an Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/developer_guides/makefile_build.md This command launches the SysConfig GUI for a specific example from the command line. ```bash cd ${SDK_INSTALL_PATH} gmake -s -C examples/hello_world/{board}/r5fss0-0_freertos/ti-arm-clang syscfg-gui ``` -------------------------------- ### Boot Cores Example (AM65x) Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/bootloader_v3.md Example of booting other cores on AM65x devices. This requires specifying the image path and core ID. ```c int32_t status; status = Bootloader_bootCore(bootloaderHandle, "/boot/core1.app", 1U); if (status != SystemP_SUCCESS) { DebugP_log("Core 1 boot failed"); } status = Bootloader_bootCore(bootloaderHandle, "/boot/core2.app", 2U); if (status != SystemP_SUCCESS) { DebugP_log("Core 2 boot failed"); } ``` -------------------------------- ### AM263PX SOC STOG Example Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/sdl/stog.md Sample output for the STOG example on the AM263PX SOC. It demonstrates TOG initialization, start, stop, and handling of a Data Abort exception. ```c TOG Sample Example SDL_TOG_setIntrEnable complete SDL_TOG_init.timeout complete SDL_TOG_start complete Data Abort exception TOG Interrupt received SDL_TOG_stop complete All tests have passed. ``` -------------------------------- ### Build SHA 256 Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/dthe_sha_256.md Use this command to build the SHA-256 example for your specific SoC and board configuration. Ensure you replace placeholders like '' and '' with your target values. ```bash make -s -C examples/security/crypto/dthe_sha/crypto_sha_256/-/r5fss0-0_nortos/ti-arm-clang all DEVICE= ``` -------------------------------- ### Sample Output of I2C LED Blink Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/i2c_led_read_write_lld.md This is the expected output when the I2C LED blink example is run, showing the start of the test, the blinking modes, and successful completion. ```text [I2C] LED Read Write Test Started ... LED will Blink for 3 loop in polling Mode ... LED will Blink for 3 loop in interrupt Mode ... All tests have passed!! ``` -------------------------------- ### Open Bootloader Instance Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/components/drivers/bootloader_v3.md Example of opening a Bootloader instance. Ensure the instance name is correctly specified. ```c Bootloader_Handle bootloaderHandle; bootloaderHandle = Bootloader_open(BOOTLOADER_INSTANCE_ID_0); if (bootloaderHandle == NULL) { DebugP_log("Bootloader open failed"); } ``` -------------------------------- ### Run HMAC SHA 256 Example via UART Bootloader Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/security/crypto/dthe_hmac_sha256.md Execute the HMAC SHA-256 example using the SBL UART bootloader. This command flashes the example to the device and starts its execution. Ensure the COM port and image paths are correct. ```bash python uart_bootloader.py -p --bootloader=sbl_prebuilt/-/sbl_uart.release.hs.tiimage --file=../../examples/security/crypto/dthe_sha/crypto_hmac_sha256/-/r5fss0-0_nortos/ti-arm-clang/dthe_hmac_sha256.release.mcelf ``` -------------------------------- ### UART Echo Low Latency Interrupt Example - CCS Console Output Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/uart_echo_low_latency_interrupt.md This snippet shows the expected output in the CCS console when the UART echo low latency interrupt example is running. It indicates the start of the example and successful completion of tests. ```text [UART] Echo Low Latency interrupt mode example started ... All tests have passed!! ``` -------------------------------- ### Initialize Repositories with Repo Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/README.md Initializes the MCU+ SDK repositories using the Repo tool. Specify the manifest URL, manifest file, and branch for your SoC. ```bash repo init -u https://github.com/TexasInstruments/mcupsdk-manifests.git -m am263x/dev.xml -b main ``` -------------------------------- ### Sample Output of IPC Spinlock Sharedmem Example Source: https://github.com/texasinstruments/mcupsdk-core/blob/next/docs_src/docs/api_guide/examples/drivers/ipc_spinlock_sharedmem.md This output shows the execution flow and completion messages for the IPC Spinlock Sharedmem example across multiple cores. It indicates when the example starts, waits for other cores, and confirms successful test completion. ```text [IPC Spinlock Sharedmem] Example started ... Waiting for all cores to start ... Waiting for all cores to complete ... [r5f0-1] 0.000016s : [IPC Spinlock Sharedmem] Example started ... All tests have passed!! [r5f0-1] 0.000036s : Waiting for all cores to start ... [r5f0-1] 0.199144s : Waiting for all cores to complete ... [r5f0-1] 0.199157s : All tests have passed!! ```