FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-18-2009, 05:04 PM
Antti
Guest
 
Posts: n/a
Default SD card bootstrap code in 55 instructions

Hi

eh sometimes i just wanna shine, i guess
but well it was real nice seeing AVR code loaded and executed from SD
card
by bootstrap code in the 128 byte FlashROM of Actel FPGA

the complete SD card bootstrap code takes 55 AVR instructions (from 64
available)
ah, the SPI is FULL software bit bang, there is no SD related hardware
peripherals.

well the AVR core in the FPGA is little modified
1 ROM is mapped to RAM space both read write
2 SBI/CBI are modified to be able to write Carry to IO port

without [2] the code would be 56 instructions but still fit.

this code bootstraps from file copied to FAT file system, using NoFAT
(tm) method,
SDHC is not supported

I guess, without NoFAT, it might be possible to add SDHC support too,
but then initial
bootstrap would need to be in sector 0, what is possible but requires
special SD card
formatting tool

Antti
PS and yes, this just one bootstrap for the FPGA-AVR module with Actel
PA3



Reply With Quote
  #2 (permalink)  
Old 05-18-2009, 11:01 PM
-jg
Guest
 
Posts: n/a
Default Re: SD card bootstrap code in 55 instructions

On May 19, 4:04*am, Antti <[email protected]> wrote:
> Hi
>
> eh sometimes i just wanna shine, i guess
> but well it was real nice seeing AVR code loaded and executed from SD
> card
> by bootstrap code in the 128 byte FlashROM of Actel FPGA
>
> the complete SD card bootstrap code takes 55 AVR instructions (from 64
> available)
> ah, the SPI is FULL software bit bang, there is no SD related hardware
> peripherals.
>
> well the AVR core in the FPGA is little modified
> 1 ROM is mapped to RAM space both read write
> 2 SBI/CBI are modified to be able to write Carry to IO port
>
> without [2] the code would be 56 instructions but still fit.
>
> this code bootstraps from file copied to FAT file system, using NoFAT
> (tm) method,
> SDHC is not supported
>
> I guess, without NoFAT, it might be possible to add SDHC support too,
> but then initial
> bootstrap would need to be in sector 0, what is possible but requires
> special SD card
> formatting tool
>
> Antti
> PS and yes, this just one bootstrap for the FPGA-AVR module with Actel
> PA3


Hi Antti
So, does this support Pgm-Select loading, and perhaps even a more
run-time dymamic loading ?

Seems like you have some spare space, so it's not finished yet

-jg
Reply With Quote
  #3 (permalink)  
Old 05-19-2009, 08:34 AM
Guest
 
Posts: n/a
Default Re: SD card bootstrap code in 55 instructions

On May 19, 1:01*am, -jg <[email protected]> wrote:
> On May 19, 4:04*am, Antti <[email protected]> wrote:
>
>
>
> > Hi

>
> > eh sometimes i just wanna shine, i guess
> > but well it was real nice seeing AVR code loaded and executed from SD
> > card
> > by bootstrap code in the 128 byte FlashROM of Actel FPGA

>
> > the complete SD card bootstrap code takes 55 AVR instructions (from 64
> > available)
> > ah, the SPI is FULL software bit bang, there is no SD related hardware
> > peripherals.

>
> > well the AVR core in the FPGA is little modified
> > 1 ROM is mapped to RAM space both read write
> > 2 SBI/CBI are modified to be able to write Carry to IO port

>
> > without [2] the code would be 56 instructions but still fit.

>
> > this code bootstraps from file copied to FAT file system, using NoFAT
> > (tm) method,
> > SDHC is not supported

>
> > I guess, without NoFAT, it might be possible to add SDHC support too,
> > but then initial
> > bootstrap would need to be in sector 0, what is possible but requires
> > special SD card
> > formatting tool

>
> > Antti
> > PS and yes, this just one bootstrap for the FPGA-AVR module with Actel
> > PA3

>
> Hi Antti
> So, does this support Pgm-Select loading, and perhaps even a more
> run-time dymamic loading ?
>
> Seems like you have some spare space, so it's not finished yet
>
> -jg


Hi Jim

the A3P060-AVR-FPGAMCU has
1Kbyte instruction ROM (RAM) directly read writeable

so it could load half of the ROM from SD card sector
at about 500K sec/second speed executing 500
different dynamically loaded routines per second

PA3 is flash based and can not change its config
so it is pretty much fixed setup

Antti
PS I forgot to mentio the 55 instr boostrap supports
microSD cards, not only SD cards, SD cards are
easier to support as SD spec says 2.1m thick
cards should support CMD1, while microSD cards do not.







Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
clock cycle per Instructions fazulu deen FPGA 1 12-05-2007 11:40 AM
number of operators in instructions [email protected] DSP 1 05-16-2007 07:54 PM
Re: can c++ code be loaded to a hardware PGA coprocessor card CTips FPGA 2 04-05-2005 11:12 AM
Spartan-3E and SPI Flash bootstrap Pablo Bleyer Kocik FPGA 4 03-02-2005 09:59 PM
Can FPGA bootstrap itself? Marius Vollmer FPGA 13 02-23-2004 03:49 PM


All times are GMT +1. The time now is 12:43 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved