vdim4ik

Keil Compiler Version Pk51

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

vdim4ik    0

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

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

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

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

Спасибо

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
o_l_e_g    1 622

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

Да.

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


Ссылка на сообщение
Поделиться на других сайтах
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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас