Hello everyone, I am trying to create a SoC system using Cyclone V development kit to achieve a specific task. The following points illustrates what I have done so far before telling my question:
- The design of SoC system including the “Cortex A9” HPS processor, on-chip mapped RAM, and an output device have been completed using “Qsys” system in “Quartus 14.1” software.
- The “Pre-loader” and “U-boot” software have been completed using the “SoC EDS 14.1” command shell. Both files were stored in an SD-RAM to initiate the HPS.
- The Quartus project has been compiled, the programming “.sof” file was created. The Cyclone V was programmed successfully by the Quartus programmer.
- In the Quartus project, a “.hex” file was created in the project directory “…\synthesis\submodules”. This file represents the program that will be stored in the RAM to be executed by the HPS in form of hexadecimal code “or intel hexadecimal format”.
In my understanding, the code of the “.hex” file can be obtained as below:
A) Using one of ARM tools that match with the Cortex A9 HPS (inside the Cyclone V), the program can be written based on “C, C++, or Python” language.
B) After building the project using ARM tool, the compiler will interpret/convert the program to the “.hex” code.
C) The generated HEX code then can be copied to the “intel hexadecimal format” file of the RAM to be executed by the HPS.
Now my concerns are as below please:
I) Is what I think in points (A, B, and C) above is correct?
II) If it is correct, what kind of tool please that can be used to write the program and generate the “.hex” file?
Thank you for your support in advance