Проверка лицензии в исполняемом модуле

Создание исполняемых модулей для электронных ключей SenseLock

Проверка лицензии в исполняемом модуле

Сообщение tipoc » Пн, 16 мар 2009 02:09

У вас в документе "Система лицензирования и удаленного обновления" есть пример проверки статуса лицензии в исполняемом модуле разработчика. Во время этой проверки сначала проверяется номер лицензии (lic_stat.id), а затем статус полученной лицензии (lic_status.status).
Я собираюсь использовать годовую лицензию (т.е. ограниченную по времени). Обязательно ли проверять номер лицензии (у меня номер лицензии всегда будет равен 1) или достаточно проверять только статус полученной лицензии?

И еще один вопрос: функции CMD_LM_LIC_CHECKOUT и CMD_LM_LIC_CHECKIN возвращают только код ошибки (т.е. на выходе всегда будет 2 байта = tag + len)?
tipoc
 
Сообщения: 100
Зарегистрирован: Пт, 22 фев 2008 01:47

Re: Проверка лицензии в исполняемом модуле

Сообщение hijaq » Пн, 16 мар 2009 12:52

Лучше проверять и номер лицензии, и статус.

Размер возвращаемых данных функциями CMD_LM_LIC_CHECKOUT и CMD_LM_LIC_CHECKIN всегда будет 2 байта.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Re: Проверка лицензии в исполняемом модуле

Сообщение tipoc » Пн, 16 мар 2009 14:43

У меня SDDC выдает ошибку "main.c:3: syntax error: token -> 'lic_stat' ; column 36"
Вот эта строка:
DEFINE_AT(LM_STATUS_t, lic_stat, 0x0400, RAM_EXT);

Взял у вас из документации. В чем может быть дело? Никак понять не могу.
tipoc
 
Сообщения: 100
Зарегистрирован: Пт, 22 фев 2008 01:47

Re: Проверка лицензии в исполняемом модуле

Сообщение tipoc » Пн, 16 мар 2009 15:49

Понял в чем трабл. Забыл подключить файл rulm.h :) НО при его инклуде SDCC выдает:
C:/Program Files/SenseLock SDK/SDCC/include/rulm.h:127: warning 115: unknown or unsupported #pragma directive 'pack( push, 1 )'
C:/Program Files/SenseLock SDK/SDCC/include/rulm.h:249: error 20: Undefined identifier 'hash'
C:/Program Files/SenseLock SDK/SDCC/include/rulm.h:249: error 20: Undefined identifier 'size'
C:/Program Files/SenseLock SDK/SDCC/include/rulm.h:268: warning 115: unknown or unsupported #pragma directive 'pack( pop )'

249 строка в rulm.h:
u8_t res[128 - sizeof(FILE_INFO_RECORD_t) - sizeof(hash) - sizeof(size)]; // Зарезервировано для 128-байтного выравнивания

Заменил sizeof(hash) на 20, а sizeof(size) на 1. Подправьте плз свой rulm.h, чтобы под SDCC все нормально компилилось.
tipoc
 
Сообщения: 100
Зарегистрирован: Пт, 22 фев 2008 01:47

Re: Проверка лицензии в исполняемом модуле

Сообщение tipoc » Пн, 16 мар 2009 18:00

Тут еще один вопрос назрел :) Проверку времени истечения лицензии мне самому проводить или она автоматом происходит (а результат этой проверки уже записывается в статус)?
tipoc
 
Сообщения: 100
Зарегистрирован: Пт, 22 фев 2008 01:47

Re: Проверка лицензии в исполняемом модуле

Сообщение hijaq » Чт, 19 мар 2009 16:44

Проверка времени истечения срока лицензии происходит автоматически при вызове проверки лицензии и выставляется соответствующий статус.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50


Вернуться в Исполняемые модули

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

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

cron