Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

LPRF Tools FAQ

From Texas Instruments Wiki
Jump to: navigation, search

How can I do automatic programming with SmartRF Hardware Tools?

The SmartRF Flash Programmer is delivered also as console program called SmartRFProgConsole.exe which can be used for automatic programming e.g. in mass production. The console program can be usually found (if the SmartRF Flash Programmer is installed using the default installation path) under the folder: C:\Program Files\Texas Instruments\SmartRF Tools\Flash Programmer\bin.

In order to get the fully decription on how to use the SmartRFProgConsole.exe, it shall be executed without any parameters. The output description of SmartRFProgConsoe.exe is shown as follows:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
 
C:\Program Files\Texas Instruments\SmartRF Tools\Flash Programmer\bin>SmartRFPro
gConsole.exe
 
Texas Instruments SmartRF Flash Programmer v1.12.0
-------------------------------------------------
 
SmartRFProgConsole [Target][Actions][File][Interface Slow][Change / IEEE address
][Flash lock][Bootloader ID]
The order of the parameters is irrelevant.
 
Target: [S][AU][AS][B]
S     System-on-Chip (programmed via USB)
      Type S(n), where n is the board ID number, to select a specific EB.
      Otherwise, if there are multiple boards, the one to be programmed will be
      selected at random.
AU    EB application (programmed via USB)
      Type AU(n), where n is the board ID number, to select a specific EB.
      Otherwise, if there are multiple boards, the one to be programmed will be
      selected at random.
AS(n) EB application (programmed via the EC2 adapter on serial port COMn).
      (only SmartRF04EB)
B(n)  EB bootloader (programmed via the EC2 adapter on serial port COMn).
      (only SmartRF04EB)
 
Actions to perform: [P][EP][EPV][EPVC][PV][PVC][V][R][RP][EP][WP][CE]
P     Program                                                  (all targets)
EP    Erase and program                                        (all targets)
EPV   Erase, program and verify                                (all targets)
EPVC  Erase, program and verify (CRC each page=>faster)        (only target S)
PV    Program (append) and verify                              (only target S)
PVC   Program and verify (CRC each page=>faster)               (only target S)
V     Verify against hex or hem file                         (targets S, AS, B)
VC    Verify against hex or hem file (CRC each page=>faster) (targets S, AS, B)
R     Read into hex file                                       (only target S)
RP=   Read flash page into binary file                         (only target S)
EP=   Erase flash page                                         (only target S)
WP=   Write flash page from binary file                        (only target S)
EWP=  Erase and Write flash page from binary file              (only target S)
CE    Full chip erase                                          (only target S)
 
File: F="f"
"f"   Flash image file name (intel hex file (*.hex), or hex merge file (*.hem))
      A merge file can contain one or more file/change specifications.
      See "example.hem" for how to create one.
 
Interface Slow(Target = S): [IS]
IS    Program SoC (System on chip) with reduced speed on the debug interface.
 
Change hex file before programming (e.g. for serial number): [A=a,D=d][EKF="f"]
A=a,D=d     Change one or more bytes in the hex file before downloading it.
a     Hexadecimal address (e.g. 2C03, 01BC25)
d     One or more bytes to be changed, in hexadecimal format, separated with
      dots (e.g. 4B, 1.2.3.A.B.C, 12.34.56.AB.CD.EF or 12.3.AB)
EKF   Patch hex file with Encryption Key data.
"f"   Certificate file from Certicom with encryption key data.
 
IEEE MAC address related options [KI(F=f)] [RI(F=f,[PRI][SEC])] [WI(F=f,I=i)]
(only CC243x, CC253x and CC2540)
KI(F=f)     Keep the IEEE MAC address currently on the chip when programming it
RI(F=f,[PRI][SEC]) Read out the IEEE MAC address currently on the chip
       For devices with both a primary and a secondary address, the option "PRI"
       or "SEC" can be used to specify which to read. "PRI" is default.
WI(F=f,I=i) Write the given IEEE MAC address to the chip when programming it
f     The chip's flash size in kB (only used for CC243x)
      CC243x:  32, 64, or 128  (determines the location of the IEEE address)
      CC253x, CC2540:  set to 0        (not used)
i     IEEE MAC address to write in hexadecimal format, separated
      with dots (e.g. 00.12.4B.00.00.00.00.01).
      8 bytes for CC243x and CC253x, and 6 bytes for CC2540.
 
Flash lock (Target = S): [L(c)][LB(c)][LD(c)][LA(c)][LP(x-y)][LPD(x-y)]
("L, LB, LD, LA" only CC243x. "LP, LPD" only CC253x and CC254x
c     Code for write protection of the upper section of the flash:
      CC111x, CC251x: 0=All, 1=24 kB, 16 kB,  8 kB, 4 kB, 2 kB, 1 kB, 7=None
      CC2430, CC2431: 0=All, 1=64 kB, 32 kB, 16 kB, 8 kB, 4 kB, 2 kB, 7=None
L(c)     Write protect section only (L(7) is equal to omitting this parameter)
LB(c)    Write protect section + boot block
LD(c)    Write protect section, and block debug commands
LA(c)    Write protect section + boot block, and block debug commands
LP(x-y)  Write protect flash pages from page x to page y.
         Several ranges can be given separated with a comma:
         E.g. LP(0-26,48-126), LP(0,1,2,8-10).
LPD(x-y) Write protect flash pages and block debug commands.
 
Bootloader ID (Target = B): I=i
i     Becomes the EB ID number when programming new bootloader. Use 1-4 digits
      (e.g. 0123, 3, or 45). Important: EBs that are used on the same computer
      must have unique ID numbers!
 
Read/Erase/Write Flash page options: RP=n, EWP=n, WP=n, EP=n
n     The Page number
 
Examples:
SmartRFProgConsole S EPV F=C:\test.hex A=135,D="1 23 45"
SmartRFProgConsole S P F="C:\test.hex"
SmartRFProgConsole EPV AU(0123) F=D:\Test.hex
SmartRFProgConsole B(1) EPV "F=C:\Filename with spaces.hex" I=1234
SmartRFProgConsole S EP F="C:\Test flash lock.hex" LB(3)
SmartRFProgConsole S EP F="C:\Test flash lock.hex" LP(0-126)
SmartRFProgConsole S EPV F="C:\test.hex" WI(F=0,I=00.12.4B.00.00.00.00.01)
SmartRFProgConsole S EPV F="C:\test.hex" KI(F=1)
SmartRFProgConsole S EPV F="C:\test.hex" EKF=certificate_example.txt
SmartRFProgConsole S PVC F="C:\test.hex"
SmartRFProgConsole S RP=1 F="C:\test.bin"
SmartRFProgConsole S EP=1
SmartRFProgConsole S WP=1 F="C:\test.bin"
SmartRFProgConsole S EWP=1 F="C:\test.bin"
 
To list all connected EBs/programmers (max 64):
SmartRFProgConsole X
 
Status messages are printed to stdout, error messages to stderr.
 
Return Codes:
      0 = Success
      1 = System error
      2 = Parameter error
      3 = Illegal parameter combinations
      4 = Missing parameters
      5 = Missing image file or communication error
 
C:\Program Files\Texas Instruments\SmartRF Tools\Flash Programmer\bin>

Examples:

  • reading out the IEEE primary and secondary addresses from a CC2530F256:
C:\>SmartRFProgConsole.exe S RI(F=256,PRI)
 
Texas Instruments SmartRF Flash Programmer v1.12.0
-------------------------------------------------
 
2520: Reading IEEE MAC address...
2520: IEEE MAC address read successfully
2520: IEEE address: 00.12.4B.00.01.9C.4E.44
 
 
C:\>SmartRFProgConsole.exe S RI(F=256,SEC)
 
Texas Instruments SmartRF Flash Programmer v1.12.0
-------------------------------------------------
 
2520: Reading IEEE MAC address...
2520: IEEE MAC address read successfully
2520: IEEE address: FF.FF.FF.FF.FF.FF.FF.FF


How can I do automatic communication like using SmartRF Studio?

The SmartRF Studio is delivered with PERL extension module. To find out more about this, open the SmartRF Studio, go to "Help" -> "Browse complete Help Document" -> "PERL Extension Module".

Smartrf studio perl extmod um.PNG


After trying to update my development board, it seems not to work anymore. How can i fix this?

Most of the development boards provide the debugging/programming connection of the on-board CC2511 USB controller (for example P200 for the TrxEB board). Therefore it is possible to use for example the CC-Debugger to reprogram the firmware of the on-board CC2511 USB controller. The firmware can be found usually under C:\Program Files\Texas Instruments\SmartRF Tools\Firmware after installing the [Smart-RF Studio].