Moderadores: 51, guest2003, Renie, gpenga
RobL escreveu:Tem Thumb, nos antigos e Thumb2 nos CMx, além de Thumb.
Sim, na cabeça do micro todas instruções de 16bits são "convertidas" para 32 bits. Portanto só trabalha com instruções com 32bits.
Mas vamos tentar resolver o problema do fabim.
chipselect escreveu:veja se tem alguma coisa que você consegue aproveitar.
http://ecos.sourceware.org/tools/linux-thumb-elf.html
fabim escreveu:Gente, fala de pic aqui não !!!
Ta parecendo que estão falando de pic, e poluindo o ambiente ARMesco.
No meu caso hoje em dia, eu estou tentando ficar acima da abstração, e não abaixo.
Eu só gostaria de saber se, existe a possibilidade de eu compilar o kernel para operar em modo thumb, pois meu barramento tem largura física de 16 bits, e esta operando a 60mhz.
Se sim, existe a possibilidade, eu acredito que eu tenho que avisar ele que ele vai rodar em 16 bits, e a largura da RAM que ele tem disponível.
Alguém pode me indicar algum lugar pra eu entender como funciona esta configuração ? e como faze-la-la.
fabim escreveu:Sam, eu não quero insistir em nada, acho que não soube me expressar.
Start hitory
Diego e eu, fizemos uma IHM, com ARM7tdmi LPC2478, com memoria externa para o TFT com 16 bits.
Esta IHM foi certificada no INPE, bombardeada de todas as formas possíveis com ruídos, tanto induzidos quanto conduzidos.
As interfaces analógicas foram colocadas a prova de todas as formas possíveis.
Em poucas palavras é uma obra de arte, foi a concepção da minha experiência!!!
Ai eu vi na NET um kit rodando com 16bits e uClinux, e um outro com 32bits.
Vi muito pouca diferença entre os dois!!!
lembra, "it works ? Then live this !!!"
A plataforma já existe, foi certificada, e tudo mais. Eu não quero mexer no layout, trocar pinos e tudo mais. Até como aprendizado eu gostaria de portar o uClinux para minha plataforma, para que eu possa aprender.
Marcelo Samsoniuk escreveu:talvez vc esteja procurando no lugar errado, veja esse post:
http://www.embeddedrelated.com/groups/A ... w/3941.php
o que tem todo o nexo: o kernel eh puxado p/ a sdram pelo uboot e, se o kernel tentar reconfigurar a sdram, o conteudo eh perdido e o kernel crasha. entao vc tem que procurar essa configuracao no uboot.
daih no uboot tem um diretorio chamado board, que contem varias descricoes de placa. em particular, tem uma lpc2292sodimm q eu imagino ser parecida com sua plataforma (na real, vc vai usar uma parecida como base e criar a sua, com seus dados especificos!). tem uns codigos em particulares, mas nao sei realmente se vc precisa de algo diferenciado. em include/configs tem umas configuracoes mais especificas e tem um lpc2292sodimm.h, que contem algumas coisas interessantes, por exemplo:
/*-----------------------------------------------------------------------
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
#define PHYS_SDRAM_1 0x81000000 /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE 0x00800000 /* 8 MB SDRAM */
#define PHYS_FLASH_1 0x80000000 /* Flash Bank #1 */
#define PHYS_FLASH_SIZE 0x00200000 /* 2 MB */
#define CFG_FLASH_BASE PHYS_FLASH_1
/*-----------------------------------------------------------------------
* FLASH and environment organization
*/
#define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */
#define CFG_MAX_FLASH_SECT 1024 /* max number of sectors on one chip */
/* timeout values are in ticks */
#define CFG_FLASH_ERASE_TOUT (2*CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */
#define CONFIG_ENV_IS_IN_FLASH 1
#define CONFIG_ENV_ADDR (0x0 + 0x3C000) /* Addr of Environment Sector */
#define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */
em particular, essa droga de placa nao tem configuracao de largura do bus... mas acho que o caminho eh por ae, ou seja, compilar em thumb *nao* vai fazer reconfiguracao do bus para 16 bits como vc esta querendo.fabim escreveu:Sam, eu não quero insistir em nada, acho que não soube me expressar.
Start hitory
Diego e eu, fizemos uma IHM, com ARM7tdmi LPC2478, com memoria externa para o TFT com 16 bits.
Esta IHM foi certificada no INPE, bombardeada de todas as formas possíveis com ruídos, tanto induzidos quanto conduzidos.
As interfaces analógicas foram colocadas a prova de todas as formas possíveis.
Em poucas palavras é uma obra de arte, foi a concepção da minha experiência!!!
Ai eu vi na NET um kit rodando com 16bits e uClinux, e um outro com 32bits.
Vi muito pouca diferença entre os dois!!!
lembra, "it works ? Then live this !!!"
A plataforma já existe, foi certificada, e tudo mais. Eu não quero mexer no layout, trocar pinos e tudo mais. Até como aprendizado eu gostaria de portar o uClinux para minha plataforma, para que eu possa aprender.
tcpipchip escreveu:"TCPIPCHIP, não possuo os fontes da Olimex. Eles só fornecem o fonte mediante contrato para compradores. "
Contrato ? Para usar o UCLINUX ?
mastk escreveu:Fez algum teste de performace entre uma versao de outra?
chr@chr-desktop:~/tmp/fabinux/u-boot$ make
...
...
...
/home/chr/tmp/fabinux/arm-2011.09/bin/arm-none-eabi-objcopy -O srec u-boot u-boot.srec
/home/chr/tmp/fabinux/arm-2011.09/bin/arm-none-eabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
lpc17_fcg u-boot.bin u-boot-lpc.bin
File u-boot.bin loaded with size 126184 bytes
Word 0: 0x1000ff90
Word 1: 0x00000161
Word 2: 0x00000135
Word 3: 0x00000139
Word 4: 0x0000013d
Word 5: 0x00000141
Word 6: 0x00000145
Word 7: 0xeffef8de (cksum total: 0x00000000)
File u-boot-lpc.bin created with size 126184 bytes
/home/chr/tmp/fabinux/arm-2011.09/bin/arm-none-eabi-objcopy --gap-fill=0xff -O ihex u-boot-lpc.bin u-boot-lpc.hex -I binary
/home/chr/tmp/fabinux/arm-2011.09/bin/arm-none-eabi-objdump -d u-boot > u-boot.dis
chr@chr-desktop:~/tmp/fabinux/u-boot$
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante