Migrando do CCS para MIKROC

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor barboza » 04 Fev 2010 13:25

Alesandro F Zagui escreveu:Nao estou comparando ASM com C e nem falando em tempo de desenvolvimento, só mostrei dois codigos diferentes que fazem a mesma coisa com tamanhos diferentes e tempo gasto pelo nucleo do uC para executar cada um diferente.

Um ficou menor porem gasta mais tempo pra ser executado e o outro ficou maior mas se gasta menos tempo pra executar.



Já havia feito este comentário também.

barboza escreveu:
....

No Keil é possivel configurar o nível de otimização para performance ou tamanho de código, veja se tem isso no seu compilador também.

Avaliar um compilador só pelo tamanho de código ROM gerado não é o ideal e não serve como decisão para tudo.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor vtrx » 04 Fev 2010 17:58

vê se consegue fazer menor em asm ("...é claro que consigo, mas num vou nem tentar pois num vale a pena e nem tenho tempo e não preciso provar nada pra ninguém!").

Voce tem que comparar o tamanho em bytes do hex não do código a compilar.
Para quem não sabe...'mouse direito,propriedades' e 'tamanho' do arquivo kbur.hex,não é possível que esta comparando um código 'digitado' com o resultado final em bytes a gravar no micro.?
:100000002030840032300A200A128A11DF2F0406C1
:100010008001840A0406031D072864000034820757
:100020003F3406345B344F3466346D347D340734EA
:040030007F346F3476
:100EFA00830130080319B103B003300A0319310A18
:100F0A00031908007D2F00308A0083120313260874
:100F1A000F208600023085000430B000B1010A12A9
:100F2A008A117D2700308A0022080F2086000430AB
:100F3A008500B000B1010A128A117D2700308A00AB
:100F4A0020080F208600083085000430B000B10167
:100F5A000A128A117D2700308A0024080F20860091
:100F6A00103085000430B000B1010A128A117D2FB9
:100F7A008301AD00AE000310AE0D0310AE0D0310D9
:100F8A002E0D813E9F001430B000B1017D271F1540
:100F9A001F19CD2F1E08AF00AE0183161E08FE00D2
:100FAA00FF01031383122E08FE070318FF0A2F08F6
:100FBA00FF07080001308316031385008601831298
:100FCA00860185019F000E3083169F0064308312CC
:100FDA00B000B1017D270030BD270310FF0CFE0CC5
:100FEA000310FF0CFE0C7E08A8007F08A9008827C2
:060FFA000A128A11F02F1B
:00000001FF

Esse é o tamanho do hex gerado pelo código que voce postou?
Se for,o compilador mikroC tem que gerar a sua versão menor que este.
HI-TECH Software PICC Macro Assembler V9.60

Esse código é o resultado gerado por um compilador C?HITEC C?
Se for,é o código gerado em C e não um programado direto em ASM...não é a mesma coisa programar em ASM e comparar com um gerado por um compilador C ou outro...
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor ze » 04 Fev 2010 20:15

oi amiguinho. estou com 2 dificuldades: de lhe explicar com palavras humanas e de me conectar no pc empresa (alguém parece ter desligado) pois aqui em casa não tenho os aplicativos pra recompilar. Mas de toda a forma tu estás certo nas tuas óbvias ululantes conjecturas. Qto ao arquivo .hex pelo jeito tu nunca abristes um deles num editor de texto. Teorizei: selecionar, copiar, colar no editor, salvar como .hex e importar no mplab mas não fiz isso. Este forum é pobre e não dá pra anexar arquivos (fazia isso com o forum da cbe mas saiu do ar (?)). Quem sabe amanhã.
vou editar aquele post pra não ficar poluído pois já atendeu seu propósito, tá bão?
por enquanto contente-se com o пенис в ее задницу tá?
rs e abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor vtrx » 04 Fev 2010 21:07

Qto ao arquivo .hex pelo jeito tu nunca abristes um deles num editor de texto

Na realidade a contagem dos bytes que serão gravados na memoria do micro não pode ser contada como citei,'propriedades,tamanho do arquivo',foi só uma referência.
Cada linha de um arquivo Hex contem mais informações que os próprios bytes a serem gravados.

:100000002030840032300A200A128A11DF2F0406C1

':' é o delimitador do início do registro.
'10' é o tamanho do bloco de dados(10 Hex=16 Dec).
'0000' é o endereço do início do bloco.
'00' tipo de registro,00=dados.
'20' até '06' são os dados em sí.
'C1' é o checksum.
Mas isso ja muda para outro tipo de programação,se precisar informações completas sobre esse tipo de arquivo ou outro usado principalmente no windows,estou a dispor.
Voltando ao tópico,essa diferença grande de tamanho dos códigos finais gerado pelo MikroC pode realmente ser alterado?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor ze » 05 Fev 2010 07:05

tópico com muitas páginas é um pé no saco, mas vamos lá...

muito bem amiguinho. demonstrou sabedoria e principalmente solidariedade. é bom saber que temos com quem contar. obrigado.

Com relação ao tópico mkc X ccs eu quis xeretamente acrescentar (e provar) que a opção do hitech-c não é simplesmente mais uma e sim a melhor (até o momento) no quesito minimizar uso de flash. Mas isso é pra pobres como nós que têm que trabalhar com certas limitações (entre elas a financeira) e tentam tirar água de pedra. Portanto
vtrx escreveu:...essa diferença grande de tamanho dos códigos finais gerado pelo MikroC pode realmente ser alterado?
sim, desde que avalie outros compiladores e/ou use o know how de outros programadores idiotas (=eu) [que acham que] têm.

Conclusão desta conversa toda: pelo jeito o mkc mesmo com todos os flags de otimização ligados não chega aos pés do horroroso ccs e tá comendo poeira do hitec no aspecto uso de flash e provavelmente nos d+. Mas suas libs mastigadas tendem a ajudar e muito os programadores preguiçosos. Pena que são fechadas e não portáveis com facilidade. Portanto se um dia quiseres se aventurar pelo c (além de contar com este que vos escreve, caso ele esteja vivo e com saúde), comece com mkc. Quem sabe até lá já existam pic10f com 256k de flash.

abç & boa sorte!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor _blackmore_ » 16 Fev 2010 12:12

geraldomelo

conseguiu descobrir como melhorar o código com o MikroC?
será que o CCS é tão ruim assim?
terminei por deixar os dois de lado e estou encarando o C18 ... me pareceu bem fácil de utilizar ... e FREE !!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor geraldomelo » 18 Fev 2010 05:00

_blackmore_ , descobri nada ... to fiquei com a opção do ccs mesmo por enquanto ... quero dar uma olhada no C18 tbm , mas estou esperando para comprar o livro dele que falam que eh muito bom ... vc já tá usando o c18 , faz algum comparativo ai com o ccs e/ou mickroC ..

abs

Geraldo
geraldomelo
Byte
 
Mensagens: 267
Registrado em: 14 Out 2006 16:53
Localização: Ribeirão preto - SP

Mensagempor _blackmore_ » 19 Fev 2010 17:35

geraldomelo

bixo ... o livro de C18, no meu ponto de vista é muito bom ... é super detalhado e todos os exemplos são muito bem comentados ... vale a pena mesmo o valor!! Quanto ao compilador, não tive muito tempo devido a alguns imprevistos, apenas compilei alguns exemplos do livro, mas na próxima semana fuço para configurar e começo a compilar uns programas, colocar timer para rodar ... ligar LCD, rodar USB e SDcard ...
se tiver interesse em comprar o livro, me avisa ... lhe passo o contato de uma pessoa que tem ótimos preços em livros da Ed. Érica.
Não tenho parâmetro para comparar com o MikroC ... depois deste tópico e pela dificuldade q enfrentei para instalar ... nem sei se quero mais .. hehe

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor geraldomelo » 19 Fev 2010 19:44

heheheh ... ok blackmore .... cara , então passa o contato do seu amigo pra mim ... ele aceita cartão ? pode passar uma mensagem particular mesmo ..

abs

Geraldo
geraldomelo
Byte
 
Mensagens: 267
Registrado em: 14 Out 2006 16:53
Localização: Ribeirão preto - SP

Anterior

Voltar para PIC

Quem está online

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

cron

x