Миландр

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

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 63 сообщения ]  На страницу « 1 2 3 4 5 »
Автор Сообщение
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-мар-05 12:48 
Не в сети

Зарегистрирован: 2019-фев-22 13:12
Сообщения: 40
Организация: "КБ НАВИС"
Вопрос решился.

Проблема оказалась в исходниках базовой библиотеки, неправильно настроенный импорт нашего проекта был.


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-мар-06 14:36 
Не в сети

Зарегистрирован: 2019-фев-22 13:12
Сообщения: 40
Организация: "КБ НАВИС"
Вопрос по особенностям работы с портами ввода/вывода.

Фрагмент кода из исходного файла примера:
    PORT_InitStructure.PORT_Pin = (PORT_Pin_25 | PORT_Pin_26 | PORT_Pin_27 | PORT_Pin_28 | PORT_Pin_29);
    PORT_InitStructure.PORT_SFUNC  = PORT_SFUNC_12;
    PORT_InitStructure.PORT_SANALOG  = PORT_SANALOG_DIGITAL;
    PORT_InitStructure.PORT_SPWR = PORT_SPWR_10;
    PORT_Init(PORTA, &PORT_InitStructure);
	
    PORT_InitStructure.PORT_Pin   = (PORT_Pin_22);
    PORT_InitStructure.PORT_SFUNC  = PORT_SFUNC_12;
    PORT_InitStructure.PORT_SANALOG  = PORT_SANALOG_DIGITAL;
    PORT_InitStructure.PORT_SPWR = PORT_SPWR_10;
    PORT_Init(PORTA, &PORT_InitStructure);
этот код работает обмен идёт.
Модификация его до вида:
    PORT_InitStructure.PORT_Pin = (PORT_Pin_22|PORT_Pin_25 | PORT_Pin_26 | PORT_Pin_27 | PORT_Pin_28 | PORT_Pin_29);
    PORT_InitStructure.PORT_SFUNC  = PORT_SFUNC_12;
    PORT_InitStructure.PORT_SANALOG  = PORT_SANALOG_DIGITAL;
    PORT_InitStructure.PORT_SPWR = PORT_SPWR_10;
    PORT_Init(PORTA, &PORT_InitStructure);
Приводит к тому что обмен идет с ошибкой.

Хотя по коду "PORT_Init" должен работать сразу со всеми линиями.
Есть какие то особенности?


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-мар-07 09:16 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
Проверил, с текущей версией пака оба варианта настраивают регистры порта одинаково.
Проблема не должна быть в PORT_Init().


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-мар-07 16:11 
Не в сети

Зарегистрирован: 2019-фев-22 13:12
Сообщения: 40
Организация: "КБ НАВИС"
Vasiliy писал(а):
Проверил, с текущей версией пака оба варианта настраивают регистры порта одинаково.
Проблема не должна быть в PORT_Init().
Но что есть, то есть.
И ведь в примере было не просто так разделено. При том что никакого обоснования для такого разделения нет:
Порт тот же, номер функции одинаковый, а конкретно эта линия вынесена.


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-мар-07 17:16 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
EvgeniyNvs писал(а):
Но что есть, то есть.
И ведь в примере было не просто так разделено. При том что никакого обоснования для такого разделения нет:
Порт тот же, номер функции одинаковый, а конкретно эта линия вынесена.
Проверьте, одинаково ли настраивают регистры GPIO оба варианта кода. (Можно открыть адреса порта в окне Memory.) Если значения в регистрах получаются разные - обновите библиотеку - https://ic.milandr.ru/soft/

Если регистры настраиваются одинаково, то это не может быть источником проблемы. Программист же мог ошибиться.


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2019-апр-02 11:19 
Не в сети

Зарегистрирован: 2019-фев-22 13:12
Сообщения: 40
Организация: "КБ НАВИС"
Vasiliy писал(а):
EvgeniyNvs писал(а):
Но что есть, то есть.
И ведь в примере было не просто так разделено. При том что никакого обоснования для такого разделения нет:
Порт тот же, номер функции одинаковый, а конкретно эта линия вынесена.
Проверьте, одинаково ли настраивают регистры GPIO оба варианта кода. (Можно открыть адреса порта в окне Memory.) Если значения в регистрах получаются разные - обновите библиотеку - https://ic.milandr.ru/soft/

Если регистры настраиваются одинаково, то это не может быть источником проблемы. Программист же мог ошибиться.

Перетресли и причесали код и ошибка инициализации отдельной линии порта была устранена.


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-фев-26 17:55 
Не в сети

Зарегистрирован: 2020-фев-13 12:36
Сообщения: 10
Организация: ВРЕМЯ-Ч
Не понятно как работать с принятыми данными (передаваемыми). В спецификации написано, размер 1Кх16 на прием и 1Кх16 на передачу. Всего 1024 слова. Всего выделено 4096 байт. Из спецификации понятно, что что адреса для принятых данных и переданных данных одинаковые (стр. 512 спецификации - пример: чтение и запись из одних и тех же адресов), как же тогда организована память, что есть и память приемника и память передатчика?


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-фев-27 08:57 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1509
Откуда: Тула
VAGavrikov писал(а): *
... как же тогда организована память, что есть и память приемника и память передатчика?
Две двухпортовые ОЗУ.
Единственное ограничение из этого - со стороны ядра нельзя писать в память приёмника и читать память передатчика.

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-фев-27 11:17 
Не в сети

Зарегистрирован: 2020-фев-13 12:36
Сообщения: 10
Организация: ВРЕМЯ-Ч
prostoRoman писал(а): *
VAGavrikov писал(а): *
... как же тогда организована память, что есть и память приемника и память передатчика?
Две двухпортовые ОЗУ.
Единственное ограничение из этого - со стороны ядра нельзя писать в память приёмника и читать память передатчика.
То есть чтение из регистра и запись в регистр на самом деле осуществляется с разными областями памяти?


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-фев-27 12:40 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1509
Откуда: Тула
Да, в полном соответствии с рисунками в СП.

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-фев-27 15:45 
Не в сети

Зарегистрирован: 2020-фев-13 12:36
Сообщения: 10
Организация: ВРЕМЯ-Ч
prostoRoman писал(а): *
Да, в полном соответствии с рисунками в СП.
Благодарю!


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-мар-02 12:36 
Не в сети

Зарегистрирован: 2020-фев-13 12:36
Сообщения: 10
Организация: ВРЕМЯ-Ч
Выписка из спецификации (стр. 511)
Пример инициализации ОУ
*((volatile unsigned int *)(0x400A6000))=0x00000001; //установка бита MR=1
*((volatile unsigned int *)(0x400A6000))=0x00014078;
//RTMODE=1, TRB=TRA=1, RTA=1, DIV=40
Пример инициализации КШ
*((volatile unsigned int *)(0x400A6000))=0x00000001; //установка бита MR=1
*((volatile unsigned int *)(0x400A6000))=0x00014014;
//BCMODE=1, TRA=1, TRB=0, RTA=0, DIV=40

Это ОШИБКА? или что? Адрес 0x400A6000 соответствует данным, и еще:
Пример записи ответного слова ОУ
*((volatile unsigned int *)(0x40051018))=0x00000800;

0x40051018 - вообще такого адреса нет. Или я что то не понимаю?


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-мар-03 09:19 
Не в сети

Зарегистрирован: 2017-май-31 15:10
Сообщения: 62
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
VAGavrikov писал(а): *
Выписка из спецификации (стр. 511)
Пример инициализации ОУ
*((volatile unsigned int *)(0x400A6000))=0x00000001; //установка бита MR=1
*((volatile unsigned int *)(0x400A6000))=0x00014078;
//RTMODE=1, TRB=TRA=1, RTA=1, DIV=40
Пример инициализации КШ
*((volatile unsigned int *)(0x400A6000))=0x00000001; //установка бита MR=1
*((volatile unsigned int *)(0x400A6000))=0x00014014;
//BCMODE=1, TRA=1, TRB=0, RTA=0, DIV=40

Это ОШИБКА? или что? Адрес 0x400A6000 соответствует данным, и еще:
Пример записи ответного слова ОУ
*((volatile unsigned int *)(0x40051018))=0x00000800;

0x40051018 - вообще такого адреса нет. Или я что то не понимаю?
Вы правы - это ошибка. Спасибо. Мы исправим эти примеры в документации.

В случае примеров инициализации КШ/ОУ должен быть указан адрес регистра control одного из блоков: 0x400A7000 / 0x400A9000
В примере записи ответного слова ОУ должен быть адрес регистра statusword1 одного из блоков: 0x400A7018 / 0x400A9018

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-мар-04 14:26 
Не в сети

Зарегистрирован: 2020-фев-13 12:36
Сообщения: 10
Организация: ВРЕМЯ-Ч
Опять нужна помощь:(. Пытаюсь читать регистр MODE_DATA в МКО, но чтение любым способом не дает никакого результата (см картинку) (точка останова ниже операции присваивания). Чтение регистра StatusWord1 читается. (Урровень оптимизации 1. При Оптимизации 0 - ругается на размер).


При выполнении пошагового действия (точка останова выше операции присваивания) регистр читается нормально. Как быть?

PS. Без отладчика тоже не работает


Вложения:
[ attachment ]
Безымянный.png [ 202 КБ | 607 просмотров ]
Вернуться к началу
 Заголовок сообщения: Re: Проблема с модулем МКИО
СообщениеДобавлено: 2020-мар-05 09:01 
Не в сети

Зарегистрирован: 2018-мар-18 15:49
Сообщения: 109
Организация: StartMilandr.ru
VAGavrikov писал(а): *
При выполнении пошагового действия (точка останова выше операции присваивания) регистр читается нормально. Как быть?
Можно отлаживаться по окну ассемблера, там все должно быть на месте.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 63 сообщения ]  На страницу « 1 2 3 4 5 »

Часовой пояс: UTC+03:00


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

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


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB