1.0 Installation

  1. Use SynaTool Kit from Release package: <SRSDK>/tools/

image0

  1. Run SynaToolkit installer and follow the instructions:

image1image2

The default installation folder for SynaToolkit is: C:SynapticsAppsSynaToolkit_2.4.3

3.0 Logger Functionality

3.1 Logger Connect/Disconnect

Purpose: Facilitates the connection and disconnection of the Logger tool to and from UART1 Com ports, allowing for dynamic logging of system communications.

3.1.1 Connect

  • To Connect: Select the appropriate UART1 Com port and baud rate, then click the Connect button. A new Logger tab will open for each connection, displaying incoming log data.

  • Requirements: Ensure the correct COM port and baud rate are selected to establish a successful connection.

image46

3.1.2 Disconnect

  • To Disconnect: Press the Disconnect button to terminate the connection with the logger.

  • Tab Persistence: The Logger tab will remain open and accessible even after disconnection, allowing you to review the logged data.

image47

3.1.3 Clear Log

  • Functionality: Clears all data from the log buffer to free up space or prepare for new data.

  • Usage: Click the Clear Log button to remove all existing entries from the log display.

3.1.4 Raw Logs

  • Overview: If enabled, the logger will display logs without parsing them according to the SR110 format, showing raw data as received.

  • Toggle: Check the Raw Logs box to view unprocessed log entries.

3.1.5 Log Commands

  • Functionality: When checked, commands executed through SynaTool are logged, providing a transcript of actions performed during the session.

  • Activation: Check the Log Commands box to include command logging in the session data.

Usage Notes:

  • Utilizing the Logger effectively can aid in troubleshooting and monitoring the system’s communication with connected devices.

  • Ensure that logs are saved or cleared appropriately to avoid loss of important data or overflow that could hinder performance.

3.2 Log NameSpaces

Purpose: Allows users to select different namespaces related to supported chips and cores, facilitating targeted logging sessions specific to hardware components.

Functionality:

  • Currently, the tool supports logging for the SR110 chip with core M55, M4, with the potential to expand to other chips and cores in the future.

image48

3.3 Levels

Purpose: Provides a customizable logging experience by allowing users to select which levels of log messages (such as Errors, Warnings, or Debug information) are visible.

Features:

  • Selective Visibility: Toggle visibility of log messages by level to focus on relevant data, such as debugging information or errors.

  • Customize Appearance: Modify the appearance of log messages by level for better readability or personal preference.

image49

If you focus on one of the level with mouse and press right button the new windows will be popup where you can select one of options:

3.3.1 Enabling/Disabling Levels

  • Access: Right-click on any level in the levels window to access options.

  • Options:

    • Enable All: Show all log levels.

    • Disable All: Hide all log levels.

    • Edit Selected Level: Open the level editor to change properties such as color and font style.

image50

3.3.2 Level Editor

  • Functionality: Customize the visual properties of log messages for each level.

  • Settings:

    • Light/Dark Mode Color Settings: Adjust text and background colors for both light and dark modes.

    • Font Styles: Change font styles including bold, italic, and underline.

  • Preview: View changes in real-time within the preview pane at the bottom of the level editor window.

image51

3.3.3 Presets

  • Purpose: Quickly apply predefined or custom styling presets to log levels.

  • Usage:

    • Set as Default Preset: Apply the selected preset as the default for all log levels.

    • Reset to Default: Revert to the application’s default preset settings.

Usage Tips:

  • Utilize the log namespace feature to manage logs according to specific hardware components or software modules.

  • Adjust log levels to streamline the debugging process, focusing only on the necessary data.

  • Customize log appearance to differentiate between log types easily or match user preferences for an enhanced visual experience.

image52

3.4 Main Log Window

Purpose: The Main Log Window is central to viewing and managing log data, offering a variety of tools to enhance the visibility and analysis of log messages.

3.4.1 Log Display

  • Overview: Displays logs with detailed information such as Core Name, Log Namespace, PC Time, Target Timestamp, Module, and the message itself.

  • Navigation: Logs are shown in a tabulated format allowing for easy review and management.

image53

3.4.2 Message Details

  • Accessing Details: Right-click on a message and select “View message” to open a detailed view of the log message.

  • Usage: This feature is useful for examining complete log entries in depth.

image54

3.4.3 View Message Window

  • Functionality: Displays the complete content of a log message.

  • Options: Users can copy the message to the clipboard or close the window.

image55

3.4.4 Parsed Message Display

  • Description: Shows a parsed view of the message, breaking down the log entry into its components like Name, Level, Time, and Message, among others.

  • Interactivity: This detailed view helps in understanding the structured components of each log message.

image56

3.4.5 Filtering Logs

  • Filtering: Enter specific criteria in the filter bar to display only those log entries that meet the conditions.

  • Resetting Filter: Clear the filter by pressing the “Clear Filter” button to return to viewing all logs.

image57image58

3.4.6 Search Functionality

  • Capabilities:

    • Regex (Regular Expression): Use regex for complex pattern searches within log messages.

    • Case Sensitive: Search the logs taking into account the case sensitivity.

    • Wildcard: Use wildcard characters to search for variations of a string.

image59

3.4.7 Customize Header

  • Customization: Right-click on any column header to customize which data columns are displayed.

  • Header Editor:

    • Adjust Visibility: Toggle various data points like Core ID, Function, Thread Name, etc., to show or hide in the log view.

    • Save/Reset: Save the custom settings as the default or reset to the stock configuration.

image60image61

Tips for Effective Use:

  • Utilize the detailed message view to troubleshoot specific issues by examining the full content of relevant logs.

  • Regularly clear and filter logs to maintain clarity and focus on relevant entries during analysis.

  • Customize the log display headers to focus on information pertinent to your analysis needs.

4.0 SynaTool Commands Menu

4.1 ROM

4.1.1 Host API version

Purpose: This command allows users to retrieve the version number of the host API currently being used by the system, which can be crucial for compatibility checks and troubleshooting.

Command:

  • ver

Functionality:

  • Description: Executes the ver command to display the version of the host API.

  • Usage: Simply type ver in the command interface and press Enter. The API version will be displayed, providing you with the current version information of the host API.

4.1.2 Burn the file to flash

flashBurn <binary file>[sector addr offset in hex]

Usage:

  • flashburn B0_flash_full_image_GD25LE128_67Mhz_secured.bin

  • flashburn Model.bin 0x100000

4.1.3 Read Flash ID

Display the flash type and size

flashReadId

flashReadPage 0x400 - read the page that starts at address 0x400 (4th page in this example)

4.1.4 Erase Entire flash memory

CLI full command: flashChipErase

4.1.5 Erase Flash Sector

CLI full command: flashSectorErase <sector addr offset>[<Num of sectors>]

command example:

flashSectorErase 0x1000 - erases the sector that start with address 0x1000 (2nd sector in this example)

4.1.6 Use Alternative SPK/APBL Image for Burning

CLI full command: altSPK <binary File>

Using alternative SPK image: C:/Users/scorelen/Git/sabre_tool_kit/tools/srsdk_image_generator/B0_Input_examples/spk_rc3_0_nosecure_romk_dbg_0605.bin

Using alternative BootLoader image: D:/Synaptics/Apps/SynaToolkit_2.1.200/bin/Output/B0_Flash/Components/1_sr100_b0_bootloader_ver_0x0128_ASIC_flash_secured.bin

4.2 FW

4.2.1 Install the FW update

The fwUpdateInstall command installs and accepts the files that were updated on the flash memory. After executing this command, the ROM will load the newly updated module(s) from the flash.

Parameters:

  • reboot (optional): Specifies whether to reboot the system after installation. The default value is 0 (no reboot). Setting this parameter to 1 will reboot the

system.CLI full command: fwUpdateInstall [reboot]

Notes:

  • If no reboot parameter is provided, the system will not reboot by default.

4.2.2 FW Update

The FW Update command updates a specific module or multiple modules on the flash memory.

Steps to Use:

  1. Use the image generator tool to build the image or multiple image files.

  2. Execute the CLI command fwUpdate<binary file>

4.2.3 Burn the Flash

Choose the command, choose the file and press the “Execute” button.

The burn process should start

image62

4.2.4 Read Flash ID

flashReadId - returns flash id with type and size

FlashType is: GIGADEVICE_GD25LQ128CD

FlashSize is: 128 Mbits

4.2.5 Erase a flash sector

The flashSectorErase command erases a specific sector or multiple sectors in the flash memory.

Parameters:

  • sector address: The address of the flash sector to be erased.

  • Num of sectors (optional): The number of consecutive sectors to be erased starting from the specified address. If not provided, only the specified sector will be erased.

CLI full command: flashSectorErase <sector address>[<Num of sectors>]

4.2.6 Read a flash memory page

The flashReadPage command reads the contents of a specified flash memory page.

Parameters:

  • page address: The address of the flash memory page to be read.

CLI full command: flashReadPage <page address>

Example: flashReadPage 0x1000