[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] More details of my problem - uClinux freezestoo



Hi Ivan,

Ivan wrote:
> i don't know what it is the problem yet, i try to configure mi platform
> similar to mbvanilla, but the output is the same:
> 
> Linux version 2.4.24-uc0 (ivan@medea) (gcc version 2.95.3-4 Xilinx EDK
> 6.1 Bui4On node 0 totalpages: 5Bc
> zone(0): 5Bc pages.

[snip]

> i try to execute the image.bin in demo package, but the output is
> similar to the previous one:
> 
> Linux version 2.4.21-uc0 (jwilliam@g435-9029) (gcc version 2.95.3-4
> Xilinx EDK3On node 0 totalpages: 40        zone(0): 0 pages.
> zone(1): 40     zone(2): 0 pages.

Since you get the same output corruption from using your own kernel, and 
the demo kernel, I suspect something funny in your hardware definition. 
  Can you post your .mhs file?

>  #define MICROBLAZE_GPIO_DATA_OFFSET  0x00000000
> -#define MICROBLAZE_GPIO_TRI_OFFSET   0x00000004
> +#define MICROBLAZE_GPIO_TRI_OFFSET   0x00000000   // all outputs

You should not do this - this is indicating the offset from the 
baseaddress to set the GPIO tristate direction.  Leave it at 0x04.

In fact, looking at all the changes to the 
linux-2.4.x/include/asm-microblaze/xparamaters.h, it appears you have 
taken the xparameters.h generated by libgen in your build, and copied it 
into the linux kernel, is that correct?

It might seem like a good idea, but it's not that easy.  For various 
reasons (some good, some bad), you can't just do that.  There are some 
#defines in there that aren't properly created by libgen, and some other 
hacks as well.  Some of the other changes you have made don't make much 
sense either.

My recommendation is to

(a) post your .mhs file to the list for us to have a closer look.
(b) revert your uClinux-2.4.x source tree back to the CVS "standard"
(c) take the existing mbvanilla platform, and make the absolute minimal 
changes necessary to make it work on your board.  Test it first by 
writing simple microblaze programs that spits stuff out on the serial 
port, toggles the LEDs, that sort of thing.
(d) make the bare minimum changes in the kernel tree to match your 
hardware platform.

Once you have this working, then you can start maknig the more radical 
changes like adding GPIOs etc..

Cheers,

John






___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/