سلام دوستان حالا که برد و آماده کردم همونطور که قول داده بودم می رم سراغ کد نویسی و برای شروع یک پروژه ساده رو در نظر گرفتم که در ادامه نحوه نوشتن و تنظیمات مربوطه به کامپایلر رو توضیح دادم امید وارم که مفید باشه اگرم سوالی داشتید حتما بپرسید اگه بتونم جواب میدم 
در این پست می خواهم اجرای یک برنامه خیلی ساده را ازروی حافظه فلشF2812 را به همراه تنظیمات کامپایلر و نحوه اضافه کردن فایلهای هدر و موارد لازم دیگر را خدمت دوستان توضیح بدم.
مواد لازم جهت کار با میکروکنترلر TMS30F2812 :یک عدد برد راه انداز F2812+CCS V3.3+امولاتور(نحوه پروگرام کردن از طریق پورت سریال را در آینده توضیح خواهم داد)
ابتدا setup ccstudio را اجرا می کنیم و نوع امولاتور و بورد مورد نظر را انتخاب می کنیم و سپس روی save&quite کلیک میکنیم ودر پاسخ سوالی که پرسیده می شود که آیا می خواهید ccstudio اجرا شود روی yes کلیک می کنیم تا نرم افزار ccs v3.3 اجرا شود.
پس از اجرای نرم افزار از منوی project روی new کلیک می کنیم و قسمتهای مربوطه را همانطور که در اینجا(http://www.eca.ir/forum2/index.php?topic=32324.0 )قبلا توضیح داده شده تنظیم می کنیم.از منوی file روی new وسپس source file کلیک کنید تا ادیتور برنامه برای نوشتن کد مورد نظر باز شود. برنامه زیر را که اعداد 0 تا 9 را روی یک سون سگمنت متصل به پورت A نمایش می دهد را در آن بنویسید و آن را با نام دلخواه و با پسوند .C در پوشه پروژه ذخیره کنید و همانطور که در پست اشارا شده بالا گفته شده فایل برنامه را به پروژه اضافه کنید.همچنین کتابخانه rts2800_ml.lib را نیز به پروژه اضافه کنید.برای اضافه کردن فایلهای هدر و cmd باید بسته sprc097 را از سایت ti دانلود و نصب کنید.پس از نصب فایلها از پوشه محل نصب دو فایل DSP281x_Headers_nonBIOS.cmd و F2812.cmd را به پروژه اضافه کنید.
حال به سراغ تنظیمات کامپایلر می رویم.از منوی project روی گزینه Buid option کلیک کنید تا پنجره تنظیمات کامپایلر باز شود. در سربرگ کامپایلر و قسمت category روی File کلیک کنید و جلوی عبارت obj Directory محلی قرارگیری فایلهای obj تولیدی پروزه را که در پوشه پروژه شما و در فولدر Debug قراردارد مشخص کنید(your drive:\tidcs\project name\Debug) سپس به قسمت Preproccessor رفته و در جلوی عبارت include search path محل قرار گیری فایلهای هدر را مشخص کنید.هر دو دسته فایل هدر مربوط به DSP281x_common و DSP281x_header را ادرس دهی کنید.
حال به سربرگ linker بروید تا تنظیمات مربوط به پیوند دهنده را نیز انجام دهیم. در قسمت category روی Basic کلیک کنید و روبروی عبارت Stack Size عدد 400 را وارد کنید.باقی قسمتها را به همان صورت رها کنید.
فایل سورسهای DSP281x_CodeStartBranch.asm,CSMPasswords.asm,Defua ltIsr.c,GlobalVariableDef,Gpio.c,
MemCopy.c,PieCtrl.c,PieVect.c,Sysctrl.c,usDelay.as m را نیز به پروژه اضافه کنید و در انتها از منوی Project رو Rebuild All کلیک کنید تا پروژه کامپایل شود.
حال برنامه آماده قرار گرفتن در حافظه فلش F2812 می باشد از منوی Debug روی connect کلیک کنید تا امولاتور به برد متصل شود. از منوی Tools روی گزینه F28xxOn-Chip Flash Programmer کلیک کنید تا پنجره تنظیمات پروگرامر باز شود.
از قسمت Clock Configoration فرکانس منبع کلاک تراشه را انتخاب کنید و ضریب PLL را روی 10 قرار دهید .از قسمت Operation فایل خروجی تولید شده توسط نرم افزار را با پسوند .out اضافه کنید.Flash Random Wait State و Flash Page Wait stat را رو 5 قرار دهید حال روی Flash Programmer کلیک کنید و فایل مربوط به الگوریتم پروگرام کردن dsp با نام FlashAPIInterface2812V2_10.out را اضافه کنید.روی Ok کلیک کنید تا پنجره بسته شود حالا همه چیز برای ریختن برنامه نوشته شده بر روی حافظه فلش قطعه آماده است روی Execute Operation کلیک کنید.
تبریک میگم شما توانستید اولین برنامه خود را روی حافظه F2812 لود کنید.
موفق باشید................

در این پست می خواهم اجرای یک برنامه خیلی ساده را ازروی حافظه فلشF2812 را به همراه تنظیمات کامپایلر و نحوه اضافه کردن فایلهای هدر و موارد لازم دیگر را خدمت دوستان توضیح بدم.
مواد لازم جهت کار با میکروکنترلر TMS30F2812 :یک عدد برد راه انداز F2812+CCS V3.3+امولاتور(نحوه پروگرام کردن از طریق پورت سریال را در آینده توضیح خواهم داد)
ابتدا setup ccstudio را اجرا می کنیم و نوع امولاتور و بورد مورد نظر را انتخاب می کنیم و سپس روی save&quite کلیک میکنیم ودر پاسخ سوالی که پرسیده می شود که آیا می خواهید ccstudio اجرا شود روی yes کلیک می کنیم تا نرم افزار ccs v3.3 اجرا شود.
پس از اجرای نرم افزار از منوی project روی new کلیک می کنیم و قسمتهای مربوطه را همانطور که در اینجا(http://www.eca.ir/forum2/index.php?topic=32324.0 )قبلا توضیح داده شده تنظیم می کنیم.از منوی file روی new وسپس source file کلیک کنید تا ادیتور برنامه برای نوشتن کد مورد نظر باز شود. برنامه زیر را که اعداد 0 تا 9 را روی یک سون سگمنت متصل به پورت A نمایش می دهد را در آن بنویسید و آن را با نام دلخواه و با پسوند .C در پوشه پروژه ذخیره کنید و همانطور که در پست اشارا شده بالا گفته شده فایل برنامه را به پروژه اضافه کنید.همچنین کتابخانه rts2800_ml.lib را نیز به پروژه اضافه کنید.برای اضافه کردن فایلهای هدر و cmd باید بسته sprc097 را از سایت ti دانلود و نصب کنید.پس از نصب فایلها از پوشه محل نصب دو فایل DSP281x_Headers_nonBIOS.cmd و F2812.cmd را به پروژه اضافه کنید.
حال به سراغ تنظیمات کامپایلر می رویم.از منوی project روی گزینه Buid option کلیک کنید تا پنجره تنظیمات کامپایلر باز شود. در سربرگ کامپایلر و قسمت category روی File کلیک کنید و جلوی عبارت obj Directory محلی قرارگیری فایلهای obj تولیدی پروزه را که در پوشه پروژه شما و در فولدر Debug قراردارد مشخص کنید(your drive:\tidcs\project name\Debug) سپس به قسمت Preproccessor رفته و در جلوی عبارت include search path محل قرار گیری فایلهای هدر را مشخص کنید.هر دو دسته فایل هدر مربوط به DSP281x_common و DSP281x_header را ادرس دهی کنید.
حال به سربرگ linker بروید تا تنظیمات مربوط به پیوند دهنده را نیز انجام دهیم. در قسمت category روی Basic کلیک کنید و روبروی عبارت Stack Size عدد 400 را وارد کنید.باقی قسمتها را به همان صورت رها کنید.
فایل سورسهای DSP281x_CodeStartBranch.asm,CSMPasswords.asm,Defua ltIsr.c,GlobalVariableDef,Gpio.c,
MemCopy.c,PieCtrl.c,PieVect.c,Sysctrl.c,usDelay.as m را نیز به پروژه اضافه کنید و در انتها از منوی Project رو Rebuild All کلیک کنید تا پروژه کامپایل شود.
حال برنامه آماده قرار گرفتن در حافظه فلش F2812 می باشد از منوی Debug روی connect کلیک کنید تا امولاتور به برد متصل شود. از منوی Tools روی گزینه F28xxOn-Chip Flash Programmer کلیک کنید تا پنجره تنظیمات پروگرامر باز شود.
از قسمت Clock Configoration فرکانس منبع کلاک تراشه را انتخاب کنید و ضریب PLL را روی 10 قرار دهید .از قسمت Operation فایل خروجی تولید شده توسط نرم افزار را با پسوند .out اضافه کنید.Flash Random Wait State و Flash Page Wait stat را رو 5 قرار دهید حال روی Flash Programmer کلیک کنید و فایل مربوط به الگوریتم پروگرام کردن dsp با نام FlashAPIInterface2812V2_10.out را اضافه کنید.روی Ok کلیک کنید تا پنجره بسته شود حالا همه چیز برای ریختن برنامه نوشته شده بر روی حافظه فلش قطعه آماده است روی Execute Operation کلیک کنید.
تبریک میگم شما توانستید اولین برنامه خود را روی حافظه F2812 لود کنید.
#include "DSP281x_Device.h"
#include "DSP281x_Examples.h"
extern Uint16 RamfunctsLoadStart;
extern Uint16 RamfunctsLoadEnd;
extern Uint16 RamfunctsRunStart;
int seg_code[]={0x3F,0x30,0x5B,0x4F,0x72,0x6D,0x7C,0x7,0x7F,0x6F };
int i;
void main(void)
{
InitSysCtrl();
InitGpio();
DINT;
InitPieCtrl();
IFR=0x0000;
IER=0x0000;
InitPieVectTable();
MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEn d,&RamfuncsRunStart);
InitFlash();
while(1)
{
for(i=0;i<10;i++)
{
GpioDataRegs.GPADAT.all=~seg_code[i]<<6;
DELAY_US(1000000);
}
}
}
#include "DSP281x_Examples.h"
extern Uint16 RamfunctsLoadStart;
extern Uint16 RamfunctsLoadEnd;
extern Uint16 RamfunctsRunStart;
int seg_code[]={0x3F,0x30,0x5B,0x4F,0x72,0x6D,0x7C,0x7,0x7F,0x6F };
int i;
void main(void)
{
InitSysCtrl();
InitGpio();
DINT;
InitPieCtrl();
IFR=0x0000;
IER=0x0000;
InitPieVectTable();
MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEn d,&RamfuncsRunStart);
InitFlash();
while(1)
{
for(i=0;i<10;i++)
{
GpioDataRegs.GPADAT.all=~seg_code[i]<<6;
DELAY_US(1000000);
}
}
}
موفق باشید................

دیدگاه