sobakava
04-02-2012, 10:52 AM
Hi,
I'm relatively new to Parallax Propeller and I'm trying to develop a system using Propeller.
System consists of
P8X32A QFN44 IC + I2C EEPROM,
nRF9E5 433/868MHz RF Transceiver/8051 IC ( I implemented a basic SPI protocol between Parallax and nRF9E5)
TV Output ( 7" color PAL/NTSC TFT screen )
Microchip SPI SRAM + SPI EEPROM ( For future use )
I'm using the TV driver and Graphics driver came with Spin tool and I'm drawing some boxes, lines and print text menu on the screen. I don't use mouse, keyboard or any other driver.
I already completed and tested most of the firmware. But at the end, I faced with a major problem: Memory!
While trying to complete the design I realized I need to save some parameters to EEPROM. I decided to write them into empty space in the I2C boot EEPROM and started to play with I2C drivers from Propeller Object Exchange.
Unfortunately when I try to ad a simple I2C driver, Spin tool can not compile the code anymore because of insufficient memory. Then I tried to ad I2C routines to main code line by line.
First I thought I've a lot of space left for such kind of "simple" and "small" operations because Spin Tool shows 6169Longs are free and this fairly enough to complete my design.
Then I realized this space is already reserved by TV driver using this line:
_stack = ($3000+$3000+100)>>2
I tried to reduce this space to $3000+ $2900 + 100 without getting into details of the TV driver but application started to crash while changing menus etc.
I estimate, I just need 300-400 longs more to complete my design and somehow I need to get more memory.
In the forum I read, some people recommends not to use double buffer mode to save memory. I don't know what does it mean. Is it a solution for me?
Is there a more optimized TV or Graphics driver? I deleted all of the unused graphics routines ( drawing arcs etc ) from graphics driver.
Is it possible to use external SPI RAM for code execution or frame buffer storage? I 'm working with static graphics, there is no animation etc on the screen. So speed is not the most important thing for me.
Regards
Sobak Ava
I'm relatively new to Parallax Propeller and I'm trying to develop a system using Propeller.
System consists of
P8X32A QFN44 IC + I2C EEPROM,
nRF9E5 433/868MHz RF Transceiver/8051 IC ( I implemented a basic SPI protocol between Parallax and nRF9E5)
TV Output ( 7" color PAL/NTSC TFT screen )
Microchip SPI SRAM + SPI EEPROM ( For future use )
I'm using the TV driver and Graphics driver came with Spin tool and I'm drawing some boxes, lines and print text menu on the screen. I don't use mouse, keyboard or any other driver.
I already completed and tested most of the firmware. But at the end, I faced with a major problem: Memory!
While trying to complete the design I realized I need to save some parameters to EEPROM. I decided to write them into empty space in the I2C boot EEPROM and started to play with I2C drivers from Propeller Object Exchange.
Unfortunately when I try to ad a simple I2C driver, Spin tool can not compile the code anymore because of insufficient memory. Then I tried to ad I2C routines to main code line by line.
First I thought I've a lot of space left for such kind of "simple" and "small" operations because Spin Tool shows 6169Longs are free and this fairly enough to complete my design.
Then I realized this space is already reserved by TV driver using this line:
_stack = ($3000+$3000+100)>>2
I tried to reduce this space to $3000+ $2900 + 100 without getting into details of the TV driver but application started to crash while changing menus etc.
I estimate, I just need 300-400 longs more to complete my design and somehow I need to get more memory.
In the forum I read, some people recommends not to use double buffer mode to save memory. I don't know what does it mean. Is it a solution for me?
Is there a more optimized TV or Graphics driver? I deleted all of the unused graphics routines ( drawing arcs etc ) from graphics driver.
Is it possible to use external SPI RAM for code execution or frame buffer storage? I 'm working with static graphics, there is no animation etc on the screen. So speed is not the most important thing for me.
Regards
Sobak Ava