i.mx6 Solo PCIe Endpoint device without DDR

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.mx6 Solo PCIe Endpoint device without DDR

跳至解决方案
1,608 次查看
azausatu
Contributor I

Hello!

I use a congatec conga-QEVAL debugging Board with the qseven conga-QMX6 module installed on it (NXP i. MX6 Solo ARM Cortex A9 1 x 1.0 GHz, 512kB L2 cache, 3W)
I have a task to use conga-QMX6 as a PCIe Endpoint device.


Questions:
1) is it Possible to implement a PCIe Endpoint device without using the DDR memory that is on my Board?
2) Without using DDR3, I can only use standalone mode, bare-metall programming style. I use the Platform-SDK. Is there a newer way?
3) do I Correctly assume that my application, with the PCIe Endpoint implementation of the device, will run u-boot?
4) the Platform SDK has an example of board_pci.c. Should I use this example as a starting point?

Thank you so much for any help!

标签 (2)
标记 (3)
0 项奖励
1 解答
1,300 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Azamat

>1) is it Possible to implement a PCIe Endpoint device without using the DDR memory that is on my Board?

yes

>2) Without using DDR3, I can only use standalone mode, bare-metall programming style. I use the Platform-SDK.

>Is there a newer way?

no


>3) do I Correctly assume that my application, with the PCIe Endpoint implementation of the device,

>will run u-boot?

sdk does not use uboot. However seems in uboot pcie also can be used, please look at #define CONFIG_PCIE_IMX in

mx6sabresd.h\configs\include - uboot-imx - i.MX U-Boot 


>4) the Platform SDK has an example of board_pci.c. Should I use this example as a starting point?

one can start with rt-thread/pcie_test_rc.c at master · RT-Thread/rt-thread · GitHub 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

4 回复数
1,300 次查看
scottkche
Contributor I

Freescale Semiconductor reserves the right to make changes without further notice to any products herein.

0 项奖励
1,301 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Azamat

>1) is it Possible to implement a PCIe Endpoint device without using the DDR memory that is on my Board?

yes

>2) Without using DDR3, I can only use standalone mode, bare-metall programming style. I use the Platform-SDK.

>Is there a newer way?

no


>3) do I Correctly assume that my application, with the PCIe Endpoint implementation of the device,

>will run u-boot?

sdk does not use uboot. However seems in uboot pcie also can be used, please look at #define CONFIG_PCIE_IMX in

mx6sabresd.h\configs\include - uboot-imx - i.MX U-Boot 


>4) the Platform SDK has an example of board_pci.c. Should I use this example as a starting point?

one can start with rt-thread/pcie_test_rc.c at master · RT-Thread/rt-thread · GitHub 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,300 次查看
azausatu
Contributor I

Thank you for your support! Only two callouts:

"sdk does use uboot."

1) I thought that any application from the Platform SDK should be launched from u-boot (first I loaded the application over the serial interface using the "loadb" command, then with the "go" command to the desired address). Was it wrong?

When using examples from the Platform SDK, don't you need to use u-boot?

Used the following commands, for example for usb_hid_mouse:

E:\output\mx6sl\usb_hid_mouse\evk_rev_a>arm-none-eabi-objdump -f usb_hid_mouse.elf

      usb_hid_mouse.elf: file format elf32-littlearm
      architecture: armv7, flags 0x00000012:
      EXEC_P, HAS_SYMS
      start address 0x80000678

In u-boot, i downloaded it .bin file from the example, command line:
      CGT-QMX6 U-Boot > loadb
      ## Ready for binary (kermit) download to 0x12000000 at 115200 bps...
      ## Total Size = 0x0001e5d0 = 124368 Bytes
      ## Start Addr = 0x12000000

Now to launch the app, you need to go to the address (0x12000000 + 0x80000678) using the "go" command?

2) Do I understand correctly that my application (if not using u-boot) must initialize all the necessary peripherals, including PCI-e?

Thanks!

0 项奖励
1,300 次查看
igorpadykov
NXP Employee
NXP Employee

sorry, correct:  sdk does not use uboot.

>2) Do I understand correctly that my application (if not using u-boot) must

>initialize all the necessary peripherals, including PCI-e?

right.

Best regards
igor