Hi Aurelien and all,

Thanks for your reply. I read Deluge's implementation of TOSBoot and also the 
ATmega128 manual. I still have the following questions:

>From the ATmega128 manual, the program flash memory (128 KB) is divided into 
>two sections: boot Flash section and application section. From what I have 
>understood, we can still write to this 128 KB Flash memory if we dont write to 
>bootloader and also make sure that we do not overwrite the code to application 
>section. So, does the InternalFlashC component write to the program flash 
>memory (128 KB)? (It writes within 0x000 to 0xfff which is outside bootloader 
>section)? Or does InternalFlashC write to 4KB EEPROM? Aurelien, you said in 
>your last email that Deluge also writes some of its info on 4KB EEPROM using 
>InternalFlashC. I am confused here. Does InternalFlashC write to 128 KB 
>program memory or 4 KB EEPROM? I think the former because the 4KB EEPROM's 
>address space is different from 128KB program memory and the region where 
>InternalFlashC writes (0x000 to 0xfff) does not lie in the I/0 space of data 
>memory. Please somebody clarify me this. 

DOES InternalFlashC WRITE TO 128KB PROGRAM FLASH MEMORY OR 4KB INTERNAL EEPROM? 
Please help,

Thanks in advance,
raj



Aurélien Francillon <[EMAIL PROTECTED]> wrote: hi Raj,

Le mardi 29 mai 2007 14:08, raj raj a écrit :
> Dear all,
>
>I am resending this email again as there has been no response to it. Please 
> help me with the following: 

http://www.catb.org/~esr/faqs/smart-questions.html

> raj raj  wrote: Dear all,
>
> In tinyos 1.1.x, there is a component called InternalFlashC which provides
> the interface InernalFlash. the avr platform has 128KB of program memory
> (flash memory), 4 KB of SRAM and 4 KB of EEPROM memory. The InternalFlashC
> componet can read from and write to internal Flash.My question is : What is
> internal Flash? Is it 4 KB of EEPROM or 128 KB of program memory. I think
> it should be 128KB of program memory. Am I right? I am getting confused
> with these terms.
>
> My next question is : What is the purpose of 4 KB of EEPROM ? Where is it
> used? Is there any component that can write to or read from 4 KB of EEPROM?

It's  the 4 KB of EEPROM internal to the atmega 128 (it's different from the 
external flash chip 512KB on serial port ),  you can see all of them on the 
general block diagram (figure 2 ) of atmega 128 at:
http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf

Access to the 128KB of program memory is more complex because you are 
potentially writing the code you are executing, If it's what you want, there 
is lots of details about this in the section "Boot Loader Support – 
Read-While-Write Self-Programming" . 
You can also have a look at the TOSBoot /Deluge which is doing just that ... 

If you really want to access the internal 4KB EEPROM:
1) Writing to it is _very_ slow 
2) Deluge is also using it, a few bytes for storing "permanent" data take care 
of that is you are using it see ps 
3) Use InternalFlashC to access it ...

In a way InternalFlashC should have been called InternalEEPROMC on mica 
platforms, but it may not be true for any platform ... 

Cheers 
Aurélien

PS: deluge  "iflash" usage 

$0000    IFLASH_BOUND_LOW <- begin of free space 
$0FE0    IFLASH_TOS_INFO_ADDR  <- end of free space , begin of deluge usage 
$0FE6    IFLASH_NODE_DESC_ADDR 
$0FF0    TOSBOOT_ARGS_ADDR 
$0FFF    IFLASH_BOUND_HIGH 



       
---------------------------------
Looking for a deal? Find great prices on flights and hotels with Yahoo! 
FareChase.
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to