[FAQ] MCU-PLUS-SDK-AM243X: K3conf: Capabilities with options(help)

Part Number: MCU-PLUS-SDK-AM243X

Tool/software:

Hi Team,

I am doing development on AM243x SoC, and ran into issues with the resource allocation.

Is there any tool/script like K3conf which runs on Linux Environment?

Since, I can't use Linux on my devices, can you please help me see the resources allocated to specific cores?

I also want to diagnose the frequency of each module/cores at run time.

Thanks

  • Hello,

    Here is a dump of k3conf help from the target:

    # --help

    NAME
    k3conf - TI K3 Configuration Diagnostic Tool

    SYNOPSIS
    [--version] [--help] [--cpuinfo] <command> [<args>]

    DESCRIPTION
    k3conf is standalone application designed to provide a quick'n easy way to
    diagnose/debug/audit TI K3 architecture based processors configuration at
    runtime, with no particular kernel dependency.
    k3conf is designed to be as much platform-agnostic as possible, being able to
    run on any Linux platform and easily ported to other OS.
    Even if k3conf today focuses mainly on TISCI related functionality, it is
    intended to be extended to any other area.

    OPTIONS
    --help
    Print k3conf help.

    --version
    Print k3conf version.

    --cpuinfo
    Print the host processor information.

    COMMANDS

    show host
    Prints all the available TISCI hosts

    show device
    Prints all the available TISCI devices

    show device <dev_id>
    Prints the corresponding device id information

    show clock
    Prints all the available TISCI clocks

    show clock <dev_id>
    Prints the clocks for corresponding device id

    show processor
    Prints all the available TISCI processors

    show rm
    Prints resources managed by System firmware

    show rm <dev_id>
    Prints resources managed by System firmware for corresponding device

    dump device
    Prints device status of all the TISCI devices

    dump device <dev_id>
    Prints the corresponding device id status

    dump clock
    Prints clock status all the available TISCI clocks

    dump clock <dev_id>
    Prints the available clock status for corresponding device id

    dump parent_clock <dev_id> <clk_id>
    Prints the clock parent of provided clock

    dump processor
    Prints status of all the available TISCI processors

    dump processor <proc_id>
    Prints status of the given TISCI processors

    dump rm [OPTIONS]
    Prints resource allocation for all utypes / hosts

    dump rm [OPTIONS] <dev_id>
    Prints resource allocation for corresponding device type

    dump rm [OPTIONS] <dev_id> <subtype>
    Prints resource allocation for corresponding device/type

    [OPTIONS]
    -h <host_id>
    Filter only for corresponding host_id

    enable device <dev_id>
    Enables the TISCI device and prints the status

    enable clock <dev_id> <clk_id>
    Enables the TISCI clock and prints the status

    disable device <dev_id>
    Disables the TISCI device and prints the status

    disable clock <dev_id> <clk_id>
    Disables the TISCI clock and prints the status

    set clock <dev_id> <clk_id> <freq>
    Sets the clock frequency and prints the status

    set parent_clock <dev_id> <clk_id> <parent_clk_id>
    Sets the parent clock for a clock mux and prints the mux status
    Refer to the following documentation for preconditions:
    downloads.ti.com/.../clocks.html
    downloads.ti.com/.../clocks.html

    set processor <processor_id> <frequency>
    Sets the processor to specified frequency

    read <addr> [<size>]
    No.of bits to be read is given in the size argument
    Expected input size is 8,16,32,64
    Prints the value at the specified io memory

    write <addr> <val> [<size>]
    No.of bits to be written is given in the size argument
    Expected input size is 8,16,32,64
    Writes the value at the specified io memory

  • To enable K3conf functionality on Am243x SOC, please follow the steps mentioned at Readme file of K3conf git source.

    Please refer https://github.com/TexasInstruments/Beyond-SDK/blob/main/am243x/tools/k3conf/README.md for instructions.

    Please refer https://github.com/TexasInstruments/Beyond-SDK/blob/main/am243x/tools/k3conf for source code.

    Regards,

    Tushar

  • Important notes:

    K3conf tool can be added to any application as it is as simple as adding a task to RTOS application that calls the k3conf_main().

    K3conf tool is not limited to R5F cores and can be run on other cores as well. (although tested with R5F0-0 core).

    It does not need to be a separate application running on the cores, but can be integrated in the existing application.

    K3conf uses DebugP_log to print the output on UART console. So make sure your application DebugP_logs are disabled so that the application output and tool output don't overlap.

    K3conf tool can work if the core is halted, as it is implemented as a task in application itself. The core need to be in running state.