Перейти к содержанию
    

Что можете сказать касательно следующих продуктов:

 

http://www.wickenhaeuser.de/uc51data/uc51_fly.pdf

 

http://www.crossware.com/i8051/Compiler

 

Keil C51 слишком дорогой. Пользоваться ломаным ПО не хотелось бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Keil C51 слишком дорогой. Пользоваться ломаным ПО не хотелось бы."

 

Разве в SiLabs-овских лабкитах не идёт SiLabsIDE с Keil C51 вполне себе лицензионным?

Помнится в году в 2003 покупался лабкит для F310 и там были C-компилятор и ассемблер.

 

Для образовательных целей можно смело плевать на "ломаность" ПО, я так думаю :)

Изменено пользователем Obam

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разве в SiLabs-овских лабкитах не идёт SiLabsIDE с Keil C51 вполне себе лицензионным?

Помнится в году в 2003 покупался лабкит для F310 и там были C-компилятор и ассемблер.

 

Сейчас стоит Silabs IDE и вроде бы он без компилятора. Я к нему подключил компилятор Keil.

 

Для образовательных целей можно смело плевать на "ломаность" ПО, я так думаю :)

 

А дальше? Переучиваться на другое ПО или просить работодателя купить Keil?

Я не делал проектов на заказ. Заказчики просят коды программ, проверяют на лицензионную чистоту?

Еще побаиваюсь насчет возможного вреда системе от кряка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Silabs IDE качалась с сайта, то - да, там нет. А на CD в комплекте лабкита был.

 

Работодатель (настоящий) должен обеспечить :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор у Keil считается лучшим для C51, в частности для МК C8051F Silicon Labs ?

Также установил Ride 7 + Rkit51. Надо бы сравнить его с Keil. У Ride ограничение для бесплатной версии вроде 8 кБ.

На форумах тишина насчет SDCC для 8051.

 

Вот что еще нашел

http://www.silabs.com/products/mcu/Pages/8....aspx#keil-pk51

 

Keil® PK51 Developer’s Kit

 

The Keil PK51 Developer’s Kit includes an industry-leading 8051 C compiler, linker and assembler for use wih Silicon Labs’ 8-bit microcontrollers and Studio. This toolchain package provides the build support for 8051 projects, while the IDE provides editing and debugging support. This free toolchain comes without a time or code size limit!

 

Получается бесплатная версия для МК 8051 от Silabs ?

Изменено пользователем Radik2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На форумах тишина насчет SDCC для 8051.

 

В смысле "тишина"? Если склероз не изменяет мне, я им компилировал для СС2530, которые 8051

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В смысле "тишина"? Если склероз не изменяет мне, я им компилировал для СС2530, которые 8051

 

Я имел ввиду, что в google поиск по ключевым словам "SDCC 8051" не принес положительных результатов. На русскоязычных сайтах практически ничего не нашел. Нет ни отзывов, ни примеров реализации, ни рекомендаций по применению...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имел ввиду, что в google поиск по ключевым словам "SDCC 8051" не принес положительных результатов. На русскоязычных сайтах практически ничего не нашел. Нет ни отзывов, ни примеров реализации, ни рекомендаций по применению...

 

https://www.google.com/search?client=safari...-8&oe=UTF-8

 

Не знаю насчет русскоязычных, все довольно обыденно.

вот пример батника на Виндоус для компиляции программы на CC2530.

 

sdcc --model-large -c radio.c
sdcc --model-large -c ..\lib\cmdargs.c
sdcc --model-large cc2530.c radio.rel cmdargs.rel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://www.google.com/search?client=safari...-8&oe=UTF-8

 

Не знаю насчет русскоязычных, все довольно обыденно.

вот пример батника на Виндоус для компиляции программы на CC2530.

 

sdcc --model-large -c radio.c
sdcc --model-large -c ..\lib\cmdargs.c
sdcc --model-large cc2530.c radio.rel cmdargs.rel

Для меня с первого взгляда ничего не понятно: необходимо читать MANSDCC.PDF.

Для себя узнал, что мой любимый Keil не имеет ограничения по размеру кода. Точнее, я так перевел сообщение с сайта Silabs: https://www.silabs.com/products/mcu/Pages/8...r-software.aspx

Продолжим работать в нем ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PS: Будут вопросы - можно в личку.

 

Прошу подсказки.

После того как поработал немного с ЖК-дисплеем на контроллере HD44780 решил попробовать цветной дисплей на контроллере ST7735.

После долгих поисков в просторах интернета готовой библиотеки для С51 наткнулся на файлы из вложения. Как я понял - это для АВРок.

Первый архив - скачанные файлы без изменений. Второй архив - мой проект в Keil.

Подкорректировал под C8051Fxxx

Но при компиляции возникли неожиданные ошибки.

Некоторые я поборол. Как мне кажется. Возможно, что они позже всплывут.

Сейчас имеем следующее.

 

в блоке void TFTInit() в самом конце есть следующий код

unsigned char i;

for(i = 0; i < 32; i++)

write_byte(2*i,1); //Red

for(i=0;i<64;i++)

write_byte(1*i,1); //Green

for(i=0;i<32;i++)

write_byte(2*i,1); //Blue

 

write_byte(0x2c,0);

delay_us(150);

 

Keil при компиляции выдает следующие ошибки

 

compiling main.c...

TFTM1802.h(131): error C141: syntax error near 'unsigned'

TFTM1802.h(131): error C202: 'i': undefined identifier

TFTM1802.h(132): error C202: 'i': undefined identifier

TFTM1802.h(133): error C202: 'i': undefined identifier

TFTM1802.h(134): error C202: 'i': undefined identifier

TFTM1802.h(135): error C202: 'i': undefined identifier

TFTM1802.h(136): error C202: 'i': undefined identifier

TFTM1802.h(137): error C202: 'i': undefined identifier

main.c - 8 Error(s), 0 Warning(s).

 

Указанный тип переменной поддерживается. http://www.keil.com/support/docs/1677.htm

Чего ему не хватает?

ST7735_128_160.zip

ST7735_128_160_Keil.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот так компилится (переменная i определена в начале функции).

void TFTInit()
{
 unsigned char i;
Reset();

 //char i=0;
 write_byte(0xB9,0);//SETEXTC
 write_byte(0xFF,1);
 write_byte(0x83,1);
 write_byte(0x53,1);

 write_byte(0xB0,0);//RADJ
 write_byte(0x3C,1);
 write_byte(0x01,1);

 write_byte(0xB6,0);//VCOM
 write_byte(0x94,1);
 write_byte(0x6C,1);
 write_byte(0x50,1);

 write_byte(0xB1,0);//PWR
 write_byte(0x00,1);
 write_byte(0x01,1);
 write_byte(0x1B,1);
 write_byte(0x03,1);
 write_byte(0x01,1);
 write_byte(0x08,1);
 write_byte(0x77,1);
 write_byte(0x89,1);

 write_byte(0xE0,0); //Gamma setting for tpo Panel
 write_byte(0x50,1);
 write_byte(0x77,1);
 write_byte(0x40,1);
 write_byte(0x08,1);
 write_byte(0xBF,1);
 write_byte(0x00,1);
 write_byte(0x03,1);
 write_byte(0x0F,1);
 write_byte(0x00,1);
 write_byte(0x01,1);
 write_byte(0x73,1);
 write_byte(0x00,1);
 write_byte(0x72,1);
 write_byte(0x03,1);
 write_byte(0xB0,1);
 write_byte(0x0F,1);
 write_byte(0x08,1);
 write_byte(0x00,1);
 write_byte(0x0F,1);

 write_byte(0x3A,0);
 write_byte(0x05,1);  //05

 write_byte(0x36,0);
 write_byte(0xC0,1); //83  //0B

 write_byte(0x11,0); // SLPOUT
 delay_us(150);

 write_byte(0x29,0);    // display on
 delay_us(150);

 write_byte(0x2D,0);  //Look up table


 for(i = 0; i < 32; i++) 
   write_byte(2*i,1); //Red
 for(i=0;i<64;i++)
   write_byte(1*i,1); //Green
 for(i=0;i<32;i++)
   write_byte(2*i,1); //Blue

 write_byte(0x2c,0);
 delay_us(150);	
}

 

Но надо копать дальше - ругается линкер:

*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  _DELAY_SEC
    MODULE:  delay.obj (DELAY)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  _DELAY_MS
    MODULE:  delay.obj (DELAY)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  _DELAY_US
    MODULE:  delay.obj (DELAY)

Исполняемый код в TFTM1802.h и "#include "delay.c"" в этом файле смотрятся по меньшей мере странно.

 

(upd) Переделал немного. Собирается.

ST7735_128_160_new.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(upd) Переделал немного. Собирается.

 

Большое спасибо за помощь!

Но появилась следующая проблема:

 

*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED

MODULE: C:\KEIL\C51\LIB\C51L.LIB (-----)

LIMIT: 0800H BYTES

Target not created

 

Но как я понял, для чипов Silabs не должно быть ограничений по размеру кода.

Буду разбираться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там есть некая процедура для получения лицензии, нужно её выполнить. Но: лицензия только на компилятор, ассемблер и линкер; в Keil uVision не будет работать отладка. В Silabs IDE или Simplicity Studio с подключенным кейловским инструментарием - будет.

И ещё. В проекте установлена модель памяти "large" (т.е. переменные в xdata), можно попытаться заменить на "compact" (переменные в pdata), а там, где критично быстродействие, указать "data" или "idata" явно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И ещё. В проекте установлена модель памяти "large" (т.е. переменные в xdata), можно попытаться заменить на "compact" (переменные в pdata), а там, где критично быстродействие, указать "data" или "idata" явно.

 

Если мы не выберем модель памяти "large", то xdata (бОльшая часть встроенного ОЗУ в МК) не будет использоваться?

Или необходимо установить галочку в настройках "Use On-chip XRAM" ?

 

Там есть некая процедура для получения лицензии, нужно её выполнить. Но: лицензия только на компилятор, ассемблер и линкер; в Keil uVision не будет работать отладка. В Silabs IDE или Simplicity Studio с подключенным кейловским инструментарием - будет.

 

Я думал, что у меня есть лицензия ..

 

post-26030-1446620527_thumb.jpg

Изменено пользователем Radik2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если мы не выберем модель памяти "large", то xdata (бОльшая часть встроенного ОЗУ в МК) не будет использоваться?

Или необходимо установить галочку в настройках "Use On-chip XRAM" ?

Галочку - да, нужно поставить. А основная память ещё под стек нужна.

 

Насчёт лицензии.

Find the Product Serial Number printed on the CD-ROM or the ToolStick kit box or register on the Silicon

Labs website (www.silabs.com/8bit-software) to obtain the Product Key.

Т.е. после регистрации ключ пришлют. Каких-либо Toolstick и пр. железяк с серийниками не требуется (у меня их никогда и не было).

Вот ссылка для регистрации: http://pages.silabs.com/lp-keil-pk51.html

Возможно, придётся скачать оттуда 8-bit microcontroller studio - не исключаю, что там дистрибутив Кейла видоизменён специально под Silabs.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...