📄 flashprogrammer.m
字号:
function flashProgrammer
% FLASHPROGRAMMER - c28x Flash Programner helper function
%
%
% Copyright 2006 The MathWorks, Inc.
% $Revision: 1.1.6.1 $
% $Date: 2006/11/29 22:35:07 $
% The following folders are the default folders from TI installation of
% the c28 Flash APIs. Replace the folder to match your custom installation.
c28044APIFolder = 'C:\tidcs\c28\Flash28_API\Flash28044_API_V100';
c2812APIFolder = 'C:\tidcs\c28\Flash28_API\Flash2812_API_V210';
c2811APIFolder = 'C:\tidcs\c28\Flash28_API\Flash2811_API_V210';
c2810APIFolder = 'C:\tidcs\c28\Flash28_API\Flash2810_API_V210';
c2808APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2808_API_V302';
c2806APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2806_API_V302';
c2802APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2802_API_V302';
c2801APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2801_API_V302';
c28016APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2801_API_V302';
c28015APIFolder = 'C:\tidcs\c28\Flash280x_API\Flash2801_API_V302';
c2809APIFolder = 'C:\tidcs\c28\Flash28_API\Flash2809_API_V100';
tgtInfo = getTgtPrefInfo(gcs);
switch tgtInfo.chipInfo.deviceID
case 'F2812'
flashApiLib= [c2812APIFolder '\lib\Flash2812_API_V210.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2812APIFolder '\include\Flash281x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2812APIFolder '\include\Flash281x_API_Library.h'];
startAddressLoadRAMSection='3F8000';
loadRAMSize = 8192;
case 'F2811'
flashApiLib= [c2811APIFolder '\lib\Flash2811_API_V210.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2811APIFolder '\include\Flash281x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2811APIFolder '\include\Flash281x_API_Library.h'];
startAddressLoadRAMSection='3F8000';
loadRAMSize = 8192;
case 'F2810'
flashApiLib= [c2810APIFolder '\lib\Flash2810_API_V210.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2810APIFolder '\include\Flash281x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2810APIFolder '\include\Flash281x_API_Library.h'];
startAddressLoadRAMSection='3F8000';
loadRAMSize = 8192;
case 'F28044'
flashApiLib= [c28044APIFolder '\lib\Flash28044_API_V100.lib'];
flashApiHeadersListStruct.flashapiconfig = [c28044APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c28044APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='009000';
loadRAMSize = 4096;
case 'F2809'
flashApiLib= [c2809APIFolder '\lib\Flash2809_API_V100.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2809APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2809APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='00A000';
loadRAMSize = 8192;
case 'F2808'
flashApiLib= [c2808APIFolder '\lib\Flash2808_API_V302.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2808APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2808APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='00A000';
loadRAMSize = 8192;
case 'F2806'
flashApiLib= [c2806APIFolder '\lib\Flash2806_API_V302.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2806APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2806APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='009000';
loadRAMSize = 4096;
case 'F2802'
flashApiLib= [c2802APIFolder '\lib\Flash2802_API_V302.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2802APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2802APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='008800';
loadRAMSize = 2048;
case {'F2801' 'F28015' 'F28016'}
flashApiLib= [c2801APIFolder '\lib\Flash2801_API_V302.lib'];
flashApiHeadersListStruct.flashapiconfig = [c2801APIFolder '\include\Flash280x_API_Config.h'];
flashApiHeadersListStruct.flashapilib = [c2801APIFolder '\include\Flash280x_API_Library.h'];
startAddressLoadRAMSection='008800';
loadRAMSize = 2048;
end
if ~exist(flashApiLib,'file')
switch (tgtInfo.chipInfo.deviceID)
case {'F2812' 'F2811' 'F2810'}
web('http://focus.ti.com/docs/toolsw/folders/print/sprc125.html');
case {'F2801' 'F2802' 'F2806' 'F2808' 'F2809' 'F28015' 'F28016' 'F28044'}
web('http://focus.ti.com/docs/toolsw/folders/print/sprc193.html');
end
error(['The TI flash API library does not exist on your machine. ' ...
'Please specify the right path or download the appropriate flash APIs from TI''s website.']);
end
coffFile = fullfile(pwd,[gcs '_ccslink'],[gcs '.out']);
if ~exist(coffFile,'file')
error('Can not find the COFF file generated');
end
listHexAddLen = [];
sectorEraseMask='FFFF';
try
CCS_Obj;
catch
CCS_Obj = ccsdsp;
end
flashErase(CCS_Obj,tgtInfo.chipInfo.deviceID,sectorEraseMask,...
flashApiLib,flashApiHeadersListStruct);
flashProgram(CCS_Obj,tgtInfo.chipInfo.deviceID,flashApiLib,...
flashApiHeadersListStruct,coffFile,listHexAddLen,startAddressLoadRAMSection,loadRAMSize);
flashVerify(CCS_Obj,tgtInfo.chipInfo.deviceID,flashApiLib,...
flashApiHeadersListStruct,coffFile,listHexAddLen,startAddressLoadRAMSection,loadRAMSize);
disp('Erase/Flash/Verify succesful!');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -