FEZ Hydra - Custom Firmware Build

For those of you interested in a quick introduction to building and deploying the FEZ Hydra Firmware using GCC, I have just completed the final section of a step-by-step guide to achieve just this. You can find the guide on the wiki at the following location

If I have missed anything or you are aware of a better way to execute some of the steps please let me know or better yet, update the wiki with your insights.


This is great. We love seeing more users digging into the port and wgat you did really helps.

You make that look so easy. I’ve never dared to venture into that area before but I’d have no hesitation now. THANKS!

@ ianlee74 - I hope you find it useful. The next step for me is to actually add a fully fledged feature. I will take it in two steps

  1. Add a method to an existing class
  2. Add a completely new class

Once I get around to doing that I will do write-up on it.

If you’re looking for a project we could definitely use a SignalGenerator function on the OSHW boards :wink:

@ ianlee74 - I have seen you mention this before somewhere and I will probably make that the project. Thanks for the idea.

1 Like

Awesome! If you get it done (and I have no doubt that you can do it), then I’ll gladly hand over 5000 of my points to you if that’s possible…

If I may make a suggestion, instead of the current blocking implementation, it should be possible to send an array of timings over to the native side, and use a timer with output compare channel to implement it in a non-blocking way…

@ godefroi - That is exactly what I was thinking, in fact I am busy reading the docs for the Hydra’s ATMEL processor right now to workout how this can be done. If you have some sample code, that would be a great help.

Thank you taylorza!! This should get me started if I have some time :slight_smile:

Any reason why you picked Yagarto and not Keil f.e.?

@ WouterH - I use Keil for the DL40 development, but it is only the free version so it is limited to 32KB binary. Since this is purely a weekend hobby, the cost of buying a license can not be justified, though I would like to.

I don’t know what the Keil tools cost, but Crossworks by Rowley always get great reviews, and they have a $150 non-commercial license available.

Indeed, I forgot the free Keil was limited to 32KB.

Must say I could build it without any problem. Thanks for the build-guide-for-dummies :slight_smile:
(BTW: only 40 warnings)

One question though, how is GHI committing those delta changes? I’m used to mercurial and git, not to subversion. What if anyone wants to push changes he did in the C:\MicroFrameworkPK_v4_2 folder (without pushing all MS files)?

@ WouterH - That is great, I am glad it all worked!

With regard to how GHI are managing the changes, I cannot say as I do not know what they are using internally. Maybe they are not even using SVN internally.

Since the only code for the Hydra is the code on the FEZ_Hydra folder, you could just have the code in that folder and only export that one folder and upload to codeplex

Subversion has a few options, what I would probably do is have the MS stuff in a folder in the on premises repository (Porting KIT) and then have the port specific files in a separate folder (FEZ_Hydra) in the same repository and then configure the port specific files as externals in the Porting KIT folder. That way the two pieces of code are separate, but when you checkout the Porting KIT folder you get the port specific files included.

Not sure if that explains it very well, basically, use SVNs ability to have externals merge code from multiple SVN locations when doing a checkout/update.