Quick P3041 test

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Quick P3041 test

3,127 Views
sidiropoulos_ch
Contributor I

Hi Guys,

I am about to receive the p3041ds development. And went through most of the document relating to this board and could not find anywhere as a quick start guide on how to connect the board with a host. I was assuming that the board came with an install boot loader where some instruction might be available to quickly connect to the host. The reason why you want to do this is to verify that the board is somehow functioning. Also you need to know which port the host needs to be connected to the board. Can someone help with this!

Labels (2)
0 Kudos
Reply
8 Replies

2,966 Views
sidiropoulos_ch
Contributor I

Thanks for reconfirming this ufedor. 

So  can you then please suggest what are my options in loading /running an image successfully onto the target without the debugger.

Thanks in Advance.

Regards 

chris

0 Kudos
Reply

2,966 Views
sidiropoulos_ch
Contributor I

Hi ,

All I need to know for time being if using objcopy command to convert elf to bin is the correct way.

As I'm reading on the web I noticed the "hello world " examples images have been built around

the uboot Build Environment. Which I think the bin file I produced  may not be quite compatible 

with uboot.

Can you confirm when using the flash programmer in CW to convert an elf image to bin is the correct

approach of uploading the image to the target?

regards 

chris

0 Kudos
Reply

2,966 Views
ufedor
NXP Employee
NXP Employee

> Which I think the bin file I produced  may not be quite compatible with uboot.

It is NOT compatible with U-Boot.

I already wrote this.

0 Kudos
Reply

2,966 Views
sidiropoulos_ch
Contributor I

Hi Ufedor,

Yes I agree with what you said. However my second example above shows that I used a binary image and it still crashed the target. I mentioned above that I used objcopy to convert an elf to bin.

regards

chris

0 Kudos
Reply

2,966 Views
sidiropoulos_ch
Contributor I

I forgot to include the U-boot version I'm using:-

U-Boot 2011.12-00030-gad15412 (May 02 2012 - 15:53:05)

CPU0:  P3041E, Version: 2.0, (0x82190320)
Core:  E500MC, Version: 3.2, (0x80230032)
Clock Configuration:
       CPU0:1500 MHz, CPU1:1500 MHz, CPU2:1500 MHz, CPU3:1500 MHz,
       CCB:750  MHz,
       DDR:666.667 MHz (1333.333 MT/s data rate) (Asynchronous), LBC:93.750 MHz
       FMAN1: 583.333 MHz
       PME:   375 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: P3041DS, Sys ID: 0x1c, Sys Ver: 0x12, FPGA Ver: 0x05, vBank: 0
36-bit Addressing
Reset Configuration Word (RCW):
       00000000: 12600000 00000000 241c0000 00000000
       00000010: d8804c00 03002000 fe800000 41000000
       00000020: 00000000 00000000 00000000 10c30001
       00000030: a8000000 00000000 00000000 00000000
SERDES Reference Clocks: Bank1=100Mhz Bank2=125Mhz Bank3=125Mhz
I2C:   ready
SPI:   ready
DRAM:  Initializing....using SPD
Detected UDIMM i-DIMM
2 GiB (DDR3, 64-bit, CL=9, ECC on)
       DDR Chip-Select Interleaving Mode: CS0+CS1
Testing 0x00000000 - 0x7fffffff
Remap DDR
POST memory PASSED
Flash: 128 MiB
L2:    128 KB enabled
Corenet Platform Cache: 1024 KB enabled
SERDES: timeout resetting bank 3
SRIO1: disabled
SRIO2: disabled
NAND:  1024 MiB
MMC:  FSL_SDHC: 0
EEPROM: NXID v1
PCIe1: Root Complex, no link, regs @ 0xfe200000
PCIe1: Bus 00 - 00
PCIe2: disabled
PCIe3: Root Complex, no link, regs @ 0xfe202000
PCIe3: Bus 01 - 01
PCIe4: disabled
In:    serial
Out:   serial
Err:   serial
Warning: SERDES bank 3 expects reference clock 100MHz, but actual is 125MHz
Net:   Initializing Fman
Fman1: Uploading microcode version 101.8.0

0 Kudos
Reply

2,966 Views
sidiropoulos_ch
Contributor I

I have recently received my P3041DS. So I had an opportunity to try a few things with it.

From this I came out with a mixture of successes and not so successful in certain areas.

Successes:

  • ran the bareboard programs using USB tap debugger successfully
  • using a bootloader from vxworks I was able to bootup in ROM successfully.

   This requires to configure SW7 and copying the image so that it is booted in ROM bank area.

   With this, it boots in vxworks menus instead of U-BOOT. Selecting SW7 back to default settings

  starts the U_BOOT again.

Not so succesful: 

So my starting point with this is....I am using BareBoard example in CW development studio 10.5.2 that simply prints
"Welcome to CodeWarrior"
From this build it produces an Elf binary file (executable)-->Entry point address: 0x100108
and would like to load (in RAM) the executable and run it after U-BOOT is launched on target.

Loaded Elf image:-

=> tftp 1000000 bareboardExample.elf
Using FM1@DTSEC5 device
TFTP from server 192.168.178.63; our IP address is 192.168.178.65
Filename 'bareboardExample.elf'.
Load address: 0x1000000
Loading: ###############
done
Bytes transferred = 220004 (35b64 hex)
=> bootelf 1000000
## Starting application at 0x00100108 ...
Bad trap at PC: 100474, SR: 29200, vector=800
NIP: 00100474 XER: 00000000 LR: 00100428 REGS: 003dfd28 TRAP: 0800 DAR: 00000000
MSR: 00029200 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 00100428 003DFE18 7FE2DF30 0010C6F0 0010CA40 0010C178 003DFF50 00000000
GPR08: 0000000C 003DFF60 00000000 0010D034 20222042 00115050 00000001 003DFF50
GPR16: 7FE30F14 00000000 7FE30F30 7FE30F00 7FFB0BE8 7FF3C3E4 7FFB0034 7FF803FC
GPR24: 0010C6F0 0010CA40 00000001 0010C178 00000001 00000001 7FF94810 00100108
Call backtrace:
DEADBEEF 00100428 0010003C 0010016C
Exception in kernel pc 100474 signal 0
### ERROR ### Please RESET the board ###

-------------------------------------------------------------------------------

Here I Converted Elf image into bin image using GNU tools objcopy

Using FM1@DTSEC5 device
TFTP from server 192.168.178.63; our IP address is 192.168.178.65
Filename 'bareboardExample.bin'.
Load address: 0x1000000
Loading: #################################################################
###########
done
Bytes transferred = 1101932 (10d06c hex)

=> go 0x00100108
## Starting application at 0x00100108 ...
Bad trap at PC: 100108, SR: 29200, vector=800
NIP: 00100108 XER: 00000000 LR: 7FF3C124 REGS: 7fe2dca8 TRAP: 0800 DAR: 00000000
MSR: 00029200 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 00100108 7FE2DD98 7FE2DF30 00000001 7FE30F14 7FE30F14 00100108 00000010
GPR08: FFFFFFFE 00000020 00000020 7FE2DDA0 7FF3C178 70578A80 00000000 00000000
GPR16: 7FF999A4 00000000 7FE30F30 7FE30F00 7FFB0BE8 7FF3C3E4 7FFB0034 7FF803FC
GPR24: 00000000 00000000 00000000 00000000 00100108 7FE30F14 7FF94810 00000002
Call backtrace:
00000002 7FF3C198 7FF4E97C 7FF4EF88 7FF4F104 7FF51EF0 7FF3ABA0
7FF3164C
Exception in kernel pc 100108 signal 0
### ERROR ### Please RESET the board ###

----------------------------------------------------------------------------------

Also used in the above with 'go' command 0x0100108 (Entry point address) in U-boot area

with no success.


What is the problem, are the images which I have build and converted are not
compatible with U-BOOT or am I not loading images in the correct Ram locations.

To confirm the issue with images, maybe its better if someone can provide me an example of an image file already built to load on my target board.
(Assuming someone out there has a similar board and was able to build an image that can be loaded/run in U-boot).

Can anyone assist me with this.

Thanks

Chris

0 Kudos
Reply

2,966 Views
ufedor
NXP Employee
NXP Employee

The bareboard ELF is not supposed to be loaded and executed by U-Boot - it has to be loaded only by CodeWarrior debugger.

0 Kudos
Reply

2,966 Views
ufedor
NXP Employee
NXP Employee

> which port the host needs to be connected to the board.

Assuming that the late line of the U-Boot booting log is:

FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5 [PRIME], FM1@TGEC1

this means that U-Boot default is FM1@DTSEC5 and it works on P1.

There were several P3041DS firmware versions and it will be more convenient to provide specific recommendations after obtaining U-Boot booting log and log of the "printenv" command.

0 Kudos
Reply