Chris is the 4.2.2.2 firmware source posted? I think what is on the download page is for 4.2.2.1.
I likes to keep up-to-date....
![]() |
  | |||||||||||||
![]() |
|
![]() |
||||||||||||
The Netduino forums have been replaced by new forums at community.wildernesslabs.co.
This site has been preserved for archival purposes only
and the ability to make new accounts or posts has been turned off.
ziggurat29's ContentThere have been 241 items by ziggurat29 (Search limited from 15-July 24) #50016 Netduino Plus 2 Firmware v4.2.2 (update 2)
Chris is the 4.2.2.2 firmware source posted? I think what is on the download page is for 4.2.2.1. I likes to keep up-to-date.... #51050 Spark Core (TI CC3000) Porting for Super WiFI Mini?
oh cool, so you have a working system to compare against; that will be a helpful sanity check when diagnosing problems.
BTW, If you happen to see in your spi'ing, a case where an asynchronous event is reported before a command's return packet, let me know. the doc is not clear about whether that can or cannot happen. #51026 Spark Core (TI CC3000) Porting for Super WiFI Mini?
Haha, have phun hacking!
I'm very impressed you and hanzibal got a tcp stack and ethernet device driver working in managed on netmf. Thats a lot of work.
I'm somehow sceptical that you'll be able to get raw packets, but my understanding of this device is far from comprehensive, so don't take my word for it. (I think it's whole raison detre is to present a high-level berkeley sockets-esque api, so that's why I'm doubtful about that). But no matter, it will make the job 'easier' to not have to fiddle with windows, retries, mtu, congestion control, etc. Oh wait, you already did that. Nevermind!
The managed implementation is especially worthwhile if you make a shield based this device, because then you can add it onto some existing platform. It is a small wonder to me that shield vendors do not supply rich, robust, support software, but perhaps that's due to the dynamic of this DIY market. Still, it seems a fertile ground for an enterprising person to produce a cc3000-based shield, supply excellent support software, and just beat the pants off all the current alternatives. (well lasting until at least the next person makes a cc3000 board, and tells folks to download your free support software, haha, but that's part of how this market works. then you have to differentiate a different way.)
I suspect that they won't change the firmware and hardware in a way that would break your implementation. That would be bad business. Maybe they would come out with a new device, shipping both, then obsolescing this one. But its a moderately new part. #51017 Spark Core (TI CC3000) Porting for Super WiFI Mini?
Sure, why not? My plans (up to this point) were: * prove hardware interface (done) * prove SPI communications (done, I believe) * first make a managed code 'driver' * then make a native code integration with the firmware So, two 'products' come out, one managed, and one native. I want to do the managed version first because I believe it will be easier to experiment and debug in that context, and should cement my understanding of the part (the documentation is stunningly poor), and because I think it is a useful end in it's own right. Once I have a thorough understanding of the device, then for the firmware it's a separate exercise to plan the integration, ostensibly replacing lwip (or maybe they can coexist, but I need to get into netmf's networking code to see what that means, since you'd effectively be making a multihomed system).
What I have right now, such as it is, is really exploratory code with no design to speak of, so it would be an embarrassment for me to post it. If you really need it, I can douche out my more spirited comments and send it to you PM or something, but really I can sum it up this way:
Electrical: using NP2 D13 - sck D12 - miso D11 - mosi D6 - /IRQ D5 - PWREN D4 - /CS 3.3v - pwr * GND - no 'earth'ly idea
* this will have to change soon as I start doing radio stuff; too much load
I am manually managing /CS and monitoring /IRQ for now -- maybe forever. The SPI transactions often have to be done in two parts, and /IRQ is irksome in that it has mixed duty and doesn't seem useful to use it as an interrupt source, at least not so far, and anyway it gives me the feel of being level-sensitive and that's not supported on the NP2, but I'm not sure.
Software:
things: SPI cc3000; //I spi something that begins with the letter 'cc' OutputPort cs; //active low OutputPort pwren; //active high //InterruptPort irq; //interrupt; active low InputPort irq; //YYY I'm going to poll this for now until I understand this device better config: //make our spi (mode 1) cc3000 = new SPI(new SPI.Configuration( Pins.GPIO_NONE, // SS-pin (we will manually do it) false, // SS-pin active state (low) 0, // The setup time for the SS port YYY 50 uSec 0, // The hold time for the SS port false, // The idle state of the clock (low) false, // The sampling clock edge (trailing) 1000, // The SPI clock rate in KHz SPI_Devices.SPI1)); // The used SPI bus (refers to a MOSI MISO and SCLK pinset) //make our (manually controlled) cs (active low) cs = new OutputPort(Pins.GPIO_PIN_D4, true); //make our power control (active high) pwren = new OutputPort(Pins.GPIO_PIN_D5, false); //make our interrupt input (active low) //XXX holding off on this until I understand the device better //irq = new InterruptPort(Pins.GPIO_PIN_D6, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLow); irq = new InputPort(Pins.GPIO_PIN_D6, false, Port.ResistorMode.Disabled); //power up pwren.Write(true);
the spi clock speed was chosen semi arbitrarily, to make debugging with the scope easier. Side note: specifying 1000 KHz actually gave me a clock of 640 KHz. I measured. Maybe a Gates reference joke -- 'who will ever need more than 640K'? anyway....
action:
The SPI transactions are mostly normal. 'Mostly', because: * the first one only after powerup requires a 50usec pause after the 4th byte before continuing. seems like a workaround for device bug. I do this by two sequential WriteRead operations. netmf is slow enough that you don't have to use any delay code, and you get about 84 us delay. happily there doesn't appear to be a max delay. * the reads involve retrieving a length of the variably sized payload that follows, so you need to do those transactions in two phases also.
goofy first write (also this required to be a 'link start' command):
//wait for the signal that its ready //XXX III support a timeout while (irq.Read()){} begin(); //assert cs and (redundantly) wait for irq //delay(50usec); //goofy first write has a little pause after the first busy bit before moving on with the rest cc3000.WriteRead(pktLinkStart, 0, 4, null, 0, 0, 0); //delay(50usec); //and then the rest of it cc3000.WriteRead(pktLinkStart, 4, 6, null, 0, 0, 0); end(); //negate cs reading is a little interesting in that you must retrieve the length, and then complete the reading:
//wait for the signal that its ready //XXX III support a timeout while (irq.Read()) { } begin(); //assert cs and (redundantly) wait for irq //write header and read the length bytes cc3000.WriteRead(pktReadHeader, 0, 5, pktReadPayloadLen, 0, 2, 3); //make length into a number; header is big endian. other things are little. int nPayloadLen = ( pktReadPayloadLen[0] << 8 ) | pktReadPayloadLen[1]; if (0 != nPayloadLen) { byte[] pktBogoWrite = new byte[1]; //dummy //read payload //XXX sanity check on length byte[] pktReadPayload = new byte[nPayloadLen]; cc3000.WriteRead(pktBogoWrite, 0, 1, pktReadPayload, 0, nPayloadLen, 0); //XXX III 'spatchy } end(); //negate cs OK looks like I did wind up posting most of what I did so far, haha!
Some things:
* a healthy level of distrust of the documentation is worthwhile. For instance, they contradict themselves in what is the spi mode to use. It is spi mode 1. * you can tell that different engineering teams worked on this, not necessarily in concert for whatever reason. For instance, some values are big endian, and others are little endian, so watch for that. * the 5 byte header I would probably re-phrase as: * unsigned char byDir; //1 = write, 3 = read; from the spi master perspective * unsigned short sWriteLen; //little-endian; when op=1, master indicates payload length; otherwise zero * unsigned short wReadLen; //little-endian; when op=3, slave indicates payload length; otherwise zero
I think this covers most of the SPI; I still need to get a handle on whether there is more /IRQ consideration since the doc claims it serves some double duty, and that there is collision resolution to be performed.
Beyond that, I planned to do some reading in the light of my newfound knowledge, before I do much more coding. There's something called 'patches' which are not really clear to me if I care about, and they use the term 'event' which I think really means 'return value' and 'asynchronous notification'.
On the plus side, it looks like the part is what I would describe as: * SPI-based RPC mechanism to Berkeley sockets, with some added stuff as needed (e.g. setting mac, wifi keys, etc).
So I think it should be straightforward to implement an API even on the managed side that very closely resembles the existing network api, and possibly on the native side to mesh with what exists there as well. Hope springs eternal! #50989 Spark Core (TI CC3000) Porting for Super WiFI Mini?
well, at least you can have the chicken for dinner. and zombie parrots are quite the thing I hear, but careful of the bite.
I did read that the boards are very un 5v friendly, so you may indeed be hosed.
Yes, that is the board I am using. Didn't know there was a newer one, and digikey didn't have any advice, but it was kinda spendy anyway. I probably should have taking your pin route (on the breadboard); I make a 'conventional' upward facing header that I could use the ever-popular-and-formerly-scorned-by-myself-but-now-I-am-a-convert jumper wires with female ends, so I could simply plug them into my NP2, but then I can't connect probes at the same time, so I had to solder additional free leads to probe with. Would have been better your way on a breadboard!
Anyway, I'll give it just a couple more hours, then I have to go back to my regularly scheduled work for the rest of the week, alas... #50991 Spark Core (TI CC3000) Porting for Super WiFI Mini?
Well, stop your grinnin' and drop your linen, it responded back to my kookily-crafted initial packet in a cogent way. Now I will have to Shake a Leg, haha. #51083 Spark Core (TI CC3000) Porting for Super WiFI Mini?
yes, moisture can absorb into the epoxy, potentially causing issues in reflow oven, so they recommend baking to drive it back out if it becomes 'moist' (i think physical distortion during the process, but I can't recall precisely). important if you're wondering why your yields are lower than expected when making a zillion units, but if you're prototyping, you're probably more suspicious of your manual soldering; at least I always am haha. #51115 Spark Core (TI CC3000) Porting for Super WiFI Mini?
your mention (hanzibal) of the .6 dip header reminded me of something: The width of the cc3000 is such that the pins would be under the edges of the unit; since the sparkcore photo shows the pins will to the side of the radio module, then I suspect that it is not a standard DIP footprint, that it is two rows of pin headers on a .7 or maybe even .8 width. well I'll be back in town in a few days. we'll see if any coding work is left for me to do.... #51209 Spark Core (TI CC3000) Porting for Super WiFI Mini?
we've got functioning dev boards and plenty of coding work to do. Have fun on holiday (well, if it is holiday; 'good luck' if it's business) #51206 Spark Core (TI CC3000) Porting for Super WiFI Mini?
Sweet Jesus! That's great valkyrie; if you want, go ahead and put it on the codeplex; it probably would be messy to shuffle intermediate builds back and forth as forum attachments, and possibly confusing for someone who wants to download it. I've not used the codeplex, but I imagine it is similar to all the other hosted scm, but with a dotnet focus. I look forward to checking it out!
Hanzibal, I'd love to see your board layout when your ready to share (and if you're open to possibly annoying but respetful feedback). Maybe even you could stick your eagles in a directory in the hypothetical hosted scm? #51137 Spark Core (TI CC3000) Porting for Super WiFI Mini?
politics? never. you got me beat this time on the reference joke, though!
But the ancient dusty frustum of a pyramid numbered 3^3 + 3 - 3/3 will give it a rest until the day of the moon.... #51128 Spark Core (TI CC3000) Porting for Super WiFI Mini?
Only comments I can add (for what they're worth) to Baxter's statement are: * LDO; low dropout from what input? If it's a big enough difference, like 5 > 3.3., maybe ldo is not needed? or maybe my bar for low is high? haha * it seems there are two potential hardware realizations:] 1) a DIP form factor, with a premium on size/shape 2) a shield form factor, with a premium on electrical compatibility (3.3/5v) (and also a form factor, but that's easy to achieve, but please do support the v3 pinout)
'2' speaks for itself, I think, and you'd probably be just fine using the Vin pin without needed a barrel connector. Or if you really want to, use the Vin, and support an unpopulated barrel connector that can be selected via jumper or probably even solder bridge, because I suspect that the need for external versus using Vin is rare.
'1' maybe bears more discussion. I do personally put a premium on the 0.6" spacing, and similarly on a 24/28/40 pin layout. Also, I am not a mini user, so I'm naive to that market. But... Secret Labs' made a conscientious choice in designing the mini to be BASICStamp compatible (much as the netduinii are arduino compatible), ostensibly because this makes them more marketable by being able to leverage the existing community. I think this has definitely worked with the 'duino' line -- can't say about mini because I'm unfamiliar. Maybe what folks want more is 'small' rather than 'basicstamp compatible'. In which case, I'd argue to make a 40-pin factor, with whatever pinout gives the strongest capability.
Lastly, out of respect for our host, Secret Labs is a hardware company. They don't make anything off the software at all. The software is free, and open (happily), and exists to support their hardware sales. So, personally I feel a little awkward about discussing too much the notion of making alternative hardware in this forum, unless it's in the context of 'if you build this, we will come'. Everything discussed up to this point has been completely open, but I mention this now really just to be explicit and clear. #50984 Spark Core (TI CC3000) Porting for Super WiFI Mini?
blick. and how weird, because that pin is indeed a 3.3v digital input. Maybe if you wave a dead chicken over it, and say a prayer, it will come back? Occasionally incense helps, also.
Then maybe that's why mine won't speak back to me? Now I must break out the oscope (and figure out a way to hook to my crazy modded pin header). (now I wish I had a logic analyzer!) (maybe this will finally make me use that bus pirate I got ages ago)
Unrelated, but I got a 'product obsolete' notice on this eval board (296-30564-ND), with no replacement suggestion. Not the module itself mind you but the board. Don't know what that means or if it is news you can use.... #50950 Spark Core (TI CC3000) Porting for Super WiFI Mini?
your radio or host board? I've flicked pwr_en high and low just fine, so maybe double check the wiring, maybe it's OK!
OMG I am not sure if I have seen a more poorly documented device. Does TI actually make this, or resell it?
Sounds like you guys with the TI eval boards are moving ahead with the 'stock' code to make it do something interesting. I'm going to continue to plow through the hard and stony soil of non-docs in hopes of finding some rich volcanic earth beneath. Or maybe only bedrock.... #50698 Spark Core (TI CC3000) Porting for Super WiFI Mini?
hmm, could be usable for development at least. won't win any 'sexy dev board of the month' contests, but hey its a dev board.
I was needing software info, but I found these two that should give me enough reading for today: http://processors.wi...Interface_(SPI) at the outset it might be too much for a managed 'driver'. well maybe. maybe not! I say this only because its' interrupt driven and I was concerned about latency, but then if it's handling the network stack, then it is also handling acks and retries so the host may be able to be more leisurely about servicing requests.
well the current mini uses a 64-pin package does it not? anyway I know the various ghi boards in dip form factors do, so it should be doable from a layout perspective.
OK well hmm I may have to carve out some time this summer. I am currently distracted trying to port an RTOS to the NP2, and ultimately port netmf on top of the RTOS, but that could take a while (if it even works out), and I may need a distraction from my distraction. Plus, this wifi capability is germane to some paid work I'm doing, so maybe I can fold it in that way....
Thanks for the links!
-dave ps hanzibal, I have been meaning to do your oscilloscope art, but I haven't been able to get to it yet, haha ps baxter, I have always been envious of your avatar -- it reminds me of Lord Melchett from Blackadder, and consequently when I read your posts it is always in that character's voice, haha #50683 Spark Core (TI CC3000) Porting for Super WiFI Mini?
that stm32 has 128k flash, and 20k ram, and apparently netmf needs 256/64 min: http://en.wikipedia....Micro_Framework pity that they couldn't have splurged another $3 for an F415 (well the package is bigger, but for a dev board why not have more power?)
Have to look at that wifi module though, a good bit cheaper than the roving networks ones... #50716 Spark Core (TI CC3000) Porting for Super WiFI Mini?
OK, well it will probably a a couple weeks before I can fiddle with it. Too bad centerblack doesn't have spares of his breakout board, I'd rather than than the gauche TI dev board, but I did order one. Digikey thanks you, at least; haha. #50690 Spark Core (TI CC3000) Porting for Super WiFI Mini?
well, if the goal is 'use the spark core' then you probably are out-of-luck for netmf directly, as you point out. but if the goal is 'make a new hardware', then it should be easier, because you can put in a better processor. the package of the 415 is 64 pin, and spark core's is 48, so you might have some placement challenges, but I think the mini is already using a 64 pin device, so it should be doable.
if you talk to it through a uart, that kinda loses the benefit of spi, right? I haven't looked at the datasheet, but now I'm curious about the difficulty you mention. From the outside, it looked like it presented a high-level interface to networking; i.e. it has its own tcp/ip stack, and works similar to how many of the shields work. In a way this might make integraiton easier. Well let me rephrase that; it would make integration easier except for the fact that lwip/enc38j60 is already integrated, and what can be easier that work already done? So it requires positive, non-zero, effort, but probably would reduce the code footprint a bunch.
Hmm. now I'm curious. I wonder if someone has a cc3000 on a breakout board.... I don't know how digikey is selling them for 12.50 when others (e.g. mouser) are selling them for about double that. Maybe they have a special deal with ti... #50768 Spark Core (TI CC3000) Porting for Super WiFI Mini?
let us know how it goes; I could have had 2.5 for the price of 1 relative to the behemoth TI board I got! Maybe I should get a couple myself.... EDIT: my eval board arrived, so maybe 3-4 days from now I can carve out some time to at least solder on some pin headers and try out the SPI a little. EDIT2: well, the existing holes for headers are not on .1" pitch for common snappable headers; blick. well, I suppose I can jury-rig something, I only need 8 points, I think... #50895 Spark Core (TI CC3000) Porting for Super WiFI Mini?
well I soldered on some pin headers ('custom made' since they are on an unusual 2mm pitch). we'll see if I can get something to go over the spi; maybe there's a 'version' command or something similar.... #48354 Need for a good GSM/SMS/GPRS Library
Curious, what module/shield are you using?
I did a SIM900 interface recently, but it was contract work, so I can't post source right now without explicit permission from my client (I did talk to them already about posting non-core-ip source, and they were receptive, but I haven't made actually doing it a priority yet since I'm still pretty busy in pilot). If you want to forge ahead in advance of the coming of that day, here at least are my experiences with it. Shortest story: SIM900 works, but is quite quirky!
OK, first, let me say that I was focused on the TCP client feature, and I did not do SMS. My application supports wired ethernet (on the NP2), and also TCP/IP connectivity over the SIM900 module, (and some other communications channels I won't mention since they are off topic). Truthfully, I think SMS is easier than TCPIP since it's oriented towards short, atomic, messages, rather than a stream, but much of what follows will still be relevant.
The SIM900 has an /embedded/ TCP/IP stack that exposes connection functionality via ancient-style Hayes modem-y AT commands. You don't get to do tcpip proper, but rather you squirt chunklets of data back and forth via AT commands. This has some challenges:
while ( keepOnKeepinOn ){ try { initModemStuff(); //setting all the registers/options/whatnot doAllModemyStuffs(); //actually pumping data teardownModemStuff(); //down, you go! } catch ( ModemBooBoo e ) { log ( e ); //Maybe Sleep() a bit before recycling around }} ? (^^ sorry, can't make this look right. looks correct while editing; at least its super short)
In this way you can have something functional, yet robust against errors, right away, and then you refine the error handling as a separate task (e.g. maybe you don't need to throw, but can adapt to the condition).
This scheme functionally resembles the DataReceived approach, so I was able to shim it in without disrupting the rest of the design. In fact, since it is a fundamental problem with the com port, and because I use three com ports, I factored this out, and made a virtual method for the 'DataReceived'. Then it really looked a lot like the dotnet mechanism.
So, once you have all that framework in place, you can just crank out all the AT commands you want with relative ease, since you're now working at a higher level of abstraction (completed text lines and chunks of channel data). This is also why I said that adding SMS will be easy; it's just another AT command.
OK, hardware quirks. The particulars will depend on the module/shield you are using, but in my case:
OK, GPRS quirks:
Your wireless provider will tell you what it is. I don't know why they don't just put it on their web site -- its not a security issue because its not actually a DNS name and you have to have a valid SIM card to use it, but there it is. Save yourself hours of trouble and just ask support immediately what the APN you need is.
that way the board is self-initializing.
So my modem init sequence looks like this:
Now you're ready to make connections! You make a connection by supplying host and port number, and a connection slot number. As mentioned, the SIM900 will support 8 connections 0-7, but since the first connection is special, I use connection 1-7. The first is special in that it is the only one that can support server functionality. So if you make a client connection on 0, you can forget about server. You establish the connection with AT+CIPSTART. Internally, if successful, I immediately also issue a AT+CIPSEND? to update the connection max length values.
Now you can finally do useful things with your emulated socket Send() and Recv() (and Poll(), isConnected(), etc).
My teardown does:
Oh, one last thing worth mentioning. Your connected modem will probably NOT be internet reachable. You get a non-routeable address like 10.x.x.x. If you need your units to take inbound requests, you will need to either:
Oh, one last last thing:
Hope that is of some use!
-dave #48571 Need for a good GSM/SMS/GPRS Library
unknown, however the stuff above arises mostly from the fact that these modules are effectively 'systems-on-the-side' of the *duino, and communicate via a high-level application protocol rather than a low-level driver protocol. I just took a look at the Spread Spectrum SM5100B module and it has an eerily similar AT command set for performing the TCP/IP stuff (for some reason I thought the SIM900 commands were their own proprietary creation).
On the plus side, maybe, I think the TCP/IP stuff was the most complex on the module's features (well, maybe except for Server mode, which I haven't yet implemented). But there's still a fair amount of AT commands that are needed to be issued just to get it up on the network and ready to do what you wanted.
On the other plus side, once you have bit the bullet and made a library that is robust, then you can use the module with relative ease.
The modem-style AT command approach is established practice and indeed much of the command set is derived from the GSM standards, and it's probably a great boon to the 8-bit folks. But if I were a module designer, I think I would have preferred to expose an SPI interface to IP-level functions, and have the module integrate more-or-less transparently into the existing TCPIP stack. Then your app could use sockets like anything else (you'd still need to do some stuff somehow to get the radio up and on GPRS beforehand, but please no AT commands).
-dave #42444 Netduino Plus 2 Firmware source
yay, jtag pods and micro 10pin adapters and pin headers and soldering has happened. and I downloaded, installed, configured, and ran OpenOCD and can connect to it. Because I don't know gdb natively, I also installed Eclipse, the CDT, and am configuring that. There is no 'elf' output file from the build (that I can see), so I have to think about that some more.... Edit: looks like the AXF file is in fact, an elf file. cuz we need more filename extensions, I suppose. Anyway, at length I have debugged past the boot loader, into the tinyclr, and fairly early in the process it goes off the rails with an illegal instruction. At present it looks like the PrepareImageRegions is where the fault is stimulated, so I need to look at that some more... Edit2: I discovered that the stack was smashed during Prepare_Zero; I disassembled the stock firmware for comparison and discovered some erroneous constants stemming from scatterfile errors. I corrected those and got past that crash, but have happened upon another one in HAL_Initialize(), so the process continues. This time it seems to happen at ENABLE_INTERRUPTS(), and interestingly doesn't happen when I single-step, only when I 'continue' through it, so maybe some interrupt aspect is wrong... Edit3: I discovered a couple more scatterfile problems involving placement of the interrupt vectors and the 'custom heap', I am still trapping, however I notice a curiosity: In the disassembled firmware, the vector addresses are odd, and in the built firmware, they are even. Looking in the armarm (for v7m) I see that the low bit MUST be set, so I am really curious as to why this is not being done for the gcc build; almost like an arm/thumb problem. Edit4: Well, I got it to the point that I can connect with the MF Deployment tool, and ping, and get Device Capabilities, so it's getting there. However PlugIn Debug Show Device Info faults, so still more work to do. I also wish there was a comprehensive test app so that I can get some code coverage, to weed out any other faults. I'm still distressed about the item described in Edit3, which I worked-around in the interim by explicitly setting the low bit, but I'm sure that's not the 'correct' fix. #43550 Netduino Plus 2 Firmware source
can't say for sure about your vs2010 problems going back-and-forth because I havne't tried yet. My only guess at a suggestion (if it's not immediately obvious) would be do remove the .netmfqfe2 sdk, and the netduino sdk, and install the versions of qfe1 (and for the netduino 4.2.1, which is qfe1 based). But maybe that's overkill.
I did not complete the eclipse setup of jtag because I was having initial problems with my openocd config so I needed to get closer to the wire to reduce the number of variables. Once I got there, I just plugged along with gdb. You're welcome to the config and a couple batches I used to setup, if interested. I might go back to trying to configure Eclipse at some point, because automating the gdb is certainly nice.
I don't remember needing to join a forum to download openocd, though. I might have gotten a build off of freddie chopin's site. It was named openocd-0.6.1.zip. The binaries worked fine for me, and I just made a board script (which really was just copied from the existing stm32f4discovery.cfg) #41218 Netduino Plus 2 Firmware source
I'm using the 4.7.2 yagarto toolchain, but I can't complete the build right now because of function signature mismatch in
CLR_RT_HeapCluster.cpp for HeapCluster_Initialize It appears that TinyCLR_Runtime.h and also Execution.cpp in the source are oriented towards an older version of .netmf where HeapCluster_Initialize() took one parameter, instead of two as in the 4.2QFE2 version. It's not yet obvious to me how to correct it myself properly, but then I haven't spent any time on it yet. But otherwise there was about nine minutes of compiling happening, so thats a start. -dave
| ||||||||||||||
![]() |
||||||||||||||
![]() |
|
![]() |
||||||||||||
![]() |
This webpage is licensed under a Creative Commons Attribution-ShareAlike License. | ![]() |
||||||||||||
![]() |