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!
Solved! Go to Solution.
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!
-----------------------------------------------------------------------------------------------------------------------
Freescale Semiconductor reserves the right to make changes without further notice to any products herein.
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!
-----------------------------------------------------------------------------------------------------------------------
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!
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