Is there any way to expand the programming memory of MC9S08GT60 MCU?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is there any way to expand the programming memory of MC9S08GT60 MCU?

2,496 Views
BlackRodent
Contributor I
Hi everyone, I am a newbie on embbed system and Fresscale MCU.
 
I have to develop a system based on ZigBee and I have some XBee modules that using Freescale transceiver & MC9S08GT60 MCU. I am now working on BeeStack
 
I found lot of problem on the size of  programming memory in MC9S08GT60. 60KB memory seem too small for BeeStack.
 
Once I include the "Security with mech routing",  The memory remained is too small to implement any application profile that seem a little bigger, even the ZTC module.
 
I would like to know whether there is any method to expand the programing memory of MC9S08GT60, for example, using EEPROM?
 
 
(P.S Off Topic:
   It is also disapointed that only part of the ZCL was fully implemented. Since ZCL is a standard, full implementation of ZCL would certainly save lots of customer's development time and attract lot of new customer.....
 
  I have spent more than two weeks times on implementing the IAS clusters, which most of the times were used to study the whole BeeStack and following the code practice & pattern...)
 
Labels (1)
0 Kudos
7 Replies

627 Views
peg
Senior Contributor IV
Hi BlackRodent,

Not that you can execute from! Is the short answer.
You could add extra memory via SPI or IIC but would have to to read across into RAM which your probably short of to.
If you have a lot of infrequently used data you may be able to implement something but a QE128 is looking pretty good here.

0 Kudos

627 Views
BlackRodent
Contributor I
Thanks.......
but In my case, I can't change the MCU....
0 Kudos

627 Views
BasePointer
Contributor II
Hi,
 
Unfortunately, this subject is a problem for Freescale. They don't offer MCU has flash larger than 60K (except new QE128). We are developping a metering project with LC60, now the program is 56543byte. And this process is really scary for a developer :robotmad: There is no option to do if I need more than 60K.
 
Regards.
 
0 Kudos

627 Views
bigmac
Specialist III
Hello,
 
Perhaps the coding efficiency needs to be reviewed in some detail (assuming a C program).  There aren't too many other options.  Firstly check the actual size of each function, to determine if a few of the functions consume a much greater portion of the flash - it is these you may need to give most attention, for greatest potential savings.
 
Do you utilize any expensive standard library functions (printf/sprintf come to mind)?  If so, eliminate their use by writing your own code with more limited functionality.  Non-linear trigonometric and logarithmic functions will consume a large amount of flash.
 
Do you use floating point arithmetic?  In many instances, adequate accuracy can be achieved using integer arithmetic, with substantial savings in code size.
 
As a last resort, perhaps you need to consider assembly code to replace inefficient functions, either inline code, or an assembly code module.
 
Regards,
Mac
 
0 Kudos

627 Views
BlackRodent
Contributor I
Thanks, BigMac.
 
I think these are good suggestions to individual application that build from ground.
 
But since BeeStack is one of the standard ZigBee Stack, with the consideration of software engineering,  this is better not to do that on it.
Also, I am not experienced enough to do that... I just a beginner.......
 
I am now thinking of Mult MCU approach to solve the memory problem...... 
0 Kudos

627 Views
bigmac
Specialist III
Hello,
 
Using third party firmware, you still need to be aware of the resources required.  Within Code Warrior IDE, the amount of code generated, and the data RAM requirements, are listed for each file, and the project.map file should identify the size of individual functions.  But you will need a successful "make" for these observations.  My understanding is that the BeeStack code was developed specifically for the GT60 device, so I am surprised the code will not fit, unless additional code not directly associated with BeeStack is of considerable size.
 
Sharing resources between two MCUs will most likely require intimate knowledge of the third party code.  You will need to decide those proceesses that should pertain to each device.  In addition, you will need additional fast two-way communications between them.  The SPI of the GT60 is not available, being already used for communications with the transceiver device.  The communications protocol will need additional code space in each device.
 
Regards,
Mac
 
 
 
0 Kudos

627 Views
BlackRodent
Contributor I
Hi,
 
Yes, your are right, but this really the problem. The BeeStack document also pointed out that and told development not to use the security component if it is not needed...........
 
XBee, and the Freescale Demo Board also use UART for ZTC, hence I am thinking of the possibility to use the UART. UART should be fast enough for ZigBee. But I also worry about the code side for the UART.
0 Kudos