Shop OBEX P1 Docs P2 Docs Learn Events
Fast Spin exeucition: a Verilog coding challenge - Page 2 — Parallax Forums

Fast Spin exeucition: a Verilog coding challenge

2»

Comments

  • David BetzDavid Betz Posts: 14,511
    edited 2015-03-31 18:49
    jmg wrote: »
    Do you have figures for Size of Stub loader, and target Baud rates of accelerated link ?
    I was thinking of including the stub-loader, in the local MCU firmware, to also allow faster SPI links, but it could be sent from the PC host. Not sure yet on putting in a SPI page, or inside MCU - hence the minimal-size questions.
    To keep code size down, I'm the 3b stub-coding will be done on Host (but that does bump the stub-storage needed locally)
    You'll have to ask Jeff Martin about the details in his loader. Actually, propeller-load uses a two-stage loader for XMM.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-04-01 01:30
    jmg wrote: »
    Thanks - I was hoping for something compact and fast.

    Just musing over ways to boost the 'interactive' side of Prop use, and I have a small MCU with blocks capable of 3-4 MBd links, and 8~12MBd into SPI memory..

    So one idea was a two step loader, targeting Props with crystals (= vast majority) by first a minimal, compact load of a faster loader, then Baud flips from 115200, >> 1MBd and 3 bit load flips to 8b load & real code loads.
    I figure gains of 25~70x in data path speeds are possible.


    Makes sense that fast path, is also used for debug , & the flow is very similar to a Debug.
    Maybe I am not understanding your question properly. The debugger uses quite a bit of hub because it decodes the spin and pasm code (using spin).

    But to just load my faster spin is quite short - just the spin interpreter and vector table, and a tiny stub to patch the existing spin loader.
  • jmgjmg Posts: 15,148
    edited 2015-04-01 02:59
    Cluso99 wrote: »
    ... and a tiny stub to patch the existing spin loader.
    It is the tiny stub secondary loader that I am after the size of, but I'm not sure you use a 2 stage loader.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-04-01 23:22
    I have just been looking over my version of the interpreter. There could be some significant improvement by implementing some special support instructions for the interpreter. Particularly the push and pop instructions, the jmp and call instructions, expansion of the constants, and some others.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-04-01 23:26
    jmg,
    I am not sure what you are trying to do.
    Are you referring to just the interpreter and how I invoke it, or are you referring to the debugger???
    BTW I did this 7 years ago so I am a bit rusty ;)
  • jmgjmg Posts: 15,148
    edited 2015-04-02 02:05
    Cluso99 wrote: »
    jmg,
    I am not sure what you are trying to do.
    The idea is a small MCU as a speed-loader, so it first copies a minimal stub, via Serial @ 115200, then, flips gear and loads the real code, at (much) higher speed. It is the size and speed of the minimal stub I am after.
    Bauds as high as 6 or 8 MBd are possible in the Peripherals, but a quick test I just did of the vendors default library sustains ~1.4MBd half duplex. I'm sure that can be improved.
Sign In or Register to comment.