vdim4ik

Keil Compiler Version Pk51

12 сообщений в этой теме

vdim4ik    0

Добрый день уважаемые программисты!

Начинаю осваивать новый контроллер семейства 8051.

В качестве основного IDE производителем рекомендуется KEIL compiler version PK51

Но он стоит 3.000 уе. Подскажите пожалуйста, есть ли бесплатные альтернативы этому компилятору?

Спасибо

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


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

http://bit.kuas.edu.tw/~8051/ из бесплатного, думаю для начала пойдет

Для более серьезных программ ищите "таблЭтку" ;)

но keil вроде для arm

Кейл для целого ряда ядер...

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


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

Лучше Keil-а ничего не встречал. Советую начинать с него. 

На сайте производителей можно скачать демо версию Keil. Она позволяет компилировать программы с кодом до 2-х килобайт. Для начала хватит.

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


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

Лучше Keil-а ничего не встречал. Советую начинать с него.

На сайте производителей можно скачать демо версию Keil. Она позволяет компилировать программы с кодом до 2-х килобайт. Для начала хватит.

Скачаем. А это единственное ограничение демо версии? или ещё есть демо период?

Избегайте избыточного цитирования. Особенно предыдущего сообщения! Модератор Mazzi.

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


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

мне скачали две версии, буду смотреть, разбираться, но судя по описанию одна из них для ARM, вторая версия С51 а требуется PK51 (отличия я сейчас буду уточнять). 

Изменено пользователем mazzi
избыточное цитирование

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


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

... А это единственное ограничение демо версии?...

Да.

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


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

... А это единственное ограничение демо версии?...

Да.

Еслибы было так...

Для х51 "демо" компилятора у Keil есть еще одно СУЩЕСТВЕНОЕ ограничение:

Программа при компиляции начинается со сдвигом в 2 кб. Ну и ограничение на размер кода 2кб.

Тобишь в микроконтролеры с 2кб флеша она никак не войдет. Нужны как миниум кристалы с 4Кб и выше.

вот с сайта keil.com:

C51 Evaluation Tools

■The 8051 compiler, assembler, linker, and debugger are limited to 2 Kbytes of object code. Source code may be of any size.

■Programs that generate more than 2 Kbytes of object code will not compile, assemble, or link.

■The debugger supports programs that are 2 Kbytes or smaller.

■The startup code generated includes LJMPs. Code generated cannot be used in single-chip devices that support 2 Kbytes or less of program space.

Programs start at offset 0x0800. Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2 Kbytes of on-chip ROM.

■No hardware support for multiple DPTR registers is provided.

■No support for floating-point arithmetic and no support for user libraries is provided.

■No support for in-line assembly using #pragma ASM.

■The following components which are present in the PK51 Full Version are not included in the Evaluation Version: Linker for Code Banking, Library Manager, and RTX51 Tiny Real-time Operating System.

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

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


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

Доброй ночи.

Коль уж тут о кейле говорят вопрос тут поставлю:

чем отличается код на Си для х51 один от другого что ошибка при компиляции лезет?

#include  <AT89X51.h>
unsigned char xdata mal [0x1FF0];

void main (void) 
{
SP=0x040;	
int c=0;

for(c=0;c<0x1FF1;c++)
{		mal[c]=c;	}
while (1)
{
	c=0;		
};
return;
}

Это был с ошибкой при компиляции

<-

Rebuild target 'Target 1'

compiling main.c...

main.c(8): error C141: syntax error near 'int'

main.c(8): error C202: 'c': undefined identifier

main.c(10): error C202: 'c': undefined identifier

main.c(11): error C202: 'c': undefined identifier

main.c(14): error C202: 'c': undefined identifier

Target not created

->

а это привожу без:

#include  <AT89X51.h>
unsigned char xdata mal [0x1FF0];

void main (void) 
{
int c=0;

SP=0x040;	
for(c=0;c<0x1FF1;c++)
{		mal[c]=c;	}
while (1)
{
	c=0;		
};
return;
}

<-

Rebuild target 'Target 1'

compiling main.c...

linking...

Program Size: data=9.0 xdata=8176 code=49

creating hex file from "newtest"...

"newtest" - 0 Error(s), 0 Warning(s).

->

И сюда же вопрос с областью видимости переменных:

по книге всё как стандарьный Си, сейчас вроде всё хорошо и нормально, а вчера столкнулся с тем что в main обявил переменную, а во вложенном блоке в main компилятор возмущается пытаетесь пользовать не объявленную переменную.

Глюки компилятора чтоли?

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


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

вопрос закрыт мне дурню уже обяснили чем чистый си от плюсов отличается

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Каким будет напряжения на переменном резисторе с номинальным сопротивлением 47 Ом в цепи с индуктивной нагрузкой с внутренним сопротивлением 200 Ом при 220 В переменки. Надо просчитать какая упадёт нагрузка на резистор.  
    • У любого резистора будет индуктивность. У "обычного" 10 ком CF 0.5вт - 90мГн! У 0.15 Ом 5вт SQP будет всего около 0.01 мГн.
    • В радиолампе такое не может быть . В таком случае мощность анодного источника может быть чисто условной но анодный источник куда мощнее подогрева .
      Условно ,стандартно:
      - лампа накал 6,3вольта , ток накала 0,5А
      -анодный источник 250вольт ток анода около 0,1А
      Т.е. накал никак не может быть источником энергии Не , ну высокие материи не по мне.
       Магнитное поле пересекает катушку возбуждая в ней ЭДС (ЭТО особенность магнитного поля ). Если есть нагрузка , то ЭДС представляет собой цепь энергии из соединённых электронов (это моя версия).
      Каким образом происходит подпитка электрона - я не разбирался , да и некчему это . Достаточно того , что прибор фиксирует ЭДС при перемещении магнита рядом с катушкой.
    • Не "Далее", а сперва всю цепочку явлений-преобразований от вращения магнита до электрона в состоянии "возбужден" и пока это не сделоано (в т.ч. не обсуждено с ответами на все вопросы) никаких "далее", все "далее" будут (если будут) уже потом.
    • Оба стремные, но правый получше выглядит Левый шлифовался немного.
    • - Алло баня? Девушка, веники есть7 -Ешьте. - Я вам не козёл. - И я вам не девушка. - Что за бред? Парная люксовая у вас? Можно попариться? - Парной нет, парная есть. Попарить можно, а париться сами не будете - у нас люкс. - Ничего не пойму.  Что пара нет? - Пара нет а пары есть, хоть тринтет, или секстет. Любой каприз. - Вы издеваетесь? - Я нет. Но садо –мазо также есть. - Я что, попал в бордель? - Бордель у вас в мозгах, а у нас салон интимных услуг. - Но у меня жена, я ей верен. Трахайтесь там у себя без меня. Адью. - И вы жрите свои веники. Адью. - Я же сказал, что не козёл. - И я сказала, что не девушка. - Нашла чем гордиться. - Нашёл чем питаться. - Я сейчас приеду голову оторву. - О вы так пикантны . Оторваться головой – это так эротично. - Слушай сюда! Ты меня достала!  Я сейчас приеду и включу вам мозги. Забью тебе кое-что кое-куда и навсегда верну тебе великое звание «девушка». - Это ты слушай сюда. Милый, если я тебя достану, ты  забьёшь на кое-кого, включая жену,  на кое-что, включая баню, разберёшься со своими рогами и навсегда лишишься этого великого  звания «Козёл».
    • Далее - происходит возбуждение электронов в (скажем электроплитке или лампочке накаливания ...)Возбуждение - в смысле допустимая область эволюции (была точка (невозбуждённый)- стал (шар). Т.к. область кручения Э. возрасла то он начинает сталкиваться с кристаллической решёткой материала , что приводит к нагреву  к ,свечению или расплаву ,или получению плазьмы ....
      Еслиже энергия поступает в катушку(трансформатор) то на неё распространяется закон магнитного поля прямого проводника /правило левой руки Ленц-Лоренц правило правой руки/
      Правила работают ! Сам убеждался неоднократно ...но они не указывают , что ЭТО ? Ток или ЭНЕРГИЯ . Если с этим согласны то дальше для меня - пасс . Что такое энергия в данной интерпретации - я не знаю . Конечно она измеряется соответствующими приборами , но сама суть в том , что ТОК и ЭНЕРГИЯ отличаются друг от друга хоть и работают ,казалось бы , в одинаковых цепях . К примеру магнетрон - по теории электроны летят с Катода К Аноду ,но не падают на него ,а возвращаются назад на Катод .
      Это,ж сколько надо было принять на грудь чтобы отправить отрицательный электрон вблизи Анода(притяжение) назад к Катоду имеющему тотже потенциал (отталкивание).
      Электрон имеет свойство ПЕРЕЗАРЯЖАТЬСЯ ?  ;-) На деле же(по моей версии) ,- по организованной цепочке электронов поступает энергия из источника . Именно эта энергия и является источником СВЧ колебаний в резонаторах... Спрашивается - а кому нуно эти тонкости? В принципе - никому , а вот мне разобраться - бальзам на душу! ;-)