Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12589 Discussions

What is the most direct way to program an eMMC chip on the HPS controller?

MLaur2
Novice
1,835 Views

I am working on a project, based on a Cyclone V SoC. The HW is equipped with a QSPI FLASH and a eMMC chip, both connected to the HPS pins.

We want the system to configure/boot from the eMMC chip.

 

I have found two possible methods to program a eMMC chip:

- Load Preloader -> U-boot -> Linux, install tftp and mount the eMMC chip as drive

- Load Preloader -> U-boot, use the debugger to store a SD-card image in RAM and use U-boot to copy the image to the chip.

 

I find both methods unsuited for a production situation. We will have batch-sizes in order of 10 units, thus pre-programmed chips are not an option.

Is there a more direct way to program an eMMC chip, connected to the HPS controller?

We can use the QSPI FLASH as temporary boot-device, if that helps to program the eMMC chip.

 

0 Kudos
3 Replies
Ahmed_H_Intel1
Employee
589 Views

mmm, this is a good question.

Do you have any issue with the possible methods you mentioned? what you are trying to avoid to search for another way?

Which Kernel version you want to use?

0 Kudos
Ahmed_H_Intel1
Employee
589 Views
0 Kudos
MLaur2
Novice
589 Views

Thanks for your reply,

I have looked at that thread before. I see many users with same issue, but I see no elegant solution.

Usually, when using an eMMC chip, it involves a file-system, which means that a complete SD-card image must be transferred. This is often a few GB, which makes Jtag impractical.

I have only tried the method with U-boot and the debugger.

Our application is a bear-metal application, although we are using FreeRTOS for the Ethernet stack. Therefore I find the Linux method very indirect.

 

Shortly after posting this question, I found a combination of these methods:

https://rocketboards.org/foswiki/Documentation/Arria10NANDFlashProgramming

As I understand this, U-boot has a tftp-client and is capable of writing to the eMMC chip.

For me as Engineer, many things are possible, but I have to find a solution, which can be used in the production. Ideally, it is a script/program, which handle all the complicated stuff.

 

/Magnus

Reply