New toys for the boys

Now who mentioned that again we can’t have nice USB names again ?

3 Likes

Oh, you might wonder were this is leading to …

9 Likes

Nice :slight_smile:

Your training is now complete my young Padawan - the pupil becomes the Master…

I can now safely retire to the wilderness as the STM cult has a new Grand Poobah :smiley:

1 Like

I so want to be able to build NETMF like this.

Are there any websites somewhere with all of the process needed to get started with this?

I vote that this website, and perhaps even this thread, is the place. @ .Peter. this is your time to pay it forward :slight_smile:

I’ve been wondering about this myself.

@ .Peter. - Wow Peter that is good news. You are laying down the ground work for the netmf army! Give us some more details if you have time.

ps. got my LoRaOne today. :slight_smile:

1 Like

This is all made by open source guys. Toolchain - GCC541 but is doable using MDK as well. It is actually so ‘simple’ I could even do it …

It’s out there, look for yourself @ GitHub - NETMF/netmf-interpreter: .NET Micro Framework Interpreter

For instructions and more info look @ Getting Started · NETMF/netmf-interpreter Wiki · GitHub

Basic steps:

[ol]Setup your environment (as per wiki)
Get the repo
Copy a solution target model closest to your required solution
Modify the sources. Renames, platform, scatter, block range definition files
For me worked best to try TinyBooter first and then TinyClr, but that’s to one’s liking[/ol]
Or ask for and discuss further details in the gitter room.

@ .Peter. - I recently also compiled NETMF v4.4 with the gcc compiler. I originally used the same version that you stated (5.4.1) and it compiled the first time, but it did not produce code that I could download to a 429 Discovery board. I switched to gcc v4.9.3 and the compiled the first time and I was able to update the board. Did you have to do anything special in order to get workable code using the 5.4.1 compiler? Maybe some compiler settings??

@ munderhill - There were some changes the last days, maybe the problem is solved by those. I had a previous commit (begin of July) and had to tailor some settings to get the GCC541 compiling at all. I ran into a compile stop not a deploy issue, I didn’t even get that far. The floating point setting in one of the projects needs to be made active and some compiler undefined end symbol in _sbrk function. That hat to be added to the scatter missing symbols file. I don’t know if that has been covered by the latest dev branch commits.

When I get to it later, i’ll try the latest repo and see where it leads me …

I tried all of this and it worked up to the point of calling msbuild and then I get an error saying that this command is not recognised.

Am I missing a setup somewhere for this command?

@ Dave - I suggest we meet at the gitter room, that’s more of a direct chat as a forum. It a better way of communication for this to be solved.

[url]NETMF/netmf-interpreter - Gitter

OK ?

Done.

@ .Peter. - Would list here all the files that you modified and what the specific changes were?

@ munderhill - I’ve downloaded the latest netmf repo as per last Friday 14:08. Changed one file for the 429er solution as described in [url]https://github.com/NETMF/netmf-interpreter/pull/495/files[/url]

I could build TinyBooter and TinyClr, flash them and admire the results on a STM32F429IDISCOVERY, the thing I’m missing is the external 64-Mbit SDRAM. I suspect the RAM as in the picture is not at an optimum either. Should be not much less than the on-board 256 K …

@ .Peter. : with 139KB, you are not far from the maximum, I think. With a bare firmware, without Windows Devices and a heap base address as low as possible (0x20007000 in my case), I can get 146KB free. Which I think is somewhere near the maximum we could get (without the external SDRAM, of course). See attached picture.

In fact, the 256KB includes 64KB of CCM which are used by the stack, so there are only 192KB left for us. On those, core and CLR will eat up roughly 26KB + a 4KB Custom heap (default setting). All in all, I think it can be “safely” rounded to 32KB.
You have now 160KB maximum left.

Add in your managed code and you will end up with something roughly around 140KB free.

I think we could get better with 4.3.1 but I will need to check this, however. I am not 100% sure. The Vector table comes in mind, here.

@ .Peter. - I’ve got NETMF v4.4 compiling under gcc 5.4.1 now, Thanks!!! Memory is still low (~74k) but I have not done anything about it yet. Just happy that if compiles and installs! :dance:

2 Likes

@ munderhill - Nice you got it working.

Stil missing is the 64 mbit and I got an zero return on spi ports. Some stub project include needs to be changed into a real spi piece of code. Read about it @ [url]https://github.com/NETMF/netmf-interpreter/issues/502[/url]

@ .Peter. - yes, it’s the IoT Labs Mercury mainboard based on a STM32F427 chip, so I had to change the clock frequency too.

@ munderhill - for a memory change you have to at least adopt the following files accordingly, when compiling with gcc:

[ul]platform_selector.h
scatterfile_bootloader_gcc.xml
scatterfile_tinyclr_gcc.xml
stm32f4_blconfig.cpp (flash changes)[/ul]

A quick look at the memory map in the datasheet and reference manual wouldn’t hurt.