آشنایی با نحوه ایجاد یک پروژه جدید در نرم افزار CCS نسخه 5.3 :
1) مقدمه
شرکت TI برای برنامه نویسی پردازنده های خود ، نرم افزار CODE COMPOSER STUDIO را ارائه نموده است. این نرم افزار امکان برنامه نویسی برای تمام انواع پردازنده های ساخت این شرکت ( از جمله میکروها، DSP ها و ARMهای ) را فراهم نموده است. در واقع آشنایی با این نرم افزار دریچه ای برای کار با بسیاری از پردازنده های ساخت TIبه روی شما باز می کند. در این صفحه به منظور آشنایی با نرم افزار یک آزمایش طراحی شده که برای انجام آن فرض کنید :
- شما یک برد DSP دارید که یک پردازنده از سری TMS320CV5509A رو ی آن وجود دارد.
- همجنین یک JTAG از نوع XDS100VER2.0 به منظور اتصال کامپیوتر به برد خود تهیه نموده اید.
- از سایت شرکت TI نرم افزار CCS نسخه 5.3 را دانلود نموده اید( حجم این نرم افزار در حدود یک گیگ می باشد ) .
هدف از این آزمایش، آموزش نرم افزار Code Composer Studio و امکانات دیباگ نرم افزار میباشد. در این آزمایش با امکانات مختلف افزار آشنا می شوید و طریقه ریختن برنامه و اجرای آن روی DSP را یاد میگیرید.
برای راه اندازی برد به صورت زیر عمل کنید:
• تغذیه برد را وصل کنید.
• کابل USB را به برد و به کامپیوتر متصل کنید.
• برنامه کد کامپوزر نسخه 5 را با دو بار کلیک روی آیکون در desktop اجرا کنید.
• ابتدا پنجره ی Workspace Launcher که به صورت زیر می باشد، باز می-شود. در قسمت Workspace آدرس شاخه ای را که می خواهید پروژههای خود را در آن شاخه ایجاد نمائید وارد کنید.
|
در نرم افزار CCS ، از نسخه 4 با بالا شکل کلی نرم افزار عوض شده و به جای اینکه برای هر پروژه یک شاخه جدا تعریف شود، برای کلیه پروژهها یک شاخه به نام workspace تعریف میشود.تمام پروژههای که در این پوشه قرار دارند به شکل همزمان در نرم¬افزار CCS نشان داده میشوند. همچنین اگر یک پروژه جدیددر نرم افزار ایجاد شود، آدرس محل ایجاد آن درنرم افزار در workspace می-باشد. هر پروژه در یک شاخه جدید در درون workspace قرار می گیرد تا از دیگر پروژه ها جدا باشد. |
بعد از وارد کردن آدرس، روی گزینه ی OK کلیک کنید.
شکل1: workspace نرم افزار CCS5.3
اکنون پنجره اصلی نرم افزار باز می شود.
2) ایجاد یک پروژه جدید
برای ایجاد پروژه ی جدید، به منوی فایل رفته، و با زدن گزینه New ، روی CCS Project کلیک کنید.
شکل 2: ایجاد پروژه جدید
پنجره ی باز شده را مطابق شکل تنظیم کنید:
شکل 3: تنظیمات پروژه
در این پنجره آدرس محل ذخیره سازی پروژه ، را می توان به دلخواه انتخاب نمود ولی بهتر است تیک مربوط به Use Default Location را زده تا پروژه در درون workspace ایجاد گردد. در برد مثال این آزمایش از یک پردازنده با نام TMS320C5509A از سری 55xx شرکت تگزاس اینسترومنت ( www.ti.com ) استفاده شده است. همچنین برای اتصال کامپیوتر و نرم افزار CCS به برد ، از یک JTAG مربوط به سری XDS100ver2 استفاده شده است که باید در این صفحه به درستی وارد شود.
در این مرحله یک پروژه ی جدید ایجاد می گردد.
برای راحتی کار همیشه نام JTAGمورد استفاده خود را در این پنجره وارد کنید و گزینه CONNECTION را خالی نگذارید. JTAGیک رابط سخت افزاری است که از طریق USB برد شما را به کامپیوتر متصل می کند و امکان لود نمودن برناه از روی کامپیوتر بر روی برد را فراهم می نماید. |
3) اضافه کردن gel فایل برد:
در این مرحله باید gel فایل مناسب به برد اضافه شود. اگر از شبیه ساز CCS استفاده می کنید، نیاز به این کار نمی باشد و پیش فرض نرم افزار مناسب است. اضافه کردن gel فایل برای تنظیم سرعت باس و افزایش سرعت پردازنده صورت می گیرد. در هنگام استفاده از بردهای DSP در اکثر موارد نیاز به اضافه کردن یک gel فایل می باشد. در نرم افزار برای هر پردازنده یک gel فایل پیش فرض وجود دارد اما هنگام استفاده از بردهای آماده، بعضا نیاز است که gel فایل استاندارد با gel فایل ارائه شده توسط شرکت سازنده برد تعویض گردد. در اکثر بردهای آماده خارجی ( نظیر انواع DSK یا EVM ) باید اینکار انجام پذیرد.
در CCS نسخه 4 به بالا یک فایل با پسوند ccxml همراه هر پروژه ایجاد می شود که حاوی اطلاعات مورد نیاز نرم افزار برای ارتباط بین برد و کامپیوتر است. این فایل حاوی نام ومدل JTAG و نام پردازنده نیز میباشد. محل انتخاب gel فایل نیز در این فایل می باشد. برای این منظور در Project Explorer روی targetConfigs دوبار کلیک کنید تا گسترش یابد. روی فایل با پسوندccxml دو بار کلیک کنید تا باز شود.
شکل 4: تنظیمات JTAG
پنجره زیر باز می شود:
شکل 5: تنظیمات پردازنده
در این پنجره تنظیمات مربوط به نوعJTAG ( مثلا XDS100v2 ) و نام پردازنده که قبلا در هنگام ایجاد پروژه جدید وارد نموده اید قابل مشاهده و تغییر است. روی زبانه Advancedدر پایین پنجره کلیک کنید. روی C55xx کلیک کرده و درنهایت Browse...را بزنید.
شکل 6: انتخاب gel فایل مناسب
اگر از بردهای شرکت ارتباطات پیشرو خاورمیانه استفاده می کنید از پوشه \gel Files در CD همراه برد فایل با پسوند gel را انتخاب کنید و روی open کلیک کنید .
شکل 7: انتخاب ژل فایل مناسب
اگر به هر دلیل gel فایل ندارید نگران نشوید فعلا چون بردی نیز ندارید می توانید با همان گزینه پیش فرض وارد مرحله بعد شوید.
اکنون در فایل با پسوند ccxml، روی save کلیک کنید.
شکل 8: تنظیمات gel فایل مناسب
3) نوشتن اولین برنامه C در CCS:
اکنون در Project Explorer روی فایل main.c دو بار کلیک کنید تا باز شود.
شکل 9 : باز کردن فایل main.c برای نوشتن اولین برنامه C
فایل main.c را به صورت زیر تغیر دهید:
شکل 10: برنامه جدید برای چاپ یک متن
5) اضافه کردن فایل COMMAND یا همان فایل cmd :
توضیح مختصر در مورد نقش فایل cmd. : فایل cmd جهت مدیریت حافظه مورد استفاده قرار می گیرد. با کمک این فایل کاربر می تواند بخشهای قابل استفاده حافظه پردازنده را برای نرم افزار ccs معرفی کند. برای آشنایی با نحوه نوشتن این فایل و مفاهیم مورد استفاده در آن می توانید به کتاب "مرجع کامل پردازنده های dsp "نوشته آقای کیانوش شفاعی مراجعه فرمائید.
اگر از بردهای شرکت ارتباطات پیشرو خاورمیانه استفاده می کنید می توانید از cd همراه برد از یکی از فایلهای cmd موجود استفاده کنید و آنرا با کمک ویندوز در داخل پوشه ی پروژه کپی کنید و گرنه کافی است یک فایل با محتویات زیر ایجاد کنید و پسوند آنرا هنگام ذخیره سازی حتما cmd قرار دهید:
به جای کپی از روی CD می توانید این فایل را در درون CCS در یک فایل با پسوند cmd. *تایپ کنید.دقت شود که تمام فاصله ها و حروف کوچک و بزرگ رعایت شوند.
برای ایجاد یک فایل جدید از منوی file گزینه new سپس گزینه source انتخاب شود.در پنجرهای که باز می شود پس از وارد کردن نام فایل نوع templateرا none انتخاب کنید.سپس فایل قبل را (*.cmd)تایپ نمایید.
6) Build و Run:
برای Build شدن پروژه آیکونی با عکس سوسک در بالای نرم افزار را انتخاب کنید. مطمئن شوید که هیچ خطایی تولید نشده باشد. اگر خطایی در برنامه وجود داشت آن را بر طرف کنید. خطا ها در نرم افزار CCS در پنجره پایین، سمت راست نرم افزار نشان داده می شوند.
شکل 11: پنجره خطاها
اگر برنامه خطائی نداشت می توانید با زدن آیکون سوسک وارد محیط debug شوید. آیکون سوسک یک راه آسان برای انجام کلیه مراحل کامپایل، لینک و اجرای برنامه می باشد. در CCS نسخه 5 فضای مربوط به تایپ برنامه ( Edit ) و رفع اشکال برنامه ( debug ) از هم جدا شده است. در بالای نرم افزار گوشه سمت راست دو کلید به شکل زیر وجود دارد که با کمک انها می توان از فضای Edit به فضای Debug رفت. دقت شود که منوهای نرم افزار در هر یک از این دو محیط با هم متفاوت بوده و حتی ظاهر نرم افزار نیز عوض می شود.
شکل 12: تغییر وضعیت نرم افزار از محیط debug به Edit و برعکس
در صورتیکه با زدن آیکون سوسک همه چیز با موفقیت انجام پذیرد محیط نرم افزار از فضای Edit به Debug تغییر یافته و آیکونهای شکل بعد به صورت فعال در بالای نرم افزار ظاهر می گردند. با انتخاب علامت PLAY ( شکل بعد) برنامه اجرا می شود و نتیجه در پنجره ی Console که در پایین صفحه است، نمایش داده می شود.
شکل 13: اجرای برنامه
اگر شما برد یا JTAGندارید نرم افزار خطا تولید می کند جون نمی تواند برنامه را بر روی برد لود نماید. در این حالت نگران نباشد به فایل ccxml برگشته و در صفحه basic در محل connection به جای texas instrument xds100v2 USB Emulator گزینه simulator را انتخاب و در قسمت Board or Device گزینه را انتخاب نمائید. اکنون شما که برد ندارید به جای ریختن برنامه ها بر روی برد واقعی ، از شبیه ساز نرم افزار استفاده می کنید.
در انتها حتما گزینه save را بزنید تا تنظیمات جدید اعمال گردد.
7) بعضی از امکانات نرم افزاری برای دیباگ
7- 1) Break Point
برنامه را در فایل main.c به شكل زير عوض كنيد.
پروژه را دوباره Build كرده و اگر خطايي نداشت آنرا بر روي بردLoad كنيد.
برای Build و Load برنامه می توانید بر روی آیکون سوسک کلیک کنید. این راه حل سادهای است فقط کمی طولانی است .بهتر است به جای آن، از منویProject گزینه Build All را بزنید( CTRL+B ) و سپس وقتی برنامه Build شد در جواب سئوال نرم افزار که میپرسد آیا میخواهید فایل *.out را مجدد Load کند بخواهید که همیشه این کار را انجام دهد. برای انجام کلیه این کارها باید در محیط Debug باشید.
در درون فايل main.c بر روي خط Array[i] = i رفته و از منوی Run گزینه ،Toggle Break Point را بزنيد ( CTRL+SHIFT+B ).در صورتیکه منوی RUN در نرم افزاروجود نداشت محیط نرم افزار را از حالت Edit به Debug تغییر دهید. این کار باعث ايجاد يك Break Point در اين خط از برنامه ميگردد. Break Point يكي از امكانات، نرمافزارهاي برنامهنويسي براي رفع عيب برنامهها ميباشد. Break Point باعث توقف اجرا در خط مربوطه ميگردد. Break Pointها در نرمافزار CCSنسخه 5 با دايره آبی( ) كه در خط مربوطه ظاهر ميشوند مشخص ميگردند.
شکل 14: ایجاد Break Point در نرم¬افزار
قبل از فشردن کلید F8 حتما نرم افزار در محیط دیباگ باشد(کلید سوسک قبل فشرده شده باشد).اكنون با زدن كليد F8 برنامه را اجرا كنيد. خواهيد ديد كه اجراي برنامه در محل Break Point متوقف ميگردد.
|
اگر اينبار پنجره stdout را در پايين صفحه را ببينيد ، هيچ متني در آن ظاهر نشده است. اگرچه كه تابع printf() قبلا اجرا شده است ولي هنوز نتيجه اجرايprintf() در خروجي ظاهر نشده است. اين از محدوديتهاي نرمافزار CCS است. دليل اين مسئله اين است كه هميشه آخرين printf() در درون سخت افزار يا شبيهساز مانده و براي نمايش، به نرمافزار CCSمنتقل نميگردد. براي حل اين مشكل يا بايد برنامه را تا به آخر اجرا كنيد تا برنامه تمام شود و يا در متن درون هر printf، از \n استفاده نمود. \n در کد نویسی استاندارد به معنی خط بعد میباشد و باعث میشود متن پس از آن در خط بعد نمایش داده شود. اما در CCS علاوه بر خط بعد، باعث میشود متن قبل از \n، بلافاصله جهت نمایش به نرم افزار فرستاده شود. |
تمرین 1: یک تابع بنویسید که عدد موجود در متغییر x را با 2 جمع می نماید و نتیجه را بر گرداند.
تمرین 2: تاثیر \n در نحوه اجرای دستور printf در CCS بررسی کنید.
تمرین3: عملکرد هر یک از 5 فلشی که در شکل بعد نشان داده شده است را بررسی و بیان نمائید. این فلشها برای اجرای برنامه مورد استفاده قرار می گیرند.
تمرين 4 :یک برنامه C بنویسید که متن زیر را چاپ کند:
Salam
Inja Az DSP ast...
این برنامه در حالیکه خط به خط اجرا میشود باید بتواند متن را بلافاصله در صفحه نمایش دهد.
7-2) پنجره ی Watch
در ccs این امکان وجود دارد که بتوان مقدار متغییرها و حافظه های مختلف را مشاهده نمود. مثلا برای مشاهده آرایه Array ، به منوی View رفته و گزینه Expressions را انتخاب کنید. با اینکار پنجره Watch در نرم افزار ظاهر می شود.
مطمئن شوید که Break Point مطابق شکل در خط Array[i]=i; قرار دارد.
شکل 15:گذاشتنBreak Point در نرم افزار
شکل 16: اضافه کردن پنجره watch
روی Add new expression کلیک کنید و Array را وارد کنید.Array اسم یکی از متغییرهای برنامه C میباشد که باید دقیقا معادل همان متغییری که در C تعریف شده است تایپ گردد.
شکل 17: پنجره watch
Array را گسترش دهید تا بتوانید مطابق شکل مقادیر را مشاهده کنید.
شکل 18: پنجره watch
7-3) مشاهده ی حافظه
برای مشاهده ی حافظه ی DSP، از منوی View، گزینه ی Memory Browser را انتخاب کنید:
شکل 19: اضافه کردن پنجره مشاهده حافظه
پنجرهاي كه باز ميگردد براي مشاهده محتويات حافظه استفاده ميشود. در قسمت بالا در محل آدرس ، آدرس متغيير Array در حافظه را تايپ كرده و كليد Enter را بزنيد( تایپ کنیدArray &). اگر به پنجره Watch که در قسمت قبل باز نمودید نگاه كنيد آدرس متغيير Array در مقابل آن نوشته شده است. میتوانید به جای Array & آدرس آنرا که 0x2714 است را نیز در این محل تایپ کنید. آیا نتیجه یکسان است؟
شکل 20: مشاهده حافظهDSP
در این قسمت سعی شد به اجمال نحوه نوشتن یک کد ساده برای اجرا بر روی نرم افزار CCS شرح داده شود. اگر با زبان C یا C++ آشنا هستید می توانید هر چه قدر دوست دارید کد C بنویسید و آنرا به راحتی بر روی DSP اجرا کنید.