Hi everyone,I have a board with a 5CSXFC6D6F31 on it, and am pretty new to FPGA and ARM lingo after working with the Atmel line of 8 and 32 bit MCU's. Would the ARM DS-5 Altera Edition be used for programming the CPU/HPS portion while Quartus II is used for programming the FPGA portion of the IC? It would seem they'd have one development environment that could program both HPS and FPGA portions by model number, but more specifically, I would need to know if a default 5CSXFC6D6F31 library is sufficient enough to access all hardware features of the board that has the 5CSXFC6D6F31 on it. The board I have is a newer Lark Board, and they gave the HPS and FPGA portions a different set of hardware, but they didn't mention whether they created a library for their board or not so it could be programmed for use with the hardware they gave the board. I'd prefer to be able to program the hardware components at the bare metal level, but am a little confused on the different binaries that can be made, like .sof, preloader, .svd etc. Instead of using a default Linux distribution they placed in eMMC Flash, I'd like to program the board in a sort of MicroController mode, implementing a bare metal kernel & preloader with a bare metal app that can communicate with all the peripherals. I tried writing tech support but they're ignoring me not offering customer service. I see how they are after making a sale. They're supposed to offer one full year of continuous support. Thanks again, Jason
Hi Jason,If your choice is bare-metal have to use HWLIB provided by Altera. It is placed at SoCEDS installation under <path>/embedded/ip/altera/hps/altera_hps/hwlib/ The documentation also there at <path>/embedded/ip/altera/hps/altera_hps/doc/ This library comes with support for certain hardware, need to check what are difference between Lack Board and Altera's DevKit. Hope it helped.
Thanks for your help, I am installing the SoC EDS and found those directories.It is confusing, I am not sure how to program this board's HPS/FPGA through USB because the board has a Linux distribution on it. Perhaps the manufacturer meant that programming occurs on the board in Linux with gcc. However, with the USB Blaster II micro USB, there should be a way to program the board through USB in some sort of binary mode. Perhaps if I study enough, it should be possible to write SDRAM and Flash on the board through the USB connection if this is the way the .sof files are transferred. It might take a month to get the hang of it, I was an AVR32 user with Atmel Studio. That was pretty easy, I hope this is too, but I think they want to prevent programming in binary mode as much as possible. They should just let us program the hardware however we want. It doesn't make sense why they're charging $1000 just to program in binary. Creating a compiler for the Cortex A9 might not be difficult, GNU has one I think already for the Cortex series used in Linux. Maybe the header files are specific to the EDS, not sure, but maybe they could be used with another compiler. Either that or compile one command at a time to get the binary opcodes. Thanks again.
Try to read user guide (ug_soc_eds.pdf) for SoCEDS.It helps to understand how to boot bare-metal from jtag. In this case, no need to boot Linux from sdcard.
The Cyclone V is pretty advanced, but I'm starting to understand it. Looking at the hardware memory addresses, I think I might be able to read/write hardware directly using a sort of register pointer, like this:# define SDR_CTRLCFG (*(volatile uint32_t * const) 0xFFC25000), but for each register on the HPS and the board.I would like to create a bootROM residing in on-chip ROM, and a Preloader image running in Bare Metal mode. The manufacturer of the board didn't include any user space or bare metal examples to read or write any of the hardware. I tried using the Altera software but it's not running on any of my computers so I'm going to have to make a compiler for the board I have. At $800 a board, I'm surprised the manufacturer didn't give us a way to program their board, and they're not really providing tech support.