Teraterm Log File Name Format

  



  1. Teraterm Official Site
  2. Teraterm Manual

I would like to change the default log file name of teraterm terminal log. What I would like to do automatically create/append log in a file name like 'loggedinhost-teraterm.log' I found following ini setting for log file. It also uses strftime to format log filename.; Default Log file name. You can specify strftime format to here. SET AUTO START LOGGING Tera Term Setup Additional Settings Log Auto start logging SAVE TERA TERM SETTINGS (MANDATORY) After all the settings are made, e.g. Baud, font, Save-To-File name, Auto Start, screen color, etc., save the settings: Tera Term Setup Save Setup. The default value is 3.added specifying the default file name as the sending file name when a file specified by FileSendFilter.added the ASCII string of the hexdump in X and ZMODEM log file. Added YmodemLog in teraterm.ini file. The default value is off. Default log file name (strftime format) Specify default log file name. It can include a format of strftime. Install Teraterm 4.60.zip (Save file to desktop and install) Start Tera Term program and select the radio button labeled 'Serial'. Select the COM port from the drop down menu for the device you are going to connect to, then click 'OK'.


NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.


  • 3Scripts
  • 4What about DaVinci TeraTerm Scripts?
  • 5What about OMAP-L1 TeraTerm Scripts?
  • 6What about using a DLP Pico Projector?

Introduction[edit]

Tera Term is an opensource terminal emulator on MS-Windows commonly used by us developers. Tera Term supports a 'rich' macro language that can help in automating user actions. These scripts usually remain personal - rarely shared.

In this page, I intend to share the basic scripts that can be used to automate common tasks in the Linux PSP release. The scripts were created with intentional hierarchy to maximize reuse (via inclusion) and minimize redundancy across scripts. Currently, these scripts apply to OMAP35x Linux PSP. But, can be extended easily to other platforms.

Needless to say, these scripts are open to enhancements.

How to execute a TeraTerm script?[edit]

Scripts[edit]

File Naming Conventions[edit]

  • A file containing common macros - that can be included in other scripts - is prefixed with double underscore e.g. __common.ttl
  • The purpose / functionality of the file can be indicated after a '-' (minus) in the file name e.g. __uboot-config.ttl
  • Name of the container script that you execute is prefixed with name of the board e.g. omap3evm-boot-ramdisk.ttl.

__common.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __common.ttl
desc Common definitions used across the macros.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


DEFINITIONS
Current Date

getdate CurDate


Current Time

gettime CurTime


Title of the Tera Term Window

StrWindowTitle = 'OMAP35x EVM'


Boot methods

Boot_RAMDISK = 'RAMDISK'Boot_NFS = 'NFS'


Is Lauterbach used for debug?

UseLauterbach = 0


Caption prefix

StrCaption = ':::::::::::::::::::::::::::::::::::::::: '


Dividers

StrEmpty = #13#10StrDivider_1 = '#13#10StrDivider_2 = '-----------------------------------------------------'#13#10StrDivider_3 = '.....................................................'#13#10


Set position of status dialog box

setdlgpos 10 10


Set window title

settitle StrWindowTitle

</syntaxhighlight>

__uboot-config-common.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __uboot-config-common.ttl
desc Common u-boot related definitions
HISTORY
2007-11-30 Sanjeev Premi
Original Version


DEFINITIONS
The u-boot message to stop autoboot.

MsgAutoboot = 'Hit any key to stop autoboot:'

The u-boot prompt

PromptUboot = 'OMAP3EVM #'


EXECUTION
Disable autoload

wait PromptUbootsendln 'setenv autoload no'

</syntaxhighlight>

__uboot-config-network.ttl[edit]

This file uses dummy values for various macros. They need to be defined with correct values for your platform.

<syntaxhighlight>

Tera Term Macro
file __uboot-config-network.ttl
desc Configure the u-boot network settings.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


DEFINITIONS
Ethernet on EVM

VarMacAddr = 'A1:B1:C1:E1:D1:E1'VarGatewayIP = '192.168.1.1'VarNetMask = '255.255.255.0'

Server running the TFT Server

VarServerIP = '192.168.1.2'

Get IP address from DHCP server

CmdDHCP = 'dhcp'


EXECUTION
Setup Network

wait PromptUbootsendln 'setenv ethaddr ' VarMacAddr

wait PromptUbootsendln 'setenv gatewayip ' VarGatewayIP

wait PromptUbootsendln 'setenv netmask ' VarNetMask

Set the IP address of the TFTP Server

wait PromptUbootsendln 'setenv serverip ' VarServerIP

Get an IP Address

wait PromptUbootsendln CmdDHCP

Set the IP address of the TFTP Server again.
(Required on some networks)

wait PromptUbootsendln 'setenv serverip ' VarServerIP

</syntaxhighlight>

__uboot-load-kernel.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __uboot-load-kernel.ttl
desc Steps to boot the Linux kernel.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


DEFINITIONS
Name of the boot file

BootFile = 'uImage'

Boot arguments

BootArgs_RAMDISK = 'console=ttyS0,115200n8 mem=128M root=/dev/ram0 rw initrd=0x81600000,16M ip=dhcp'BootArgs_NFS = 'console=ttyS0,115200n8 mem=128M root=/dev/nfs noinitrd nfsroot=192.168.1.10:/home/user/remote/098,nolock,rsize=1024,wsize=1024 ip=dhcp'

Boot commands

CmdLoadRamDisk = 'tftpboot 0x81600000 kernel/ramdisk.gz'CmdLoadUimage = 'tftpboot 0x80000000 kernel/uImage'CmdBootm = 'bootm 0x80000000'

EXECUTION
General configuration

wait PromptUbootsendln 'setenv bootfile ' BootFile

Set boot arguments

wait PromptUboot

strcompare VarBootMethod Boot_RAMDISKif result=0 then

endif

strcompare VarBootMethod Boot_NFSif result=0 then

endif

Print current environment (Just for the record)

wait PromptUbootsendln 'printenv'

Load RamDisk Image

strcompare VarBootMethod Boot_RAMDISKif result=0 then

endif

Load uImage

wait PromptUbootsendln CmdLoadUimage

Boot Linux

wait PromptUbootif UseLauterbach=0 then

elseif UseLauterbach=1 then

endif

</syntaxhighlight>

__kernel-common.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __kernel-common.ttl
desc Common kernel related definitions & commands.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


DEFINITIONS
The Linux kernel prompt

PromptLinux = '[root@OMAP3EVM /]# '

Clear screen

CmdClear = 'clear'

</syntaxhighlight>

__kernel-power.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __kernel-power.ttl
desc Common power related definitions and commands.
HISTORY
2008-04-25 Sanjeev Premi
Original Version


DEFINITIONS
Set LCD timeout to 2 secs

CmdFbTimeout = 'echo 2 > /sys/power/fb_timeout_value'

Different pause durations used in testing

PauseLog = 2PauseNormal = 30PauseSuspendBefore = 5PauseSuspendAfter = 10

Strings indicating sleep duration

StrSleepNormal = 'Wait for 30 secs'#13#10StrSleepBeforeSuspend = 'Wait for 5 secs'#13#10StrSleepAfterSuspend = 'Wait for 60 secs'#13#10

Strings indicating actions performed

StrSuspend = 'Attempt Suspend'#13#10StrResume = 'Attempt Resume (send key click)'#13#10

StrViewPowerStates = 'View previous power states'#13#10StrViewDeepestIdleState = 'View the deepest IDLE state'#13#10

StrViewGovernor = 'View current governor'#13#10

StrViewVDD1 = 'View VDD1 OPP'#13#10StrViewVDD2 = 'View VDD2 OPP'#13#10

StrViewClock_MPU_IVA = 'View MPU & IVA clocks'#13#10StrViewClock_VirtVDD = 'View virtual VDD clocks'#13#10

----------------------------------------------------------------------------
CPUIDLE
----------------------------------------------------------------------------
Set deepest IDLE state

CmdShowPowerStates = 'cat /proc/pm_prepwst'

Teraterm recvln
Show current deepest IDLE state

CmdShowDeepestIdleState = 'cat /sys/power/cpuidle_deepest_state'

Show status of OMAP clocks

CmdShowClocks = 'cat /proc/omap_clocks'

Set deepest IDLE state

CmdSetDeepestIdleState_0 = 'echo '0' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_1 = 'echo '1' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_2 = 'echo '2' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_3 = 'echo '3' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_4 = 'echo '4' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_5 = 'echo '5' > /sys/power/cpuidle_deepest_state'CmdSetDeepestIdleState_6 = 'echo '6' > /sys/power/cpuidle_deepest_state'

Put system to 'suspend' state

CmdSuspend = 'echo -n 'mem' > /sys/power/state'


----------------------------------------------------------------------------
CPUFREQ
----------------------------------------------------------------------------
OMAP Clocks

CmdShowAllClocks = 'cat /proc/omap_clocks'CmdShowClock_MPU = 'cat /proc/omap_clocks | grep mpu'CmdShowClock_IVA = 'cat /proc/omap_clocks | grep iva'CmdShowClock_VDDs = 'cat /proc/omap_clocks | grep virt'


Governor related

CmdShowGovernor = 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'

CmdSetGovernor_Ondemand = 'echo 'ondemand' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'CmdSetGovernor_Performance = 'echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'

Set OPPs for VDD1

CmdSetVDD1_1 = 'echo '1' > /sys/power/vdd1_opp_value'CmdSetVDD1_2 = 'echo '2' > /sys/power/vdd1_opp_value'CmdSetVDD1_3 = 'echo '3' > /sys/power/vdd1_opp_value'CmdSetVDD1_4 = 'echo '4' > /sys/power/vdd1_opp_value'CmdSetVDD1_5 = 'echo '5' > /sys/power/vdd1_opp_value'

CmdShowVdd1 = 'cat /sys/power/vdd1_opp_value'

Set OPPs for VDD2

CmdSetVDD2_1 = 'echo '1' > /sys/power/vdd2_opp_value'CmdSetVDD2_2 = 'echo '2' > /sys/power/vdd2_opp_value'

CmdShowVdd2 = 'cat /sys/power/vdd2_opp_value'

</syntaxhighlight>

__test-cpuidle.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __test-cpuidle.ttl
desc Unit tests for 'cpuidle' framework.
HISTORY
2008-04-25 Sanjeev Premi
Original Version


include '__common.ttl'

DEFINITIONS
Testcase title

StrDescription = 'UNIT TEST CASES FOR CPUIDLE'#13#10


Strings indicating deepest idle state

StrDeepestIdleState_0 = 'Deepest Idle State = 0'#13#10StrDeepestIdleState_1 = 'Deepest Idle State = 1'#13#10StrDeepestIdleState_2 = 'Deepest Idle State = 2'#13#10StrDeepestIdleState_3 = 'Deepest Idle State = 3'#13#10StrDeepestIdleState_4 = 'Deepest Idle State = 4'#13#10StrDeepestIdleState_5 = 'Deepest Idle State = 5'#13#10StrDeepestIdleState_6 = 'Deepest Idle State = 6'#13#10StrDeepestIdleState_9 = 'Deepest Idle State = 9 (Incorrect)'#13#10

Commands for negative testing

CmdSetDeepestIdleState_9 = 'echo '9' > /sys/power/cpuidle_deepest_state'


EXECUTION

wait PromptLinux

sendln CmdFbTimeoutwait PromptLinux

sendlnwait PromptLinux

Open log file

logopen 'test-cpuidle.log' 0 0logstart

logwrite StrEmpty

logwrite StrCaptionlogwrite CurDatelogwrite StrEmpty

logwrite StrCaptionlogwrite CurTimelogwrite StrEmpty

pause PauseLogsendlnwait PromptLinux

C0

StrStateCaption = StrDeepestIdleState_0CmdDeepestIdleState = CmdSetDeepestIdleState_0

call ExecIdleTest

C1

StrStateCaption = StrDeepestIdleState_1CmdDeepestIdleState = CmdSetDeepestIdleState_1

call ExecIdleTest

C2

StrStateCaption = StrDeepestIdleState_2CmdDeepestIdleState = CmdSetDeepestIdleState_2

call ExecIdleTest

C3

StrStateCaption = StrDeepestIdleState_3CmdDeepestIdleState = CmdSetDeepestIdleState_3

call ExecIdleTest

C4

StrStateCaption = StrDeepestIdleState_4CmdDeepestIdleState = CmdSetDeepestIdleState_4

call ExecIdleTest

C5

StrStateCaption = StrDeepestIdleState_5CmdDeepestIdleState = CmdSetDeepestIdleState_5

call ExecIdleTest

C6

StrStateCaption = StrDeepestIdleState_6CmdDeepestIdleState = CmdSetDeepestIdleState_6

call ExecIdleTest

C9

StrStateCaption = StrDeepestIdleState_9CmdDeepestIdleState = CmdSetDeepestIdleState_9

call ExecIdleTest_N

Return to C2

sendlnsendlnwait PromptLinux

sendlnsendln CmdSetDeepestIdleState_2wait PromptLinux

----------------------------------------------------------------------------
Close log file
----------------------------------------------------------------------------

sendlnwait PromptLinux

Manual

pause PauseNormallogclose

exit


SUBROUTINES
ExecIdleTest
Execute the CPUIDLE Tests

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLog

Set deepest idle state
(Additional 'newlines' sent just in case first is missed in deeper C states)

sendlnsendlnwait PromptLinuxsendlnsendln CmdDeepestIdleStatewait PromptLinux

pause PauseLog

View previous power states

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewPowerStateslogwrite StrEmpty

pause PauseLog

strconcat msgstatus StrViewPowerStatesstatusbox msgstatus TitleWindow

sendlnsendlnwait PromptLinuxsendlnsendln CmdShowPowerStateswait PromptLinux

pause PauseLog

Wait for 'PauseNormal'
(Additional 'newline' sent just in case first is missed in deeper C states)

strconcat msgstatus StrSleepNormalstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSleepNormallogwrite StrEmpty

pause PauseNormal

sendlnsendlnwait PromptLinux

pause PauseLog

View previous power states (again)
(Additional 'newline' sent just in case first is missed in deeper C states)

strconcat msgstatus StrViewPowerStatesstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewPowerStateslogwrite StrEmpty

pause PauseLog

sendlnsendlnwait PromptLinuxsendlnsendln CmdShowPowerStateswait PromptLinux

pause PauseLog

Wait for 'PauseSuspendBefore'
(Additional 'newline' sent just in case first is missed in deeper C states)

strconcat msgstatus StrSleepBeforeSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSleepBeforeSuspendlogwrite StrEmpty

pause PauseSuspendBefore

sendlnsendlnwait PromptLinux

pause PauseLog

Suspend

strconcat msgstatus StrSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSuspendlogwrite StrEmpty

pause PauseLog

sendlnsendlnwait PromptLinuxsendlnsendln CmdSuspend

Wait for 'PauseSuspendAfter'

strconcat msgstatus StrSleepAfterSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSleepAfterSuspendlogwrite StrEmpty

pause PauseSuspendAfter

Resume

strconcat msgstatus StrResumestatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrResumelogwrite StrEmpty

sendlnwait PromptLinux

flushrecv

pause PauseLog

closesbox

return


SUBROUTINE
Execute the CPUIDLE Tests (Negative)
ExecIdleTest_N

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLog

Set deepest idle state
(Additional 'newline' sent just in case first is missed in deeper C states)

sendlnsendlnwait PromptLinuxsendlnsendln CmdDeepestIdleStatewait PromptLinux

flushrecv

pause PauseLog

closesbox

return

</syntaxhighlight>

__test-cpufreq.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file __test-cpufreq.ttl
desc Unit tests for 'cpufreq' framework.
HISTORY
2008-04-25 Sanjeev Premi
Original Version

include '__common.ttl'

DEFINITIONS
Testcase title

StrDescription = 'UNIT TEST CASES FOR CPUFREQ'#13#10

Strings related to governors

StrGovernorOndemand = 'Set ONDEMAND Governor'#13#10StrGovernorPerformance = 'Set PERFORMANCE Governor'#13#10

Strings indicating OPPs

StrOppVdd1_1 = 'VDD1 OPP = 1'#13#10StrOppVdd1_2 = 'VDD1 OPP = 2'#13#10StrOppVdd1_3 = 'VDD1 OPP = 3'#13#10StrOppVdd1_4 = 'VDD1 OPP = 4'#13#10StrOppVdd1_5 = 'VDD1 OPP = 5'#13#10

StrOppVdd1_6 = 'VDD1 OPP = 6 (Incorrect)'#13#10

StrOppVdd2_1 = 'VDD2 OPP = 1'#13#10StrOppVdd2_2 = 'VDD2 OPP = 2'#13#10StrOppVdd2_3 = 'VDD2 OPP = 3'#13#10

StrOppVdd2_4 = 'VDD2 OPP = 4 (Incorrect)'#13#10

Commands for negative testing

CmdSetVDD1_6 = 'echo '6' > /sys/power/vdd1_opp_value'CmdSetVDD2_4 = 'echo '4' > /sys/power/vdd2_opp_value'


EXECUTION

wait PromptLinux

sendln CmdFbTimeoutwait PromptLinux

sendln CmdClearwait PromptLinux

sendlnwait PromptLinux

Open log file

logopen 'test-cpufreq.log' 0 0logstart

logwrite StrEmpty

logwrite StrCaptionlogwrite CurDatelogwrite StrEmpty

logwrite StrCaptionlogwrite CurTimelogwrite StrEmpty

pause PauseLogsendln

Show current governor & switch to 'ondemand' governor

StrStateCaption = StrOppVdd1_1CmdSetVDD1 = CmdSetVDD1_1

call ExecGovernors

VDD1 - OPP1

StrStateCaption = StrOppVdd1_1CmdSetVDD1 = CmdSetVDD1_1

call ExecFreqTest

VDD1 - OPP2

StrStateCaption = StrOppVdd1_2CmdSetVDD1 = CmdSetVDD1_2

call ExecFreqTest

VDD1 - OPP3

StrStateCaption = StrOppVdd1_3CmdSetVDD1 = CmdSetVDD1_3

call ExecFreqTest

VDD1 - OPP5
(Do this early so we don't keep MPU in overdrive for long during negative
tests).

StrStateCaption = StrOppVdd1_5CmdSetVDD1 = CmdSetVDD1_5

call ExecFreqTest

VDD1 - OPP4

StrStateCaption = StrOppVdd1_4CmdSetVDD1 = CmdSetVDD1_4

call ExecFreqTest

VDD1 - OPP6 (Negative)

StrStateCaption = StrOppVdd1_6CmdSetVDD1 = CmdSetVDD1_6

call ExecFreqTest_N

VDD2 - OPP1

StrStateCaption = StrOppVdd2_1CmdSetVDD2 = CmdSetVDD2_1

call ExecFreqTest2

VDD1 - OPP2

StrStateCaption = StrOppVdd2_2CmdSetVDD2 = CmdSetVDD2_2

call ExecFreqTest2

VDD1 - OPP3

StrStateCaption = StrOppVdd2_3CmdSetVDD2 = CmdSetVDD2_3

Teraterm Official Site

call ExecFreqTest2


----------------------------------------------------------------------------
Close log file
----------------------------------------------------------------------------

sendlnwait PromptLinux

pause PauseNormallogclose

exit


SUBROUTINES
ExecGovernors
Execute the CPUFREQ Tests

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLogsendlnwait PromptLinux

Show current governor

strconcat msgstatus StrViewGovernorstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewGovernorlogwrite StrEmpty

sendln CmdShowGovernorwait PromptLinux

pause PauseLog

Set 'ondemand' governor

strconcat msgstatus StrGovernorOndemandstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrGovernorOndemandlogwrite StrEmpty

pause PauseLog

sendln CmdSetGovernor_Ondemandwait PromptLinux

View virtual VDD clocks

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewClock_VirtVDDlogwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowClock_VDDs

pause PauseLog

View current MPU & IVA clocks

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewClock_MPU_IVAlogwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowClock_MPU

pause PauseLog

sendlnwait PromptLinux

sendln CmdShowClock_IVAwait PromptLinux

pause PauseLog

closesbox

return


ExecFreqTest
Execute the CPUFREQ Tests

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLog

Set VDD1 OPP

sendlnwait PromptLinux

sendln CmdSetVDD1wait PromptLinux

pause PauseLog

View current VDD1 OPP

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewVDD1logwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowVdd1

pause PauseLog

View current VDD2 OPP

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewVDD2logwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowVdd2

pause PauseLog

View virtual VDD clocks

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewClock_VirtVDDlogwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowClock_VDDs

pause PauseLog

View current MPU & IVA clocks

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewClock_MPU_IVAlogwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowClock_MPU

pause PauseLog

sendlnwait PromptLinux

sendln CmdShowClock_IVAwait PromptLinux

pause PauseLog

Wait for 'PauseSuspendBefore'

strconcat msgstatus StrSleepBeforeSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSleepBeforeSuspendlogwrite StrEmpty

pause PauseSuspendBefore

sendlnwait PromptLinux

pause PauseLog

Suspend

strconcat msgstatus StrSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSuspendlogwrite StrEmpty

pause PauseLog

sendlnsendln CmdSuspend

Wait for 'PauseSuspendAfter'

strconcat msgstatus StrSleepAfterSuspendstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrSleepAfterSuspendlogwrite StrEmpty

pause PauseSuspendAfter

Resume

strconcat msgstatus StrResumestatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrCaptionlogwrite StrResumelogwrite StrEmpty

sendlnwait PromptLinux

flushrecv

pause PauseLog

closesbox

return


ExecFreqTest2
Execute the CPUFREQ Tests (VDD2)

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLog

Set VDD2 OPP

sendlnwait PromptLinux

sendln CmdSetVDD2wait PromptLinux

pause PauseLog

View current VDD1 OPP

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewVDD1logwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowVdd1

pause PauseLog

View current VDD2 OPP

logwrite StrEmptylogwrite StrCaptionlogwrite StrViewVDD2logwrite StrEmpty

pause PauseLog

sendlnwait PromptLinux

wait PromptLinuxsendln CmdShowVdd2

pause PauseLog

sendlnwait PromptLinux

flushrecv

pause PauseLog

closesbox

return


SUBROUTINE
Execute the CPUFREQ Tests (Negative)
ExecFreqTest_N

msgStatus =

State caption

strconcat msgstatus StrStateCaptionstatusbox msgstatus TitleWindow

logwrite StrEmptylogwrite StrDivider_2logwrite StrStateCaptionlogwrite StrDivider_2

pause PauseLog

Set VDD1 OPP

sendlnwait PromptLinux

sendln CmdSetVDD1wait PromptLinux

flushrecv

pause PauseLog

closesbox

return

Teraterm Manual

</syntaxhighlight>

omap3evm-flash-uboot.ttl[edit]

<syntaxhighlight></syntaxhighlight>

omap3evm-boot-ramdisk.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file omap3evm-boot-ramdisk.ttl
desc Steps to boot the Linux kernel using ramdisk on the OMAP3EVM.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


include '__common.ttl'

VarBootMethod = Boot_RAMDISK

include '__uboot-config-common.ttl'include '__uboot-config-network.ttl'include '__uboot-load-kernel.ttl'

include '__kernel-common.ttl'include '__kernel-boot.ttl'

</syntaxhighlight>

omap3evm-boot-nfs.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file omap3evm-boot-nfs.ttl
desc Steps to boot the Linux kernel using NFS on the OMAP3EVM.
HISTORY
2007-11-30 Sanjeev Premi
Original Version


include '__common.ttl'

VarBootMethod = Boot_NFS

include '__uboot-config-common.ttl'include '__uboot-config-network.ttl'include '__uboot-load-kernel.ttl'

include '__kernel-common.ttl'include '__kernel-boot.ttl'

</syntaxhighlight>

omap3evm-test-power.ttl[edit]

<syntaxhighlight>

Tera Term Macro
file omap3evm-test-power.ttl
desc Steps to execute Power Management test cases on the OMAP3EVM.
HISTORY
2008-04-25 Sanjeev Premi
Original Version


include '__common.ttl'

include '__kernel-common.ttl'

include '__kernel-power.ttl'

include '__test-cpuidle.ttl'include '__test-cpufreq.ttl'

beeppause 1beeppause 1beep

</syntaxhighlight>

What about DaVinci TeraTerm Scripts?[edit]

Below are a few simple scripts used to boot a DaVinci EVM - obviously you'll need to modify your IP address, kernel name and rootpath appropriately. These examples should serve as a good starting point if you want to create your own scripts.

To run the scripts, simply hit any key during the U-boot countdown to get to the U-boot prompt. Then run 'Macro->Control' and browse to the *.ttl.

File

DM6446: Crossover Script[edit]

When you don't have a switch/router and need to boot your EVM using TFTP/NFS, you can directly connect your EVM to your laptop with a crossover cable. Here, the Linux host's IP address is set to 192.168.1.100 (modify as needed). To manually set the Linux host's IP address:

  1. host$ su - Login as root
  2. host# setup - Setup your network
  3. Browse to Network Configuration, then choose 'Yes' (to Setup Network)
  4. Uncheck 'Use dynamic IP configuration' using the spacebar (if needed)
  5. Tab to 'IP address:' and type 192.168.1.100 and tab (using default values for Netmask, Gateway and Nameserver) to 'OK' and hit Enter. Save your settings when prompted.
  6. host# /etc/init.d/network restart - Restart your network
  7. host# ipconfig - Verify that your IP address has been set to 192.168.1.100

Also, note the $(videoargs) setting below (setup for DVSDK 1.30)--if you are using an older DVSDK, simply remove $(videoargs) from the bootargs.

<syntaxhighlight>

Tera Term Macro
file dm6446_crossover.ttl
comments rename serverip, rootpath and bootfile

showtt 0setsync 1

sendln 'setenv serverip 192.168.1.100'waitrecv '#' 1 0

sendln 'setenv ipaddr 192.168.1.101'waitrecv '#' 1 0

sendln 'setenv nfshost $(serverip)'waitrecv '#' 1 0

sendln 'setenv rootpath /home/user/target'waitrecv '#' 1 0

sendln 'setenv videoargs video=davincifb:vid0=720x576x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc'waitrecv '#' 1 0

sendln 'setenv bootargs $(videoargs) console=ttyS0,115200n8 noinitrd rw root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock ip=$(ipaddr) mem=120M'waitrecv '#' 1 0

sendln 'tftpboot 0x80700000 uImage; bootm'waitrecv '#' 1 0</syntaxhighlight> Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

Are there any DM355 examples?[edit]

Below are 4 macros for each of the boot options on DM355 - TFTP/NAND for kernel and NAND/NFS for file system):

<syntaxhighlight>

Tera Term Macro
file dm355_tftp_nfs.ttl
comments rename the serverip, rootpath and bootfile

showtt 0setsync 1

sendln 'setenv serverip xxx.xxx.xxx.xxx'waitrecv '#' 1 0

sendln 'setenv nfshost $(serverip)'waitrecv '#' 1 0

sendln 'setenv rootpath /home/user/target'waitrecv '#' 1 0

sendln 'setenv videoargs video=dm355fb:vid0=720x480x16,2025K@0,0:vid1=720x480x16,2025K@0,0:osd0=720x480,1350K@0,0:osd1=720x480,1350K@0,0waitrecv '#' 1 0

sendln 'setenv bootargs $(videoargs) console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=$(nfshost):$(rootpath) ip=dhcp mem=116M'waitrecv '#' 1 0

sendln 'setenv bootfile uImage'waitrecv '#' 1 0

sendln 'dhcp;bootm'waitrecv '#' 1 0</syntaxhighlight> Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

<syntaxhighlight>

Tera Term Macro
file dm355_tftp_nand.ttl
comments rename the serverip and bootfile

showtt 0setsync 1

sendln 'setenv serverip xxx.xxx.xxx.xxx'waitrecv '#' 1 0

sendln 'setenv videoargs video=dm355fb:vid0=720x480x16,2025K@0,0:vid1=720x480x16,2025K@0,0:osd0=720x480,1350K@0,0:osd1=720x480,1350K@0,0waitrecv '#' 1 0

sendln 'setenv bootargs $(videoargs) console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=yaffs2 rw ip=dhcp mem=116M'waitrecv '#' 1 0

sendln 'setenv bootfile uImage'waitrecv '#' 1 0

sendln 'dhcp;bootm'waitrecv '#' 1 0</syntaxhighlight> Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

<syntaxhighlight>

Tera Term Macro
file dm355_nand_nfs.ttl
comments rename the serverip and rootpath

showtt 0setsync 1

sendln 'setenv serverip xxx.xxx.xxx.xxx'waitrecv '#' 1 0

sendln 'setenv nfshost $(serverip)'waitrecv '#' 1 0

sendln 'setenv rootpath /home/user/target'waitrecv '#' 1 0

sendln 'setenv videoargs video=dm355fb:vid0=720x480x16,2025K@0,0:vid1=720x480x16,2025K@0,0:osd0=720x480,1350K@0,0:osd1=720x480,1350K@0,0waitrecv '#' 1 0

sendln 'setenv bootargs $(videoargs) console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=$(nfshost):$(rootpath) ip=dhcp mem=116M'waitrecv '#' 1 0

sendln 'nboot 0x80700000 0 0x400000;bootm'waitrecv '#' 1 0</syntaxhighlight> Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

<syntaxhighlight>

Tera Term Macro
file dm355_nand_nand.ttl

showtt 0setsync 1

sendln 'setenv videoargs video=dm355fb:vid0=720x480x16,2025K@0,0:vid1=720x480x16,2025K@0,0:osd0=720x480,1350K@0,0:osd1=720x480,1350K@0,0waitrecv '#' 1 0

sendln 'setenv bootargs $(videoargs) console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=yaffs2 rw ip=dhcp mem=116M'waitrecv '#' 1 0

sendln 'nboot 0x80700000 0 0x400000;bootm'waitrecv '#' 1 0</syntaxhighlight> Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

Are there any DM6467 examples?[edit]

Below is an example ttl script for users with a switch/router. To reiterate one of the advantages of using a ttl script is that you can share boards between team members without wrenching their boot settings.

This ttl script has been tested in the DVSDK 1.40 environment.

Naturally replace the serverip with whatever /sbin/ifconfig shows as your IP address.

<syntaxhighlight>showtt 0setsync 1

sendln 'setenv serverip 158.123.45.678'waitrecv '#' 1 0

sendln 'setenv nfshost $(serverip)'waitrecv '#' 1 0

sendln 'setenv ipaddr dhcp'waitrecv '#' 1 0

sendln 'setenv rootpath /home/user/workdir/filesys_dm6467'waitrecv '#' 1 0

sendln 'setenv bootargs console=ttyS0,115200n8 noinitrd rw root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock ip=$(ipaddr) mem=120M davincihd_capture.channel0_numbuffers=4'waitrecv '#' 1 0

sendln 'setenv bootfile uImage.DM6467'waitrecv '#' 1 0

sendln 'dhcp;tftpboot;bootm'waitrecv '#' 1 0</syntaxhighlight>


Here is a DM6467T EVM Teraterm macro file for DVSDK 3.10. The macro provides the following options:

  • Booting via static IP or DHCP address for EVM
  • Loading kernel via TFTP or Flash
  • Loading filesystem via NFS or HDD

<syntaxhighlight>

Macro for Tera Term
DM6467T EVM - DVSDK v3.10
Texas Instruments
Authors
Prateek Bansal, Scott Specker
Uncomment below line if using from command line. Note '/C=1' indicates COM1!! For COM2 use '/C=2'
connect '/C=1'
showtt Show TeraTerm window when inputting commands

showtt 1

Synchronous mode - wait for > before next command is sent

setsync 1

Disable autoload TFTP when invoking dhcp command to get IP address

sendln 'setenv autoload no'waitrecv '>' 1 0

Set boot file if booting kernel via TFTP

sendln 'setenv bootfile uImage'waitrecv '>' 1 0

Video settings for DVSDK 3.10 for DM6467T EVM

sendln 'setenv videocfg vpif_display.ch2_numbuffers=0 vpif_display.ch3_numbuffers=0'waitrecv '>' 1 0

static ip (You can chose to hardcode the static IP address)

sendln 'setenv ipaddr 192.168.1.111'waitrecv '>' 1 0sendln 'setenv gateway 192.168.1.1'waitrecv '>' 1 0sendln 'setenv netmask 255.255.255.0'waitrecv '>' 1 0sendln 'setenv static_ip $ipaddr:$gateway:$netmask::::off'waitrecv '>' 1 0

Bootcmd parameters for booting kernel from Flash or via TFTP

sendln 'setenv bootcmd_flash nboot 80700000 0 640000;bootm'waitrecv '>' 1 0sendln 'setenv bootcmd_tftp tftp;bootm'waitrecv '>' 1 0

Shared NFS directory path

defaultNFSpath='/home/user/workdir/filesys'msg = 'Use Default NFS Path Address: 'strconcat msg defaultNFSpathyesnobox msg 'DaVinci Setup'if result then sendln 'setenv nfspath /home/user/workdir/filesys' waitrecv '>' 1 0else inputbox 'Enter NFS Path:' 'DaVinci Setup'

sendln 'setenv nfspath ' inputstr waitrecv '>' 1 0reboorooendif

Boot with Static IP address or DHCP configuration for DM6467 EVM

yesnobox 'Boot Static or Dynamic? [Yes=Static, No=Dynamic(dhcp)]' 'DaVinci Setup'if result then sendln 'setenv myip $static_ip' waitrecv '>' 1 0else sendln 'dhcp' waitrecv '>' 1 0 sendln 'setenv myip dhcp' waitrecv '>' 1 0endif

TFTP Server and NFS host IP Address - for loading uImage and NFS directory

defaultServerip='192.168.1.102'msg = 'Use Default TFTP Server IP Address: 'strconcat msg defaultServeripyesnobox msg 'DaVinci Setup'if result then sendln 'setenv serverip ' defaultServerip waitrecv '>' 1 0else inputbox 'Enter Server IP Address:' 'DaVinci Setup' sendln 'setenv serverip ' inputstr waitrecv '>' 1 0endif

Set NFS host address same as serverip

sendln 'setenv nfshost $serverip'waitrecv '>' 1 0


Boot HDD or NFS filesystem

yesnobox 'Boot using Root from HDD or NFS? (Yes=HDD, No=NFS)' 'DaVinci Setup'if result then sendln 'setenv bootargs_hdd mem=76M console=ttyS0,115200n8 noinitrd ip=$myip root=/dev/hda1' waitrecv '>' 1 0 sendln 'setenv bootargs $bootargs_hdd $videocfg' waitrecv '>' 1 0else sendln 'setenv bootargs_nfs mem=76M console=ttyS0,115200n8 noinitrd rw ip=$myip root=/dev/nfs nfsroot=$nfshost:$nfspath,nolock' waitrecv '>' 1 0 sendln 'set bootargs $bootargs_nfs $videocfg' waitrecv '>' 1 0endif

Boot kernel from Flash or via TFTP

yesnobox 'Boot Kernel from Flash or via TFTP? (Yes=Flash, No=TFTP)' 'DaVinci Setup'if result then sendln 'set bootcmd $bootcmd_flash' waitrecv '>' 1 0else sendln 'set bootcmd $bootcmd_tftp' waitrecv '>' 1 0endif

Save environment variables

yesnobox 'Save uboot environment variables?' 'DaVinci Setup'if result then sendln 'saveenv' waitrecv '>' 1 0endif

Boot linux or go to uboot prompt

yesnobox 'Boot Linux now?' 'DaVinci Setup'if result then

else setdlgpos 200 200 msg='Use the 'boot' command when you want to boot the DVEVM' ;statusbox 'Message' 'Title' statusbox msg 'Boot later...' pause 2 closesboxendif

showtt 1</syntaxhighlight>

Note: The use of parenthesis for variable substitution is being deprecated for new U-boot releases - use curly braces {} instead. Check http://www.denx.de/wiki/view/DULG/CommandLineParsing

What about OMAP-L1 TeraTerm Scripts?[edit]

Are there any OMAPL137 examples?[edit]

Below is an example ttl script for users with a switch/router and NFS server. To reiterate one of the advantages of using a ttl script is that you can share boards between team members without wrenching their boot settings.

This ttl script has been tested in the SDK 1.00.00.10 environment and all directories and filenames match the default installation procedure as listed in the Installing the Software for OMAP-L137

Note: for OMAPL137 you must set the delay as mentioned in the What is a TeraTerm INI? section

  • Replace the serverip with whatever /sbin/ifconfig shows as your IP address.
  • Replace the useracct with the name you use to login to your Linux PC.

<syntaxhighlight>

Keep the VT window open while executing macro

showtt 1

Set the synchronous mode

setsync 1

Set the title to make easier identification between boards

settitle 'OMAPL137'

set tftp server ip address

sendln 'setenv serverip 192.168.1.89' ;CHANGE 192.168.1.89 TO MATCH YOUR CONFIGURATION!!!

set nfs server ip address

sendln 'setenv nfshost ${serverip}'

set nfs rootpath

sendln 'setenv rootpath /home/<useracct>/workdir/filesys' ;CHANGE <useracct> TO MATCH YOUR CONFIGURATION!!!

set kernel command line argument

sendln 'setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=${nfshost}:${rootpath},nolock mem=32M'

choose kernel image file name

sendln 'setenv bootfile uImage'

obtain the IP via dhcp server and boot the board!

sendln 'dhcp;bootm'

end of macro file

</syntaxhighlight>

The script below works with an USB pendrive that should meet the requirements below. Check the <LSP_02.20_OMAP-L137_User_Guide.pdf> and this topic for additional details.

  • U-boot must be rebuilt with USB support enabled.
  • The 2GB USB pendrive must be connected to USB0 only and contain two partitions:
    • the first partition must be of type FAT16 or FAT32 and contains the uImage (Linux Kernel) file in the root directory
    • the second partition must be of type ext2 or ext3 and contains the target filesystem (the same contents of /home/<useracct>/workdir/filesys)

<syntaxhighlight>

Keep the VT window open while executing macro

showtt 1

Set the synchronous mode

setsync 1

needed because of the slower operations usb start and fatload

PromptUboot = 'U-Boot > '

Set the title to make easier identification between boards

settitle 'OMAPL137'

check if USB is alive and which devices are on

sendln 'usb start'wait PromptUboot

load the kernel image to memory

sendln 'fatload usb 0:1 0xC0700000 uimage'wait PromptUboot

set kernel command line argument

sendln 'setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/sda2 rootfstype=ext2 mem=32M' ;USB BOOT

choose kernel image file name

sendln 'setenv bootfile uImage'

boot the board!

sendln 'bootm'

end of macro file

</syntaxhighlight>

Note: The command usb start sometimes hangs on the message scanning bus for storage devices.... If this happens to you, stop the macro from executing, reset the board and reload the script file.

The script below works with a linux kernel in SPI and a MMC/SD card that contains the root filesystem

  • The SPI Flash should be pre-loaded with a linux kernel located at address 0x1e0000 (Primus U-boot is not able to initialize and load a kernel from the SD card). The production boards will have the kernel preloaded. For additional details on how to do this, please check this topic and section 5.4.2 of the <LSP_02.20_OMAP-L137_User_Guide.pdf>
  • The last parameter of the sf read command must be equal or greater than the size of the linux kernel image.

<syntaxhighlight>

Keep the VT window open while executing macro

showtt 1

Set the synchronous mode

setsync 1

Set the title to make easier identification between boards

settitle 'OMAPL137'

needed because of the slower SPI Flash operations

PromptUboot = 'U-Boot > '

set kernel command line argument

sendln 'setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/mmcblk0p1 rootfstype=ext2 mem=32M' ;MMC/SD BOOT

select the SPI Flash memory

sendln 'sf probe 0'wait PromptUboot

load kernel image to RAM address 0xc0700000...

sendln 'sf read 0xc0700000 0x1e0000 0x220000'wait PromptUboot

...and boot the board!

sendln 'bootm'

end of macro file

</syntaxhighlight>

Are there any OMAPL138 examples?[edit]

Below is an example ttl script for users with a switch/router and NFS server. To reiterate one of the advantages of using a ttl script is that you can share boards between team members without wrenching their boot settings.

This ttl script has been tested in the SDK 1.00.00.08 environment and all directories and filenames match the default installation procedure as listed in the GSG: Installing the Software for OMAP-L1

<syntaxhighlight>

Keep the VT window open while executing macro

showtt 1

Set the synchronous mode

setsync 1

Set the title to make easier identification between boards

settitle 'OMAPL138'

The timeout between lines is 1 second
timeout = 1
set tftp server ip address

sendln 'setenv serverip 192.168.1.89' ;CHANGE 192.168.1.89 TO MATCH YOUR CONFIGURATION!!!

set nfs server ip address

sendln 'setenv nfshost ${serverip}'

set nfs rootpath

sendln 'setenv rootpath /home/<useracct>/workdir/filesys' ;CHANGE <useracct> TO MATCH YOUR CONFIGURATION!!!

set kernel command line argument

sendln 'setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=${nfshost}:${rootpath},nolock mem=32M'

choose kernel image file name

sendln 'setenv bootfile uImage'

obtain the IP via dhcp server and boot the board!

sendln 'dhcp;bootm'

end of macro file

</syntaxhighlight>

What about using a DLP Pico Projector?[edit]

Beagle example[edit]

<syntaxhighlight>

Tera Term script for using DLP Pico Projector as display on Beagle
File system on partition 2 of SD card - you may need to modify the DSS based on your kernel
The first bootargs are for 2.6.28, and second set for 2.6.29

setsync 1

sendln 'mmcinit'waitrecv '#' 1 0

sendln 'setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait omap-dss.def_disp=dvi omapfb.video_mode=640x480MR-16@60 omapfb.vram=4M,4M,4M mem=80M'

sendln 'setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait omapdss.def_disp=dvi omapfb.mode=dvi
640x480MR-16@60 omapfb.vram=0:4M,1:4M,2:4M mem=80M'

waitrecv '#' 1 0

sendln 'setenv bootcmd mmcinit;fatload mmc 0 80300000 uImage;bootm 80300000'waitrecv '#' 1 0

</syntaxhighlight>

Teraterm Log File Name Format

What is a TeraTerm INI?[edit]

When TeraTerm starts, it runs TERATERM.INI to setup the console. Once you have set your serial terminal to the correct baude rate (via 'Setup->Serial') on COM1 (via 'Setup->General->Default Port'), you can save the setup via 'Setup->Save Setup.' Save this setup in the TeraTerm Installation directory by overwriting TERATERM.INI. Now your TeraTerm will be setup correctly every time you start it.

To run the above scripts, you may need to add a line delay of 100ms (otherwise the lines can become concatenated) by setting the Transmit delay to 100 ms/line (via 'Setup->Serial'). You'll probably want to save this modification in TERATERM.INI to avoid having to modify it every time you start TeraTerm.

{{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Teraterm Scripts here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Teraterm Scripts here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Teraterm Scripts here.DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Teraterm Scripts here.MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Teraterm Scripts here.OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Teraterm Scripts here.OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Teraterm Scripts here.MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Teraterm Scripts here.For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Teraterm Scripts here.

}}

Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity

Retrieved from 'https://processors.wiki.ti.com/index.php?title=Teraterm_Scripts&oldid=181493'
Prev: About Internationalization of a Project
Next: FILE RELEASE Synchronization Feature with GitHub Releases

Description of the file storage feature which supports uploading via general-purpose command line tools, like rsync, is on the next page. It is a different feature from the package-style release feature which will be described here on this page.

By using OSDN's file release function, you can distribute softwares created by your project.

File release related terms

OSDN's file release system is managed in a layered structure, as it's shown below. First, we'll talk about each of these terms.

Package

Package is the largest unit for file release, and often, it is given the name of the software. Because there are many projects giving the same name for the software and project, as default, we provide each project with a package that has the project's UNIX name. (You can certainly change the name if you want to.)

A project can have multiple packages. For example, let's say there's a project called “foo” which develops not only a software called “foo”, but also a software called “bar”. In that case, it would be convenient to create packages called “foo” and “bar”.

Release

Each package can have multiple releases.

Release comprises the followings.

  • File (or files)
  • Release Notes (can be written in multiple languages)
  • Change Log (can be written in multiple languages)

In short, release is a collection of all the related files that are to be actually distributed.

For example, let's say you want to release version 0.1 for a program called foo. In that case, you will create release “0.1” under the package “foo”. Then, You will upload the file for the actual program, foo version 0.1. You would also want to write a release notes (about things like “The first release” or “Still the alpha version”), and add to the change log with the things have been changed since the last release.

The releases that have been created will be displayed in a list which allows general users to download from there.

How to release

Conducting a file release is limited to the users with permission, such as project admins and release admins.

The procedure for file release is as follows.

  1. Create a package.
  2. Create a release. (File upload)

1. Create a package

Once a project has been registered, a package will be automatically created, and it will be named the same as the project's UNIX name. If you're okay with the name, then you don't have to create a new package. You may move on to the next step.

To create a Package, find 'Add Package' button from the release list or the admin page for the downloads, and click. Enter the package name, then select the open/closed status. Generally, it should be fine with 'open'. (We'll elaborate on the status later in the chapter.)

2 Create a release

Once you've created a package, you can add releases to that package. Find the “Add Release” button from the release list or the admin page for the downloads, and click.

For a release, you can set up the following items of information.

  • Release name
  • Open/closed status
  • Release notes
  • ChangeLog
  • Files included in the release

Release notes and ChangeLog can be written in multiple languages.

For each release, you can add multiple files. And for each of those files, you can also set up the open range.

From browsers (that support uploading multiple files), you can upload multiple files simultaneously.

You could also use FTP for uploading files. When using FTP for uploads, make sure the switch for FTP uploading is turned on. Information regarding FTP uploading will be displayed.

For each file upload, the file size is limited to 4.7GB.

For each release, you can attach “release note” and “change log” documents. To attach documents, choose the methods you like from the following options.

  • Use wiki format for the description
    • From the entering form on the release's edit page, enter using wiki format
    • Can be described in different languages separately
  • Display the contents of a file
    • Can display the content of a file whose file name is recognized by the system as release note/change log file.
    • File names that are recognized as release note are 'readme', 'release', and 'releasenote'. (Does not distinguish between capital and small letters. )
    • File names that are recognized as change log are 'changes' and 'changelog'. (Does not distinguish between capital and small letters. )
    • Support file formats such as text (files without extension or with .txt filename extension will be treated as text files), html (files with .htm or .html filename extension will be treated as html), and markdown (files with .md filename extension will be treated as markdown).
    • You can display files written in different languages separately by assigning a language after the filename (and before the filename extension) along with a hyphen. (For example, README-ja.text will be treated as a release note written in Japanese.)
    • Support UTF-8 character encoding (Files that are written in other code may generate character corruption).
    • Regarding html, some of the tags will be ignored.
    • Even if the filename matches, it will not be shown if it is not a text file.
    • Documents over 30k bytes or bigger will not be shown.
    • The public/hidden status of the file has to be set to “public”. (Files that are set to hidden or private status will not have the contents used for display.)

When the system recognizes files, from among the uploaded files, that match the conditions, the names of those files will appear on editing UI for the release. To show the contents of the files, select the files from there (Please note, it will not be updated without your consent to apply). In addition, please note that after the applying process, all the document information that was entered in the entering form will be deleted.

About Public/Private Status

For each package/release/file, you can set up 'open range' individually.

  • Public: Anyone can access (and this is generally selected.)
  • Hidden: Will not be displayed in the list (except when viewed by the project admin/file release admin). However, anyone with the knowledge of the URL to access can access directly. This is what would want, for example, when you want the project members to check for any mistakes before making the file public.
  • Private: Only project admin/file release admin can view. (Even with the knowledge of the URL, anyone without the permission can not view.)

You can set up public/private status for each package/release/file, but an actual status will be affected by its higher rank. (If you're talking about a release, then it will be influenced by the package, and if it's a file that you're talking about, then it will be influenced by the release and package that includes that file.)

For example, let's say the status for a release is set to public, but the package that includes that release is set to hidden, then that release will not appear in the list.

Preferred Download

You can also set up preferred download to make a file displayed with priority in places like file release list, project top page, and so on. For example, by specifying a file to be the stable version, you can make it appear in a way that stands out among other files, and that way, you can get the users to download that file with priority.

You can specify one preferred download for each file type.

System Requirements

You can edit the system requirement in which you can write about the operation conditions of the program you have released. For each project as a whole, you can edit the system requirements (in multiple languages).

Release File URL Formats

URLs that specify packages, releases, and release files will be expressed as below.

  • Package URL: https://osdn.net/projects/(Project Name)/releases/(Package id)
  • Release URL: https://osdn.net/projects/(Project Name)/releases/(Release id)
  • Release File URL: https://osdn.net/projects/(Project Name)/downloads/(Release id)/(File Name)/

When leading users from project web to download page, they will be notified by a release or with release-file URL format shown above. There are some URL formats that specify a mirror server, but historically speaking those URLs don't have the permanence, so you are recommended to hold back on using them. By the way, package id and release id are just a line of numbers, and that may cause inconvenience when a project is trying to notify a download URL. For that reason, there's a simplified URL format as shown below that specifies a package/release/release file.

  • Simplified Package URL: https://osdn.net/pkg/(Project Name)/(Package Name)
  • Simplified Release URL: https://osdn.net/rel/(Project Name)/(Release Name)
  • Simplifed Release URL (specified Package name): https://osdn.net/rel/(Project Name)/(Package Name)/(Release Name)
  • Simplified Release-File URL: https://osdn.net/dl/(Project Name)/(File Name)

At times, files with a same name could coexist in a project, and in such cases, when that package/release/file name is using the above format, this will become an URL that designates the newer one.

Also regarding releases, there may be cases where multiple packages share a same name. For example let's say a project have package A and B and both contain release 1.0. On such case, by specifying the package name, you can clarify which release for which package.

Given TeraTerm 4.90 as an example, you can use URLs like the ones below for public announcements. Use them accordingly.

  • Package URL: https://osdn.net/projects/ttssh2/releases/p7801
  • Simplified Package URL: https://osdn.net/pkg/ttssh2/Tera Term
  • Release URL: https://osdn.net/projects/ttssh2/releases/64798
  • Simplified Release URL: https://osdn.net/rel/ttssh2/4.90
  • Simplified Release URL (specified the package): https://osdn.net/rel/ttssh2/Tera Term/4.90
  • Download URL of exe file: https://osdn.net/projects/ttssh2/downloads/64798/teraterm-4.90.exe/
  • Simplified URL of exe file: https://osdn.net/dl/ttssh2/teraterm-4.90.exe

Direct Download

Currently, when a release-file URL is accessed from wget, curl, libwww-perl, PowerShell, apt, dnf, or other package management tools, downloading of the file will begin right away without having to go via html page.

Upload a File Release without Using Web UI

You can use OSDN's REST API to upload and edit file releases. We are also equipped with command line tools that were implemented through the use of this API. By using the command-line tools, you can reflect file tree of the local side to the release-file tree of the OSDN side, easily with a simple command.

Virus Detection will be Performed

By using VirusTotal, uploaded files will be scanned for viruses.

  • Scan result will be displayed on the pages of a release list and such.
  • The scan result does not guarantee that a file is free of virus infection.
  • VirusTotal checks for viruses by using multiple Virus detection engines in aggregated manner. Among these engines, there are a few very sensitive ones that frequently send false positives. Therefore, in rare occasions, a few virus warning messages may appear against a practically and absolutely safe file. (Thus, even with the scan result from VirusTotal, the file cannot be immediately determined as dangerous.) Please review the detailed result to judge its safety.
  • When there are a certain number of warnings as a result of detecting viruses, the result will be notified to the administer of the file project and the person in charge of the file release, by email. (Because a recheck may be performed after a certain period of time, there are cases that you may receive multiple notifications for a single file. )
  • If a file is judged to have a problem, the site admin side may take necessary measures such as making it private or deleting it.
  • Due to the VirusTotal's API limit, virus scan for files that are over 350MB cannot be performed.
  • Scan result will not be displayed immediately after the upload. (Due to the behavior of the Virus Total, and the API's access limit, it will take at least 30 minutes, and there are even cases that could take a few days.)
Prev: About Internationalization of a Project
Next: FILE RELEASE Synchronization Feature with GitHub Releases