⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flashprogrammer.m

📁 matlab给DSP编程的代码
💻 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 + -