Step 6: Complete the Target System Setup
To complete the target system setup, you will enable the cache allocation capabilities of Intel® TCC Tools. You will run the cache configurator tool to reserve a portion of the L2 and L3 cache. A reserved portion of cache is called software static random-access memory (software SRAM).
Software SRAM enables the cache allocation library to provide low-latency memory buffers to your real-time applications. At the same time, a part of the cache will be removed from general use, potentially reducing the performance of non-real-time applications.
This step reserves the recommended amount of cache for running the cache allocation sample.
To complete target system setup:
Confirm that the host is still connected to the target via SSH.
In the SSH session, go to the following directory:
cd /usr/share/tcc_tools/scripts/setup_ssram/
Run the following command to add the tcc_buffer driver on the target system. This script adds the tcc_buffer driver to auto load. The cache allocation library interfaces with the driver to provide low-latency buffers.
./control_tcc_driver.sh enable
Run the following command to remove RTCM temporarily from the boot options.
./control_rtcm_sbl.sh disable
Reboot the target system.
On the host system, ensure that you have copied the keys into $TCC_TOOLS_PATH/keys/sbl, a step that you have done in Step 1: Set up SBL.
On the host system, confirm that the host system and target system have a passwordless connection.
Generate a key with an empty passphrase:
ssh-keygen -t rsa
NOTE:Press Enter when when prompted by the system during the Generating public/private rsa key pair step.Copy the key to the target system:
ssh-copy-id <user>@<target>
NOTE:If you do not have ssh-copy-id on your host system, use the command cat .ssh/id_rsa.pub | ssh <user>@<target> 'cat >> .ssh/authorized_keys'Verify that a password is not required anymore, for example:
ssh <user>@<target> ls
On the host system, go to the tools directory:
cd ${TCC_TOOLS_PATH}
Run the cache configurator tool to reserve a portion of the L2 and L3 cache:
Open the target connection settings file. This command example uses the nano text editor, but you can use any text editor.
nano ./host_scripts/target_connection_settings.sh
Modify the following fields (see an example below):
Field Name
Description
HOSTNAME
Replace hostname with the IP address or host name of the target system.
USER
Replace user with root.
SSH_EXTRA
Add any additional SSH command-line options.
This file contains the hostname and username to connect to the target board through SSH.
Target connection settings file example:
HOSTNAME='hostname' USER='user' SSH_EXTRA=''
Save and close the file.
Run the cache configurator tool.
./tcc_cache_configurator.py --environment demo/environment/sample_environment_sbl.json
In the cache configurator tool, enter P.
Select preset number 4.
Enter Y to proceed with the selected configuration.
Enter Y to apply the configuration and go to the reboot screen.
After the target system reboots, enter Y to confirm.
Connect to the target via SSH. Replace <target> with the IP address or host name of the target system.
ssh root@<target>
In the SSH session, go to the following directory:
cd /usr/share/tcc_tools/scripts/setup_ssram/
Run the following command to enable RTCM on the target system on the next reboot. Real-time configuration manager (RTCM) is an application that makes it possible to use software SRAM technology on non-virtualized systems.
./control_rtcm_sbl.sh enable
Run the following command to reboot the target system.
reboot
Now the system is configured. The software SRAM buffers can be allocated with the cache allocation library.