compilador C para at89s52?

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

compilador C para at89s52?

Mensagempor alex1000 » 07 Dez 2009 16:34

Pessoal consegui algumas unidades do AT89s52 e gostaria de saqber qual é o compilador em C que devo usar para configura-lo. Obrigado.
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor tcpipchip » 07 Dez 2009 19:15

SDCC
KEIL C
FRANKLIN C
CROSSWARE C
MIKROC
IAR

E tem alguns orientados a objetos...
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor Francesco » 07 Dez 2009 21:59

Alex,

Eu trabalhei com alguns deles, e o melhor que achei foi o SDCC (sdcc.sourceforge.net). Ele é software-livre, o que significa que é gratúito. O único problema é a falta de um IDE, mas se quiser eu te ajudo a utilizar o Eclipse com SDCC.

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor rebelk » 08 Dez 2009 11:11

o SDCC é melhor que o keil ? vc poderia me explicar melhor em que !
pois eu estou sofrendo com o keil e seus bugs loucos que me deixa louco! pela IDE não tem problema eu ultilizo o crinson ou o context
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor Francesco » 08 Dez 2009 12:00

Trabalhei com o Keil também, com IAR inclusive. Mas acabei migrando para SDCC.

Tive problemas com o Keil também, acabei resolvendo escrevendo algumas rotinas em ASM direto. Mas no SDCC nunca tive problemas maiores. O que mais gostei foi da possibilidade de você colocar o seu método de otimização de código através de um arquivo de diretivas assembly.

Só há uma coisa que falta no SDCC, que o IAR já tem. O sistema de alocação de funções em endereços específicos. Ambos fazem isso para variáveis e rotinas de interrupção, mas só o IAR faz para funções. Não sei quanto ao keil. Isso é uma promessa para as novas versões do SDCC.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor andre_luis » 08 Dez 2009 12:25

Trabalhei um bom tempo com o Keil 7.50 e nunca tive problemas;

Pelo contrário, por ele eu resolvi problemas que encontrara com o AVOCET.

Poderiam dizer exatamente onde tiveram problema ? ( fiquei curioso )

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor tcpipchip » 08 Dez 2009 16:51

É verdade, tem o AVOCET tambem :)
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor alex1000 » 08 Dez 2009 23:13

Obrigado pelas respostas.
Ainda na luta
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor rebelk » 09 Dez 2009 12:21

qual a ultima versão do SDCC ?
onde posso baixar ?
ele tem a biblioteca do AT89C51RC.h , pois ele esta no me projeto!


quero fazer uns testes com o SDCC e comparar , chega de keil!
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor B-EAGLE » 09 Dez 2009 16:24

por falar em SDCC, dá pra usar algum hardware debugger tipo o USB DEBUG ADAPTER da Silicon Labs?
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Francesco » 09 Dez 2009 22:12

Sobre o SDCC, a versão que eu uso é o 2.9.2, de agosto de 2009. A versão mais nova é a 2.9.4 e você encontra no http://sdcc.sourceforge.net/.

Da família AT89 ele tem os seguintes cabeçalhos:
AT89C51ED2.h
AT89C51SND1C.h
AT89C55.h
AT89S53.h
AT89S8252.h
AT89S8253.h
AT89x051.h
AT89x51.h
AT89x52.h

No entanto, há uma biblioteca chamada SST89x5xRDx.h, que pode servir para você.

Caso tenha algum problema em usar estas, conte conosco para alterar alguma delas para o seu componente.

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor ze » 10 Dez 2009 06:54

já usei o hitech-c. tem ide (creio ser eclipse), mas preferi pelo prompt do dos (enquanto ele existe). O hitech otimiza muito o cód viu.

Caro amigo francesco sugiro que na primeira oportunidade que tiveres faça a gentileza de elaborar um tutorial de como configurar o sdcc no eclipse bem como instalar ambos e etc. Também caso saiba o que é prompt DOS, qual a sintaxe pra compilar e gerar o hex (lógico!) [pro 89s52 p.ex.] a partir do sdcc.
Agradeço em nome de todos os eternos aprendizes.
Obs: sugestão aberta a todos os membros de boa vontade.
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor rebelk » 10 Dez 2009 11:21

Francesco no keil é assim AT89C51RC.h
como faço para alterar para o SDCC ?

/*-------------------------------------------------------------------------
AT89C51RC.H

Header file for Atmel at89c51rc controller
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

#ifndef __AT89C51RC_H__
#define __AT89C51RC_H__

// 8051 core
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr DP0L = 0x82;
sfr DP0H = 0x83;
sfr DP1L = 0x84;
sfr DP1H = 0x85;
sfr PSW = 0xD0;
sfr SP = 0x81;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr PCON = 0x87;
sfr AUXR = 0x8E;
sfr AUXR1 = 0xA2;
sfr WDTRST = 0xA6;

// Ports
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;

// Timer2
sfr T2CON = 0xC8;
sfr T2MOD = 0xC9;
sfr RCAP2H = 0xCB;
sfr RCAP2L = 0xCA;
sfr TH2 = 0xCD;
sfr TL2 = 0xCC;

// BIT Registers
// Port0
sbit P0_7 = P0^7;
sbit P0_6 = P0^6;
sbit P0_5 = P0^5;
sbit P0_4 = P0^4;
sbit P0_3 = P0^3;
sbit P0_2 = P0^2;
sbit P0_1 = P0^1;
sbit P0_0 = P0^0;

// Port1
sbit P1_7 = P1^7;
sbit P1_6 = P1^6;
sbit P1_5 = P1^5;
sbit P1_4 = P1^4;
sbit P1_3 = P1^3;
sbit P1_2 = P1^2;
sbit T2_EX = P1^1;
sbit T2 = P1^0;

// Port2
sbit P2_7 = P2^7;
sbit P2_6 = P2^6;
sbit P2_5 = P2^5;
sbit P2_4 = P2^4;
sbit P2_3 = P2^3;
sbit P2_2 = P2^2;
sbit P2_1 = P2^1;
sbit P2_0 = P2^0;

// Port3
sbit WR = P3^7;
sbit RD = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;

// PSW
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit F1 = PSW^1;
sbit P = PSW^0;

// SCON
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;

// IE
sbit EA = IE^7;
sbit ET2 = IE^5;
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;

// IP
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;

// TCON
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;

// T2CON
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;

#endif
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor rebelk » 10 Dez 2009 11:27

no site da atmel baixei essa bibliotecas em ( Software Files ) , mas não tem o AT89C51RC.

http://www.atmel.com/dyn/Products/produ ... rt_id=1933
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor Djalma Toledo Rodrigues » 10 Dez 2009 11:45

rebelk escreveu:no site da atmel baixei essa bibliotecas em ( Software Files ) , mas não tem o AT89C51RC.

+ tem na Pasta SDCC o AT89C51RB2_RC2 será?

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Próximo

Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x