Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-апр-29 06:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 2010-янв-12 17:45 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
DimonD писал(а):
компилятора CC7A
IDE 1886 7.5
EVAL12A
----------------------
#include <mil1886BE5.h>
а если написать:
#include <VE5_CC.h> то ошибок нет.
-----------------------------------------------------------------------------
И еще вопрос, что необходимо для отладки программы в режиме Debug.
В наличие:
Отладочный комплект для микроконтроллера 1886ВЕ5У
В компьютере отсутствует LPT :(
-----------------------------------------------------------------------------
P.S.
Демонстрационно-отладочная плата Eval12.
Техническое описание.

7.1.4.3. Сторожевой таймер: включен предделитель 1. В этом режиме не работает!!! Надо WDT disabled

1. Правильно. Для СС7А требуется VE5_CC.h. mil1886BE5.h для РIСС.
2. Если нет LPT, то Вы можете приобрести у нас USB программатор.
Режим Debug описан в руководстве пользователя IDE1886.
3. Да, WDT должен быть отключен. Eval12_тех_описание.doc будет исправлен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-янв-13 12:49 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Про режим Debug я что-то не понял. Тот что USB программатор, который входит “отладочный комплект для микроконтроллера 1886ВЕ5У” не годится я вас правильно понял?
И еще прошу совета, каким программным симулятором МК воспользоваться, чтобы прогнать сишный фаил. Пишу на С, компилятор СС7А.
Заранее спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-янв-13 14:56 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
DimonD писал(а):
Про режим Debug я что-то не понял. Тот что USB программатор, который входит “отладочный комплект для микроконтроллера 1886ВЕ5У” не годится я вас правильно понял?
И еще прошу совета, каким программным симулятором МК воспользоваться, чтобы прогнать сишный фаил. Пишу на С, компилятор СС7А.
Заранее спасибо.

Для режима Debug в IDE1886 может использоваться как LPT, так и USB программатор.
Того, что у Вас есть, достаточно.
Для симуляции можно использовать MPLAB фирмы Microchip.
Т. к. СС7А сильно оптимизирует код и напрямую не поддерживается симуляторами, используйте следующую последовательность действий:
1. Скомпилируйте исходник с ключами, которые генерит для СС7А IDE1886. Вы получите на выходе ассемблерный файл.
2. Отлаживайте этот файл в симуляторе MPLAB или в режиме Debug в IDE1886.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-16 16:47 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Выложите, пожалуйста, пример многозадачного приложения с применением режима LEANSLICE компилятора СС7А для отладочной платы 1886ВЕ5У(Eval12) хотя бы моргание светодиодам. Что-то у меня не получается...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-16 17:36 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
DimonD писал(а):
Выложите, пожалуйста, пример многозадачного приложения с применением режима LEANSLICE компилятора СС7А для отладочной платы 1886ВЕ5У(Eval12) хотя бы моргание светодиодам. Что-то у меня не получается...

Здесь уже было:
http://forum.milandr.ru/download.php?id=46


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-17 12:11 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Читал
Вот взял за основу пример и немного изменил
Что я не так делаю?


Вложения:
Комментарий к файлу: EVAL12A LEANSLICE компилятора СС7А
main.zip [1.33 КБ]
Скачиваний: 268
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-17 19:23 
Не в сети

Зарегистрирован: 2010-фев-17 19:07
Сообщения: 2
Откуда: АО "ПКК Миландр"
DimonD писал(а):
Читал
Вот взял за основу пример и немного изменил
Что я не так делаю?

Пример взяты Вами из перевода описания leanslice нами не проверялся.
В ситуации с OPTION разберемся в ближайшее время.
http://forum.milandr.ru/download.php?id=42 здесь лежит пример приложения "часы/будильник/таймер" отлаженный на ВЕ2. Можно пока попробовать его.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-18 14:54 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Помогите разобраться в LEANSLICE, это мой первый опыт в многозадачности и еще плохо понимаю механизм работы.

Вот простенький набросок программы:
#include <VE5_CC.h>
#pragma taskOptions 1

#define LED2 PORTD.6
#define LED3 PORTD.7
#define LED4 PORTE.0
#define LED5 PORTE.1
#define LED6 PORTE.2
#define LED7 PORTE.3

static uns32 pause1, pause2, i;
static unsigned char inter1, inter2, inter3;

Task Process1(void)
{
while(1)
{
if (inter1 == 1) {LED7=1; LED6=0; inter1=0;}
else {LED7=0; LED6=1; inter1=1;}
for(pause1=0; pause1<1000000; pause1++){}
waitState();
}
}

Task Process2(void)
{
while(1)
{
if (inter2 == 1) {LED4=1; LED5=0; inter2=0;}
else {LED4=0; LED5=1; inter2=1;}
for(pause2=0; pause2<50000; pause2++){}
waitState();
}
}

void main(void)

{
DDRE = 0; DDRD = 0;
inter1=0; inter2=0; inter3=0;
LED2=0; LED3=0; LED4=0; LED5=0; LED6=0; LED7=0;

startTask(Process1);
startTask(Process2);

while(1)
{
if (inter3 == 1) {LED2=1; LED3=0; inter3=0;}
else {LED2=0; LED3=1; inter3=1;}

for(i=0; i<50000; i++){}
taskSlicer();
}
}

Данная программа выполняет последовательно операции, и не какой многозадачности нет. Просто taskSlicer() запускает последовательно функции Process1, Process2. Как сделать, что бы была псевдо параллельность выполнение Process1, Process2 и основной программы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-19 13:00 
Не в сети

Зарегистрирован: 2010-фев-17 19:07
Сообщения: 2
Откуда: АО "ПКК Миландр"
Цитата:
Помогите разобраться в LEANSLICE, это мой первый опыт в многозадачности и еще плохо понимаю механизм работы.


Leanslice реализует разделение по коду, т.е. задачи переключаются
после выполнения некоторого небольшого фрагмента кода. При этом все переменные неактивных задач автоматически сохраняются.
При переключении программа вываливается в main, где и осуществляется управление задачами.

Подробнее об этом можно прочесть в статье "Реализация многозадачных приложений на МК серии 1886" (журнал "ЭЛЕКТРОНИКА: Наука, Технология, Бизнес" (№6, 2009). Публикации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-13 10:36 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Чем отличается новая версия компилятора от старой и где можно ее скачать(не демо)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-13 11:00 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1260
Откуда: АО "ПКК Миландр"
DimonD писал(а):
Чем отличается новая версия компилятора от старой и где можно ее скачать(не демо)


Маркетинг блин! Лишь бы что нить написать....

Пока это бета версия. Она еще тестируется. Как будет финальная версия тем у кого лицензионные копии, будет выслана новая версия привязанная к ключам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-13 11:17 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 777
DimonD писал(а):
Чем отличается новая версия компилятора от старой и где можно ее скачать(не демо)

Программное обеспечение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-13 13:15 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
-=Sergei=-

ОК! бум ждать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-14 12:05 
Не в сети

Зарегистрирован: 2010-янв-08 02:11
Сообщения: 23
Откуда: Азов
Вопрос по использованию компилятора Си CC7A.

Есть код на асме который необходимо переписать на Си:

Код:
Cap3:
                PUSH        ; макрос сохранения контек
   movlr   BANK3
   movfp   ADR_JUMP+BAIT0,PCLATH
   movfp   ADR_JUMP+BAIT1,PCL
         
   
       CAP3_REGIM_00:
         
   ...

   movc16   CAP3_REGIM_01,ADR_JUMP
   POP
   retfie
   
   
       CAP3_REGIM_01:

   ...
         
   movc16   CAP3_REGIM_02,ADR_JUMP
   POP
   retfie
         
   
       СAP3_REGIM_02:

   ...
         
   movc16   CAP3_REGIM_03,ADR_JUMP
   POP
   retfie


... и далее таких блоков идет много :D

Код:
CAP3_REGIM_65:

   ...
         
   movc16   CAP3_REGIM_03,ADR_JUMP
   POP
   retfie



Оператор SWITCH не подходит слишком громоздко, если можно использовать SKIP(X), то как вычислять смещение?
Попытался написать с использованием втроенного ассемблера, но он видит метки которые были обьявлены ранее. Плохо что указателей на функции в компиляторе нет.
КАК НА СИ НАПИСАТЬ ПОДОБНЫЙ КОД?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-май-05 08:10 
Не в сети

Зарегистрирован: 2010-янв-08 02:11
Сообщения: 23
Откуда: Азов
Как работает SKIP разобрался. Пример переписанного кода:

Код:
skip(AddressSkip);
   LineGoto;
   #pragma computedGoto 0

           CAP3_REGIM_00:
                    ...
   AddressSkip++;
   return;

           CAP3_REGIM_01:
                    ...
   AddressSkip++;
                    return;

           CAP3_REGIM_65:
                     ...
                    AddressSkip = 0;
                    return;


LineGoto мокрос:

Код:
#define LineGoto \
   goto CAP3_REGIM_00;\
                    goto CAP3_REGIM_01;\
                    goto CAP3_REGIM_02;\
                    ...   
   goto CAP3_REGIM_65;\


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB