CC2541软件烧录问题
我想自己写一个类似SmartRF Flash Programmer 8051CC2541烧录软件,但是却没有相关的协议或者DEMO供参考(与CD_Debugger通讯协议)。因为我想将烧录与测试软件结合一起,但是现在就是缺少了烧录相关的资料。请问官方有什么文档或者DEMO的参考吗?哪怕是脱机烧录的都行。
很抱歉,目前只提供了hex文件
能提供烧录相关的协议、或者文件DEMO吗?
很抱歉,目前TI没有提供Flash programmer的源码,但您可以参考 SmartRFProgConsole 这个command line programmer。该文件应该在 C:\Program Files (x86)\Texas Instruments\SmartRF Tools\Flash Programmer\bin内
您好,我根据您的知道找到了该exe文件,但是该文件是一个控制台程序,点击运行后控制台就一闪而过了。不知道这种事什么情况。
您可以使用自己的上位机软件调用SmartRFProgConsole.exe来写
Texas Instruments SmartRF Flash Programmer v1.13.7-no-mfc
---------------------------------------------------------
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 CC254x)
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, CC254x: 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 CC254x.
Flash lock (Target = S): [L(c)][LB(c)][LD(c)][LA(c)][LP(x-y)][LD][LPD(x-y)]
"L(c), LB(c), LD(c), LA(c)" only CC243x, cc111x and CC251x. "LP(x-y), LD, LPD(x-y)" 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).
LD Block debug commands
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!