|
|
  |
Silabs C8051F120 |
|
|
|
Aug 31 2015, 07:38
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
"Keil C51 слишком дорогой. Пользоваться ломаным ПО не хотелось бы." Разве в SiLabs-овских лабкитах не идёт SiLabsIDE с Keil C51 вполне себе лицензионным? Помнится в году в 2003 покупался лабкит для F310 и там были C-компилятор и ассемблер. Для образовательных целей можно смело плевать на "ломаность" ПО, я так думаю
Сообщение отредактировал Obam - Aug 31 2015, 07:40
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Aug 31 2015, 09:14
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(Obam @ Aug 31 2015, 12:38)  Разве в SiLabs-овских лабкитах не идёт SiLabsIDE с Keil C51 вполне себе лицензионным? Помнится в году в 2003 покупался лабкит для F310 и там были C-компилятор и ассемблер. Сейчас стоит Silabs IDE и вроде бы он без компилятора. Я к нему подключил компилятор Keil. Цитата(Obam @ Aug 31 2015, 12:38)  Для образовательных целей можно смело плевать на "ломаность" ПО, я так думаю  А дальше? Переучиваться на другое ПО или просить работодателя купить Keil? Я не делал проектов на заказ. Заказчики просят коды программ, проверяют на лицензионную чистоту? Еще побаиваюсь насчет возможного вреда системе от кряка.
|
|
|
|
|
Aug 31 2015, 11:03
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Компилятор у Keil считается лучшим для C51, в частности для МК C8051F Silicon Labs ? Также установил Ride 7 + Rkit51. Надо бы сравнить его с Keil. У Ride ограничение для бесплатной версии вроде 8 кБ. На форумах тишина насчет SDCC для 8051. Вот что еще нашел http://www.silabs.com/products/mcu/Pages/8....aspx#keil-pk51Keil® 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 - Aug 31 2015, 11:13
|
|
|
|
|
Sep 1 2015, 02:26
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(A. Fig Lee @ Aug 31 2015, 20:34)  В смысле "тишина"? Если склероз не изменяет мне, я им компилировал для СС2530, которые 8051 Я имел ввиду, что в google поиск по ключевым словам "SDCC 8051" не принес положительных результатов. На русскоязычных сайтах практически ничего не нашел. Нет ни отзывов, ни примеров реализации, ни рекомендаций по применению...
|
|
|
|
|
Sep 1 2015, 11:39
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Radik2 @ Aug 31 2015, 22:26)  Я имел ввиду, что в 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
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Sep 3 2015, 05:16
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(A. Fig Lee @ Sep 1 2015, 16:39)  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Продолжим работать в нем ))
|
|
|
|
|
Nov 2 2015, 18:26
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(редактор @ Jun 2 2015, 12:05)  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Чего ему не хватает?
|
|
|
|
|
Nov 3 2015, 03:41
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Вот так компилится (переменная i определена в начале функции). CODE 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) Переделал немного. Собирается.
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
|
Nov 4 2015, 05:41
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(Harbinger @ Nov 3 2015, 08:41)  (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 не должно быть ограничений по размеру кода. Буду разбираться.
|
|
|
|
|
Nov 4 2015, 07:02
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030

|
Цитата(Harbinger @ Nov 4 2015, 11:47)  И ещё. В проекте установлена модель памяти "large" (т.е. переменные в xdata), можно попытаться заменить на "compact" (переменные в pdata), а там, где критично быстродействие, указать "data" или "idata" явно. Если мы не выберем модель памяти "large", то xdata (бОльшая часть встроенного ОЗУ в МК) не будет использоваться? Или необходимо установить галочку в настройках "Use On-chip XRAM" ? Цитата(Harbinger @ Nov 4 2015, 11:47)  Там есть некая процедура для получения лицензии, нужно её выполнить. Но: лицензия только на компилятор, ассемблер и линкер; в Keil uVision не будет работать отладка. В Silabs IDE или Simplicity Studio с подключенным кейловским инструментарием - будет. Я думал, что у меня есть лицензия ..
Сообщение отредактировал Radik2 - Nov 4 2015, 07:40
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 4 2015, 07:41
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Цитата(Radik2 @ Nov 4 2015, 09:02)  Если мы не выберем модель памяти "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.
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|