| Freescale MC13224 Review | | Print | |
| Akiba |
Re:Freescale MC13224 Review
Feb 11 2009 23:17:26 Thanks for the update on the MC13224. When they say "manually copy the files out of the codebase and make all the changes to configure the stack (old school)", do they mean that the source code is available and we need to manually re-compile it using a GCC-ARM EABI variant?
One of the main issues with requiring IAR as a design tool is that the $5k investment is out of reach of most of the hobbyist/enthusiast/academic developers. Although most companies laugh at this market, they are usually the early adopters and provide feedback on blogs and newsgroups that is used by the engineers at the big companies to evaluate different chip choices. It's always been a frustration of mine that big companies never see this. By the way, thanks for the link to the CEL module. Looks like the first one out that supports the MC13224. If its possible to bypass Freescale's built-in MAC software and use my own MAC, then I'm interested to check it out. Using GCC of course |
#457 |
| spazvt |
Re:Freescale MC13224 Review
Feb 11 2009 23:24:14 I believe Freescale's policy is that they make the SMAC source code open, but only provide object files/libraries for the 802.15.4 MAC and BeeStack. If we can find the source, great, but I'm assuming it's other files being referred to.
Good reference describing the different flavors that Freescale offers: http://www.freescale.com/files/rf_if/doc/app_note/AN3403.pdf?fsrch=1 |
#458 |
| Mads |
Re:Freescale MC13224 Review
Feb 17 2009 09:21:06 Hi,
If you examine the FSL dev kits you will see that you get a free 32 KB version of IAR with the kit. this is plenty for 802.15.4 MAC development as the MAC is in rom and more than pleny for the SMAC as it is very small. so you do not have to buy a license. (other than that the license is actually not 5K but less - you can get the biggest kit for that price) br, Mads |
#471 |
| Akiba |
Re:Freescale MC13224 Review
Feb 17 2009 09:41:55 Hi Mads.
Any idea if Freescale will ever come out with a GCC port of their Beestack? |
#472 |
| Mads |
Re:Freescale MC13224 Review
Feb 20 2009 10:36:25 Hi,
You would have to ask Freescale that question. But i doubt that you will see big coorporations support such compilers due to support reasons. the IAR compilers used by both Freescale and TI are supported and if you got issues you have a place to turn to for support, which is not garanteed with gcc. other than that you got the hole license issue of mixing open source with closed source br, Mads |
#489 |
| Akiba |
Re:Freescale MC13224 Review
Feb 20 2009 14:27:56 Okay. Just wanted to check, since the IAR compiler is out of range of most of the hobbyist/enthusiast community.
Just as an FYI, GCC has no open source implications on the final compiled binary. Its just that if the libraries were able to be compiled with GCC, it would make it easier for individuals to try out BeeStack as well. |
#490 |
| Umberto |
Re:Freescale MC13224 Review
Feb 28 2009 18:13:36 It would be interesting to know which kind of issues could arise with a compiler. Typically problems related to a misunderstanding of C language, compilation process and compiler options.
The company where I work is a DAP for Freescale and received some samples of MC13224V since July. I must admit that making that platform to work with GCC is becoming harder day after day. We are trying to make it work as a bare-metal system, without any use of the embedded ROM and BeeKit libraries: there is a lot of work to do! We succeeded into starting the platform and making some leds flashing. It would have been very nice to completely use the on-board drivers for all the modules, but we did not succeed in linking BeeKit-IAR libraries with Codesourcery-GCC. Next step is to make that silicon to be managed by Contiki. At the end of the roadmap, the user could choose between (Sics)6LoWPAN and/or FreakZ! |
#505 |
| Akiba |
Re:Freescale MC13224 Review
Mar 09 2009 03:32:52 I would agree that GCC is a better way to go simply because the audience is bigger. The code size and performance differences between GCC and IAR, at least for ARM, are either negligible or very small. However I think the most companies aren't too concerned with catering to the hacker and hobbyist markets that surround GCC. They usually have the opinion that any serious company would purchase IAR if they were going to make a product.
From my experience in sales, it's actually the opposite. At the crucial stages where the decision on chip and platform is first made by the engineers (contrary to popular belief, the decision is not made by managers), being able to use GCC is a big plus because the engineers can compile and test the libraries immediately. Otherwise, the engineers need to fill out additional paperwork for a purchase req for the compiler. And you all know how engineers love paperwork and bureaucracy. This has killed many projects that I have seen. |
#517 |
| Chris Herzog |
Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Mar 16 2009 21:41:30 It is possible to link the Freescale supplied ABI with GCC generated code but changes to the linker are needed. The relocation formats used are not compatible with the GCC linker out of the box. We've made the changes needed and fed them back to the Code Sorcery folks - we can make them available if someone else wants them as well.
To date, we've experienced much better code density with the IAR compiler compared to GCC - we've spent some time looking into various options to improve this but there no obvious low hanging fruit; more a lot of small things that need to be tried and evaluated. It'd be nice because saving money on dev tools appeals to everyone but in the end; time is money and getting something done faster and smaller has real value as well... Chris Herzog [email protected] |
#527 |
| Umberto |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Mar 17 2009 09:00:49 Obviously, it would be very interesting to have those patches, in order to compiler IAR-BeeKit libraries with GCC.
I think that the core of this thread is more philosophical than practical. The code size - sometimes - depends on how you write code and on the knowledge of the platform and the optimizations the compiler uses. It is straightforward that using opensource tools can be awkward and could make code to grew of some kilobytes; but at the end, I think it is strictly related to what you consider the real value of a company: development tools (and speed-up in creating new solutions) or people working on that solutions. |
#528 |
| Akiba |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Mar 17 2009 11:53:02 On one hand, IAR's ARM compiler can actually produce tighter compiled code. However especially for ARM architectures, GCC is the weapon of choice. By forsaking this compiler, you're making it very difficult for the majority of the ARM users to evaluate the stack, and in my opinion, shooting yourself in the foot.
Even though IAR can produce tighter code, saving a couple of kilobytes doesn't matter in many ARM designs, especially if the designer is already familiar with GCC. And since GCC is the compiler used for embedded Linux, which is particularly strong on ARM9 chips, I would say that the installed base of GCC ARM users is much larger than the installed base of IAR ARM users. It's none of my business, and I don't really care which compiler is supported by Freescale, however if you ask me about IAR vs GCC for ARM architectures, then I would definitely say GCC-ARM...hands down... |
#529 |
| Heiko Witthoeft |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 24 2009 10:58:17 Hi,
i have ported the mc13224 on an GCC compiler (Rowley Crossworks) it runs very fine now, the last device missing is the Modemdevice, they havent described all the registers, so we have to reengineer a bit ^^. Well just wanted to say that it is possible to use the device under GCC. But there is no way to use the ROM-functions. If someone has completed the work with the modem without any freescale software, im glad for an solution. if there are questions from your site: [email protected] |
#673 |
| Akiba |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 24 2009 11:46:28 Wow, that's great that you got the MC13224 working on GCC. I wish Freescale would provide native support for it. There's an open source project for the MC13224 by RedWire as well. Here's the url: http://mc1322x.devl.org/
|
#674 |
| Umberto |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 24 2009 20:38:18 It is possible to use ROM functions, but you cannot get the "benefits" of ROM-patching!
The code stored in http://mc1322x.devl.org seems quite good. I think Mariano Alvira did a great job with reverse-engineering of radio initialization functions. In order to employ the ROM functions, you should use the code as provided by Mariano and the header files provided with Freescale's Beekit (both MAC and SMAC based solutions). To use ROM functions you have to perform a few steps:
We succeeded in making the MC1322X to run a complete Contiki image, but we enjoyed the work at mc1322x.devl.org for the radio initialization! In case you need some more information, do not hesitate to contact me ([email protected])! |
#676 |
| Akiba |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 25 2009 01:58:57 Wooo...that's right...show Freescale who's boss (of GCC). Excellent post Umberto and thanks for sharing your experience with everyone. Now I'm excited to try out the code from RedWire...just need to get back in gear with this damn stack...
|
#678 |
| Heiko Witthoeft |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 25 2009 08:06:19 Well in Crossworks i could import the LLC.a directly in the Linker options, so i can use the Rom functions directly. But if i use any of them at the end nothing happens and my µC is running in the "undef handler"...
I can debug that he jumps to the right adress to use the rom function, but it isnt working for me. |
#680 |
| Mariano Alvira |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 25 2009 11:35:58 Heiko,
Make sure that you have the proper code located at the RP vectors and that you've reserved space for the ROM variables (see http://git.devl.org/?p=malvira/mc1322x-tests.git;a=blob_plain;f=src/start.S): /* these vectors are used for rom patching */ .org 0x20 .code 16 _RPTV_0_START: bx lr /* do nothing */ .org 0x60 _RPTV_1_START: bx lr /* do nothing */ .org 0xa0 _RPTV_2_START: bx lr /* do nothing */ .org 0xe0 _RPTV_3_START: bx lr /* do nothing */ .org 0x120 ROM_var_start: .word 0 .org 0x7ff ROM_var_end: .word 0 .code 32 So far, they don't seem to use the patch vectors for anything yet, but the ROM services I've tried so far jump into them. (except for rom_data_init) Also, the services I've tried are in THUMB and _do not_ interwork with ARM code (except for rom_data_init which is in ARM --- I haven't tried calling it from THUMB code but I can guess the answer!) Let me know what service you are trying to call if you are still having trouble. There very well could be something "special" about some of them. -Mar. |
#681 |
| Mariano Alvira |
Re:Using GCC with BeeStack other Freescale supplied code (was Re:Freescale MC13224 Review)
Apr 25 2009 11:46:39 Umberto,
I've started work on supporting contiki but got bogged down learning how ARM interrupts work and poking at OpenOCD support. Have you/are you going to publish any of your work here? (I have, by-the-way, timer interrupt examples done now) -Mar. |
#682 |
| Chalo |
Re:Freescale MC13224 Review
Jul 01 2009 00:19:14 I just found this review today and is very interesting!
I'm currently evaluating the MC1322 and I find annoying the fact that using Freescale's stack kind of forces the use of IAR compiler. I was wondering if somebody out there has actually bought the IAR Compiler license... I was told that the network floating licenses have a 'feature' that locked the compiler to the user that checked out the license seat for 30 minutes and so another user couldn't use it until the lock timed out. This means that if two users are working on the same project they would have to coordinate the use of the compiler license which kind of sucks. Has anybody else heard about this? I'm curious about how an IAR user rates the licensing... other than Freescale or IAR people. Many thanks! |
#958 |
| Akiba |
Re:Freescale MC13224 Review
Jul 01 2009 00:41:10 You might want to check out this link:
http://freaklabs.org/index.php/Blog/News/802.15.4/Linux-working-with-Freescale-MC1322x.html
|
#959 |
| Umberto |
Re:Freescale MC13224 Review
Jul 01 2009 08:49:23 Hi Chalo,
you can find some more code at http://mc1322x.devl.org. It is targeted to employ the transceiver with GCC and no need of beekit provided libraries. Moreover, at http://www.embit.it, we are developing a GCC based solution to use MC1322x and to completely employ the rom code in order to have a working 802.15.4 stack, without the need to know the register mappings and/or initialization values. Up to now we have completely rewritten the code for the 802.15.4 stack and we are starting the merge with Contiki OS. Best regards, Umberto |
#961 |
| faysal |
Re:Freescale MC13224 Review
May 05 2010 13:16:16 Umberto,
Are you planning to share your work on stack implementation openly? |
#2063 |
| Mariano Alvira |
Re:Freescale MC13224 Review
May 05 2010 13:39:17 Not to speak _too much_ for Umberto, but...
he did contribute his work to our project at http://mc1322x.devl.org and it was essential for us to get Contiki working in the first place. We have since made great progress and are now working directly with the SICS team to mainline our Contiki port for the 2.5 release in June. libmc1322x is also pretty far along and includes a pretty good radio driver with buffered receive and transmit queues to fully take advantage of the maca DMA transfers (no time wasted copying buffers). With full payloads it gets very close to 250 kbps transfers. -Mar. |
#2064 |
| jannypan |
Re:Freescale MC13224 Review
Mar 10 2011 01:06:21 Normalement si le fait de désactiver la protection en temps réel permet de régler le problème, un exclusion de l'analyse, de tous les programmes concernés devrait résoudre le soucis (également exclusion de l'Active Virus Contro depuis 'paramètres' sur l'onglet Antivirus).
|
#2803 |
| GodFreak |
Re:Freescale MC13224 Review
Jul 28 2011 11:14:00 Hey.
I have just started to work on CEL's ZFSM-201-1 that uses MC13224V. Going through the data sheet of MC13224V, I couldn't figure out the use of Pin # 52 to Pin # 60 viz. TX_ON PA_NEG PA_POS RF_BIAS ANT_1 ANT_2 RF_GND RX_ON RF_RX_TX Can anyone spare some time and explain their functions. And also, since in the module, the microcontroller is connected to the RF module, how do they communicate. I mean, through which pin does the data input/output happens. Please help. Thanks. |
#3076 |
| < Prev | Next > |
|---|
BTW, I didn't find your review on Atmel AT86RF23x. Would you please let me know where it is.
Regarding the auto ack for data request, there is a trick. In 15.4, there is only 54 symbols, or about 850us for you to figure out if there is a pending packet and send out the acknowledgement. Usually, that time period is tight for a MCU to respond promptly. The trick is to let the radio always respond with pending bit set for Data request command. Then the MCU will check if there is a real data for the polling end device. If there is no data pending, just send a packet without any MAC payload or let the end device timeout. Playing this trick will significantly reduce the requirement for MCU speed.