Desempenho XC8 Pro

A Mxip sacaneia legal a compilação do código quando na versão Free... Já tava precisando usar um chip "mais maior"...
Fórum sobre desenvolvimento de sistemas embarcados: Hardware e Software, Tecnologias: Eletrônica digital e analógica, Microcontroladoras, Microprocessadores, Sistemas *NIX (Linux, BSD), Software embarcado Baremetal. Sem fins lucrativos.
http://asm51.com.br/phpbb/
xultz escreveu:Uma vez eu vi uma análise que um cara fez, compilando alguns códigos e vendo o resultado no assembly gerado. Ele chegou à conclusão que o compilador Pro não otimiza nada, ele faz o que deve ser feito, e que a versão Free enfia um monte de tralhas inúteis no assembly prá ficar maior e mais lento.
Vonnilmam escreveu:Olá a todos,
Bom, eu sou aprendiz em C, bem aprendiz mesmo...
Mas em assembler já dou umas arranhadas a muitos anos, sou da velha guarda z80 e afins.
Tô mexendo com C, por causa da modernidade das coisas, mas é justamente esse ponto que sempre me bloqueou em querer aprofundar-me em C, é a sacanagem dos compiladores (fabricantes)...
VOU CONTAR UM CAUSO...kkk
Uma certa vez, quis me aventurar em aprender mexer com os chips da ALTERA, me ofereceram na época uma licença paga, bom disseram que dava para fazer isso aquilo e tal...um dia, por acaso estava eu lá no escritório da arrow, quando vi o pessoal "brigando", o papo era o seguinte: Uma empresa iniciou pelo visto um trabalho complexo em torno do altera e como a coisa foi crescendo, o compilador ia dando PAU, ou seja, pedia que o licenciado compra-se outra licença para ter acesso a outras LIBs...e pelo que notei a empresa não estava querendo comprar mais libs, pelo que percebi, venderam uma idéia para os caras e quando os caras da empresa começaram a mandar ver no software deles e isso necessitava, maior capacidade do chip altera, era aonde o bicho pegava, o soft pedia que o licenciado compra-se novas licenças para fazer o que ele queria, salvo engano, era algo para telecomunicações.
O C é legal, facilita bastante, apesar de eu estar sofrendo para entender a lógica de programação. Mas de uma coisa eu sei, o ASM é um quebra galho daqueles.
Hà sim, na ocasião, a licença solicitada para cada lib solicitada, era de 10$mil...cada uma e os caras parece que precisariam de algumas libs destas e especial...
Isso é ví ao vivo e em cores...
Vonnilmam escreveu:Acho que não me expressei corretamente, peço desculpas.
No caso do ALTERA com o cliente em questão, o fato era além das libs específicas, também a compilação final que era limitada...salvo engano eram isso.
Sim, creio que dá para desenvolver muita coisa, via software no caso, com diversos tipos de linguagem.
Concordo plenamente.
Vejam, eu não manjo nadinha de C, apenas quis compartilhar um CAUSO que ví...kkk
Vonnilmam escreveu:Olá a todos,
Bom, eu sou aprendiz em C, bem aprendiz mesmo...
Mas em assembler já dou umas arranhadas a muitos anos, sou da velha guarda z80 e afins.
Tô mexendo com C, por causa da modernidade das coisas, mas é justamente esse ponto que sempre me bloqueou em querer aprofundar-me em C, é a sacanagem dos compiladores (fabricantes)...
VOU CONTAR UM CAUSO...kkk
Uma certa vez, quis me aventurar em aprender mexer com os chips da ALTERA, me ofereceram na época uma licença paga, bom disseram que dava para fazer isso aquilo e tal...um dia, por acaso estava eu lá no escritório da arrow, quando vi o pessoal "brigando", o papo era o seguinte: Uma empresa iniciou pelo visto um trabalho complexo em torno do altera e como a coisa foi crescendo, o compilador ia dando PAU, ou seja, pedia que o licenciado compra-se outra licença para ter acesso a outras LIBs...e pelo que notei a empresa não estava querendo comprar mais libs, pelo que percebi, venderam uma idéia para os caras e quando os caras da empresa começaram a mandar ver no software deles e isso necessitava, maior capacidade do chip altera, era aonde o bicho pegava, o soft pedia que o licenciado compra-se novas licenças para fazer o que ele queria, salvo engano, era algo para telecomunicações.
O C é legal, facilita bastante, apesar de eu estar sofrendo para entender a lógica de programação. Mas de uma coisa eu sei, o ASM é um quebra galho daqueles.
Hà sim, na ocasião, a licença solicitada para cada lib solicitada, era de 10$mil...cada uma e os caras parece que precisariam de algumas libs destas e especial...
Isso é ví ao vivo e em cores...
pamv escreveu:Queria aproveitar pra fazer uma pergunta sobre o xc8, como o eu defino o load address do executável? No mikroC eu defino, p.ex.
#pragma orgall 0x1000
mas no xc8 eu não achei uma resposta definitiva lendo o manual ou buscando nos foruns da microchip
andre_teprom escreveu:pamv escreveu:Queria aproveitar pra fazer uma pergunta sobre o xc8, como o eu defino o load address do executável? No mikroC eu defino, p.ex.
#pragma orgall 0x1000
mas no xc8 eu não achei uma resposta definitiva lendo o manual ou buscando nos foruns da microchip
Meu palpite é porque de certo modo em C não tem muita utilidade pratica em se definir um endereço absoluto, o compilador já se encarrega disso, e aparentemente uma definição do programador poderia entrar em conflito com a o linker...acho eu.
pamv escreveu:Ei!
Eu usei essas tty33 para acessar um PDP10 rodando TOPS-10 (um OS que não tinha o conceito de subdiretório), elas davam choque em algumas partes se não estivessem bem aterradas.
A vantagem delas era a leitora/perfuradora de fita de papel, dava para gravar um arquivo na fita e depois subi-lo de volta pro dec10 onde disco era uma coisa preciosa.
Sobre o C aqui no Brasil: ele demorou para aparecer no varejo, eu fiz meu curso de programação em Fortran em um mainframe B6700 com cartão perfurado e depois outro curso em Basic, na época ainda tinha a opção por COBOL e Algol e a profa da computação apostava todas a fichas no Pascal, inclusive lançou um livro na época. Sobre C eu tomei conhecimento na Byte, que era excelente na época e não 100% orientada a "Wintel"
O primeiro acesso a C na prática apareceu no início dos anos 80 com os microprocessadores baseados em Z80/8085 com floppy disk mas não tinha muita vantagem em ambiente CP/M sobre o fortran para quem fazia calculeira e estava portando do Mainframe pro PC. Depois, apareceu o turbo pascal e dominou o cenário de desenvolvimento de programas ficando o fortran para os ports de mainframe->microcomputadores.
Unix na época, até onde eu lembro, era pirataria da Edisa e da Marinha e de acesso muito restrito e não acadêmico, um amigo que fez computação na UFRJ teve acesso
e trabalhou com C no Unix da Marinha e isso valeu um bom emprego no exterior naquela época que todo mundo migrava fugindo da crise, mas ele foi exceção.
O C decolou depois do fim da reserva de mercado e outras restrições (tipo ter que assinar uma declaração pros EUA que eu não ia fabricar uma bomba atômica com a workstation) que evitavam a entrada do Unix, com a chegada das Suns, SGI, HP, etc o C decolou forte e o gcc junto com ele.
O forte do C é o que o Marcelo destacou: uma linguagem simples e ao mesmo tempo capaz de lidar com complexidade, na época o fraco era a falta de padronização, cada fabricante tinha o seu C e portar de um "unix" para outro, mesmo com gcc, era dureza, tanto que os gnus inventaram o configure e cia.
Quanto ao xc8, eu estou começando com ele este ano e uma das idéias que eu tinha era lá na frente analisar o assembler que a versão free gera e ver possíveis otimizações, pelo que vocês falaram, não vou deixar pra ver lá na frente ele dá calote no tamanho e na eficiência do código.
Queria aproveitar pra fazer uma pergunta sobre o xc8, como o eu defino o load address do executável? No mikroC eu defino, p.ex.
#pragma orgall 0x1000
mas no xc8 eu não achei uma resposta definitiva lendo o manual ou buscando nos foruns da microchip