Страница 3 из 4

создание библиотеки

Добавлено: 27 окт 2016, 19:56
sazonovsv
Здравствуйте!
Суть вопроса: используется микроконтроллер 1874ВЕ7Т, к нему добавлено некоторое «железо». Для этого железа написан драйвер. Среда разработки CodeMaster-96.
Сейчас этот драйвер подключается к целевой программе через директиву #include. Нужно превратить этот драйвер в файл библиотечного типа. Сам я не программист, а разработчик аппаратуры, поэтому нужна инструкция для чайников. Помогите, пожалуйста!!!

Re: создание библиотеки

Добавлено: 28 окт 2016, 10:45
dav
sazonovsv писал(а):Здравствуйте!
Суть вопроса: используется микроконтроллер 1874ВЕ7Т, к нему добавлено некоторое «железо». Для этого железа написан драйвер. Среда разработки CodeMaster-96.
Сейчас этот драйвер подключается к целевой программе через директиву #include. Нужно превратить этот драйвер в файл библиотечного типа. Сам я не программист, а разработчик аппаратуры, поэтому нужна инструкция для чайников. Помогите, пожалуйста!!!
Доброго времени суток!

Для создания библиотечного файла в среде CodeMaster-96 необходимо следующее:
1. Создать новый проект
2. В опциях проекта на странице Конфигурации указать цель проекта - Библиотека
3. В опциях проекта на странице "Конфигурация->Кросс-средства->Библиотекарь в опциях "Конвертировать модуль" выбрать "в модуль библиотечного типа" или "в модуль библиотечного типа с низким приоритетом"
4. Добавить в проект файлы библиотеки (без функции main())
5. Скомпилировать проект (Компиляция->Собрать активный проект). После этого Библиотекарь создаст файл с расширением ".mcl" в каталоге "EXE", где обычно формируется HEX-файл
6. Открываем рабочий проект и в ветку проекта "Библиотечные и объектные файлы" добавляем сгенерированный библиотечный файл ".mcl"
7. Компилируем проект

создание библиотеки

Добавлено: 28 окт 2016, 14:55
sazonovsv
Спасибо за подробную инструкцию))
Сейчас попробую...

Re: создание библиотеки

Добавлено: 31 окт 2016, 19:42
sazonovsv
dav писал(а):
sazonovsv писал(а):Здравствуйте!
Суть вопроса: используется микроконтроллер 1874ВЕ7Т, к нему добавлено некоторое «железо». Для этого железа написан драйвер. Среда разработки CodeMaster-96.
Сейчас этот драйвер подключается к целевой программе через директиву #include. Нужно превратить этот драйвер в файл библиотечного типа. Сам я не программист, а разработчик аппаратуры, поэтому нужна инструкция для чайников. Помогите, пожалуйста!!!
Доброго времени суток!

Для создания библиотечного файла в среде CodeMaster-96 необходимо следующее:
1. Создать новый проект
2. В опциях проекта на странице Конфигурации указать цель проекта - Библиотека
3. В опциях проекта на странице "Конфигурация->Кросс-средства->Библиотекарь в опциях "Конвертировать модуль" выбрать "в модуль библиотечного типа" или "в модуль библиотечного типа с низким приоритетом"
4. Добавить в проект файлы библиотеки (без функции main())
5. Скомпилировать проект (Компиляция->Собрать активный проект). После этого Библиотекарь создаст файл с расширением ".mcl" в каталоге "EXE", где обычно формируется HEX-файл
6. Открываем рабочий проект и в ветку проекта "Библиотечные и объектные файлы" добавляем сгенерированный библиотечный файл ".mcl"
7. Компилируем проект
Доброго времени суток
Что-то я делаю не так, подскажите, пожалуйста))
По инструкции, создал проект без функции main, задал опции, откомпилировал. Получил объектный файл *MCO, библиотечного файла нет, а есть сообщения об ошибках:
Error[L46]: Undefined extern name 'main' in module '??STARTUP'
Fatal[L54]: Unresolved externals encountered

Но полученный объектный файл прекрасно цепляется к проекту и работает)???))
И второй вопрос: Если в проекте не используются стандартные специализированные регистры, то можно ли НЕ подключать стандартный #include-файл?

Re: создание библиотеки

Добавлено: 01 ноя 2016, 12:05
dav
sazonovsv писал(а): Доброго времени суток
Что-то я делаю не так, подскажите, пожалуйста))
По инструкции, создал проект без функции main, задал опции, откомпилировал. Получил объектный файл *MCO, библиотечного файла нет, а есть сообщения об ошибках:
Error[L46]: Undefined extern name 'main' in module '??STARTUP'
Fatal[L54]: Unresolved externals encountered

Но полученный объектный файл прекрасно цепляется к проекту и работает)???))
И второй вопрос: Если в проекте не используются стандартные специализированные регистры, то можно ли НЕ подключать стандартный #include-файл?
1. Данные ошибки возникают в случае, если в опциях проекта, в разделе Конфигурация, в качестве цели проекта указан "Прожигаемый файл" и в проекте отсутствует функция main(). При создании библиотеки в качестве цели проекта необходимо выбирать пункт "Библиотека"

Во вложении инструкция по разработке библиотечных модулей в среде CodeMaster-96.

2. В стандартном #include-файле объявлены регистры микроконтроллера. Поэтому, можно не подключать стандартный #include-файл в опциях компилятора, только, если в проекте не используется обращение к регистрам микроконтроллера, либо в проекте подключается "свой" #include-файл с описанием регистров микроконтроллера.

Re: Программная среда Code Master 96

Добавлено: 19 янв 2017, 17:57
sazonovsv
Доброго времени суток, уважаемые коллеги!
Для МК1874ВЕ7Т есть возможность подключить эмулятор JEM-96 используя встроенный SPI или UART-0/1. В этом случае к пользовательской программе добавляется специальное резидентное ПО для работы эмулятора. Вопрос: какой дополнительный объем памяти требуется для этого специального резидентного ПО ?

Re: Программная среда Code Master 96

Добавлено: 21 янв 2017, 10:26
dav
Доброго времени суток!
Резидентное ПО для работы эмулятора JEM-96 при отладке МК 1874ВЕ7Т занимает объем в 1664 байта.

Re: Программная среда Code Master 96

Добавлено: 23 янв 2017, 18:14
sazonovsv
dav писал(а):Доброго времени суток!
Резидентное ПО для работы эмулятора JEM-96 при отладке МК 1874ВЕ7Т занимает объем в 1664 байта.
Доброго Времени Суток!
Спасибо за ответ. Позвольте доп. вопросы:
1) Размер резидентного ПО для работы эмулятора JEM-96 не зависит от использования SPI или UART ?
2) интерфейсы SPI или UART равноценны с точки эмулятора JEM-96 или между ними есть разница ? Что бы Вы посоветовали ?

Re: Программная среда Code Master 96

Добавлено: 24 янв 2017, 17:55
dav
sazonovsv писал(а): Доброго Времени Суток!
Спасибо за ответ. Позвольте доп. вопросы:
1) Размер резидентного ПО для работы эмулятора JEM-96 не зависит от использования SPI или UART ?
2) интерфейсы SPI или UART равноценны с точки эмулятора JEM-96 или между ними есть разница ? Что бы Вы посоветовали ?
1) Размер резидентного ПО не зависит от использования SPI или UART и всегда составляет 1664 байта.
2) Интерфейсы SPI и UART равноценны с точки зрения эмулятора JEM-96. Все зависит от проекта. При использовании UART1 - задействуются только 2 вывода (Rx, Tx) и порт P1 полностью можно использовать в проекте, как и UART0.

Re: Программная среда Code Master 96

Добавлено: 24 янв 2017, 18:50
sazonovsv
dav писал(а):
sazonovsv писал(а): Доброго Времени Суток!
Спасибо за ответ. Позвольте доп. вопросы:
1) Размер резидентного ПО для работы эмулятора JEM-96 не зависит от использования SPI или UART ?
2) интерфейсы SPI или UART равноценны с точки эмулятора JEM-96 или между ними есть разница ? Что бы Вы посоветовали ?
1) Размер резидентного ПО не зависит от использования SPI или UART и всегда составляет 1664 байта.
2) Интерфейсы SPI и UART равноценны с точки зрения эмулятора JEM-96. Все зависит от проекта. При использовании UART1 - задействуются только 2 вывода (Rx, Tx) и порт P1 полностью можно использовать в проекте, как и UART0.
Доброго Времени Суток!
Спасибо за исчерпывающий ответ.