You are on page 1of 7

February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Лаб 1. Запознавање со CooCox развојна околина

CoIDE е бесплатна и висока интегрирана софтверска развојна околина за ARM


Cortex MCU базираните микроконтролери, која ги вклучува сите неопходни алатки за
развој на високо квалитетни софтверски решенија на темелен и ефективен начин. Оваа
развојна околина се состои од компонент базирана мрежна околина и Eclipse базирана
развојна околина. Со компонент базираната мрежна околина лесно може да се
обезбедат ресурси за да се изгради една апликација, споделат ресурси кои би му
помогнале на останатите и разменат идеи. Eclipse базираната околина обезбедува
многу можности за: едитирање на кодот, додавање на нов код, компајлирање, linking,
дебагирање, менаџирање со проектот итн.
Карактеристики:

 Бесплатна за користење за сите


 Развојна околина без ограничувања
 Компонент ориентирана развојна платформа
 Интернет базирана, ефикасна интеграција на мрежни ресурси
 Интегриран CoOS (оперативен систем во реално време)
 Периферни регистри

Во CooCox развојната околина секој код кој може повторно да се искористи


може да се нарече компонента вклучувајќи: оперативен систем, драјвери, примери,
софтвер за комуникација помеѓу софтверските и хардверските компоненти итн. За
секоја компонента се достапни: соодветниот фрагмент на код, начинот на користење,
документацијата и коментарите на кодот. Кога компонентата е селектирана, CooCox
развојната околина автоматски ги селектира компонентите кој ги користи
селектираната компонента потребни за компајлирање и извршување на програмата.
Фрагментите на кодот односно примерите за работа на некоја периферија и
слично се проширување на компонентите. Ако компонентата е објектно-ориентирана
примерите се апликациски ориентирани. Како на пример GPIO драјверот кој го нуди
CooCox е компонента, а функцијата која го користи GPIO драјверот со цел трепкање
на некоја лед диода е познат како пример на код. Примерите се обично доста кратки,
но без рестрикција. Тие можат автоматски да се додадат во кодот.
Во embedded развојот на апликации, ако не постојат соодветни библиотеки
развојот на една апликација може да стане многу комплициран процес. Еднаш кога ги
имаме соодветните библиотеки на располагање развојот станува значително полесен.
CooCox мрежата со компоненти содржи голема количина на бесплатни компоненти, па
корисникот може да избере соодветна компонента во зависност од неговите потреби
дополнително со користењето на примерите развојот на една апликација може да стане
многу побрз. Со голем број на компоненти и детална документација за нив
програмирањето може да биде “eдноставно” како поврзување на блокови.
Деталната документација (прикажана во help прозорецот) е достапна за секоја
компонента правејќи ја компонентата екстремно лесна за користење. Документацијата
вклучува: опис на компонентата, зависност на компонентата од други компоненти,
изворните датотеки на компонентата, начин на користење на компонентата, коментари
итн. CooCox развојната околина автоматски генерира документација за изворната
датотека.

1 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски


February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Креирање на нов проект

Селектираме New Project од Project опаѓачкото мени слика 1.

Слика 1. Project->New Project.

Слика 2. Име на проектот и патека.

2 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски


February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Внесуваме име на проектот и патека каде сакаме да биде сместен проектот. Во


зададената патека CooCox развојната околина автоматски генерира датотека во која го
внесува целиот проект. Слика 2.

Слика 3. Избор на чип или плоча.


Следно е избор на чип или плоча дадено на слика 3. Во нашиот случај избираме плоча
со цел да ги имаме на располагање и драјверите за некои периферии сместени на
плочата.

Слика 4. Избор на микроконтролер (плоча).


3 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски
February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Следно избираме плочка на која ќе работиме па селектираме stm32 ->


STM32F303DISCOVERY. Дадено на слика 4 и слика 5.

Слика 5. Избор на микроконтролер (плоча) (1).

Слика 6. Избор на компоненти кои ќе ги користиме во проектот.

4 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски


February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Следно е изборот на компонентите кои ќе ги користиме во нашата апликација.


Компонентите зависат од перифериите кои сакаме да ги вклучиме. Изборот се прави со
едноставно селектирање (штиклирање) на соодветната компонента. CooCox развојната
околина автоматски ги селектира компонентите од кои селектираната компонента е
зависна. M4 CMSIS CORE и cmsis_boot компонентите се потребни при развој на било
каква апликација бидејќи CMSIS (Cortex Microcontroller Software Interface Standard) e
апстракциски слој на хардверот за Cortex M серијата на процесори и нивните
специфични дебагерски интерфејси независно од производителот на процесорот.
CMSIS овозможува конзистентен и едноставен интерфејс на процесорот со
перифериите, оперативниот систем во реално време и middlеware софтверот. CMSIS
core for Cortex M4 компонентата го имплементира пристапот на јадрото кон
периферијата. CMSIS_BOOT компонентата ги имплементира датотеките за покревање
на проектот и системските дефиниции. Производството на софтвер е најскапиот процес
во embedded индустријата. Со стандардизација на софтверските интерфејси за сите
Cortex M производители на микроконтролери, особено при креирање на нови проекти
или мигрирање на веќе постоечки софтвер на нов уред дава значително намалување во
цената.
Ако сакаме да работиме со пиновите за генерална намена потребно е да ја
селектираме компонентата GPIO каде се дефинирани функции за работа со пиновите за
генерална намена. Со селектирање на оваа компонента CooCox развојната околина
автоматски ја селектира RCC (Reset and clock control) компонентата. Во оваа
компонента се дефинирани функции за поставување на тактот на микроконтролерот,
функции за вклучување и исклучување на тактот на различните периферии итн. Кај
Cortex М4 серијата на микроконтролери со цел намалување на потрошувачката на
енергија овозможено е вклучување и исклучување на тактот на различните периферии.
Во овие компоненти се дефинирани готови функции со кој поедноставно може
да се стават во работа различните периферии. Сепак ние ќе работиме со поставување
на соодветни вредности во потребните регистри со цел подобро разбирање на
соодветните периферии и нивната функција. На крајот ќе дадеме и примери со
користење на готовите функции.

Делови на CooCox развојната околина

На слика 7 се прикажани деловите на CooCox развојната околина:

 Component view ги прикажува сите компоненти кој се вклучени во тековниот


проект. Ако селектираме компонента во component view:
o Help view ќе ги прикаже карактеристиките на селектираната компонента,
како што се изворната датотека на компонентата, документација за
компонентата, зависноста од останатите компоненти, начинот на
користење и коментари.
o Code Snippet View ги прикажува сите примери кој се достапни, а ја
користат селектираната компонента
o Project View ги означува изворните датотеки на компонентата
 Project View ги прикажува сите датотеки во директориумот на проектот.
Вклучувајќи C изворни датотеки (*.c, *.h), асемблер изворни датотеки (*.s),
конфигурациони датотеи на проектот (build.xml), linker script датотеки (*.d),
библиотечни датотеки (*.a) итн.

5 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски


February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

 Repository во овој поглед можеме да ги видиме компонентите на чипот и


менаџираме со локалните или мрежните компоненти.
 Edit View прикажување и едитирање на отворениот фајл од Project View-то

Слика 7. Погледи на CooCox развојната околина.

Дебагирање

Контролата на debug извршувањето може да се прави со breakpoints. Ако сакаме


да се движиме чекор по чекор во некоја функција тоа го правиме со ставање на
breakpoint во функцијата на местото каде сакаме програмата да застане. Кога
програмата ќе наиде на breakpoint застанува на соодветната линија и тука овозможени
се различни начини на контрола на дебагирањето дадени во табела 1.

Табела 1. Опции за контрола на дебагирањето.

6 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски


February 16, 2016 ЛАБОРАТОРИСКА ВЕЖБА 1 ЗАПОЗНАВАЊЕ СО COOCOX IDE

Breakpoint може да се постави на извршувачка линија на код од програмата. Ако


breakpoint-от е овозможен при дебагирање извршувањето ќе биде прекинато пред
кодот од таа линија да биде извршен. Додавањето на точки на прекин се прави со двоен
клик на маркираната вертикална линија најдесно во Edit View-то.

7 Лаб 1. Запознавање со CooCox развојна околина | Никола Јовановски

You might also like