Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

Cyclone3: Flash programmig via JTAG

Hi,

I’m a student and I started my first FPGA project a few weeks ago. I want to create a “Bootloader” which programs my external flash memory via JTAG. At that point I program my flash memory via Boundary-Scan. But it takes too much time. Therefore I want to speed up the flash programming. I decided to create a Nios system with the embedded Peripherals IP. The “Bootloader” should be downloaded to the FPGA to configure it. Then the “Bootloader” should receive the flash content (program) via JTAG and write it to the flash memory. Could you please guide me through my project at points I don’t get further. Yet, I have less experience with FPGA’s but I’ll do my best.

I have a Cyclone III FPGA Starter Kit for testing. First I want the “Bootloader” to run on the testing hardware. Afterwards, the “Bootloader” should run on another hardware. The major difference among the two hardware is the flash memory.

I want to use Qsys to build the hardware. I think about following components to use:

NIOS II/e : I don’t think I need a cache memory -> simplest processor

JTAG UART : Should connect the host pc with the FPGA via JTAG to send programming data to flash

On-chip (RAM) : 20K on-chip RAM for data and instructions of the NIOS II; data width: 32

Sysid : as a protection

CFI-FLASH : Connection to the external flash memory

Avalon-MM Tristate-Bridge: Connection to the external flash memory

Is anything missing or should I use other components? I attached a screenshot which shows all connections of my system.

Thank you for your help.

Best regards.

19 Replies