Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

MSP430¶ÁдƬÄÚFLASH±£´æÊý¾Ý

±¾ÎÄÀ´×Ôhttp://blog.csdn.net/hellogv/ £¬ÒýÓñØÐë×¢Ã÷³ö´¦£¡
     FLASHÐ͵ÄMSP430µ¥Æ¬»ú¶¼´øÓÐÐÅÏ¢´æ´¢Æ÷SegmengA¼°SegmentB,SegmengA¼°SegmentB¸÷ÓÐ128×Ö£¬SegmentBµÄµØÖ·ÊÇ£º0x01000hµ½0x107F£¬SegmentAµÄµØÖ·ÊÇ£º0x01080hµ½0x010FFh¡£³ÌÐò±»Ð´ÈëMSP430Ö®ºó£¬³ÌÐòͨ¹ýSegmengA¼°SegmentB¾Í¿ÉÒÔ±£´æ²»µôµçÊý¾Ý¡£×¢Ò⣺ÿ´Î³ÌÐòÉÕдµ½MSP430ʱ£¬SegmengA¼°SegmentB¶¼»á±»²Á³ý£¡
      ½ÓÏÂÀ´Ìù³ö±¾ÎĵijÌÐò´úÂ룬ÒÔ¼°³ÌÐòдÈëÐÅÏ¢´æ´¢Æ÷Ö®ºóµÄFLASHÊý¾Ý£º
#include <msp430xG43x.h>
void WriteSegment_256 (char index,char *value,char size);
char ReadSegment_256(char index);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
FCTL2 = FWKEY + FSSEL0 + FN0; // MCLK/2 for Flash Timing Generator

char str1[3]={0xAA,0xBB,0xCC};

WriteSegment_256(0,str1,3);

for(char i=0;i<255;i++)
_NOP();

char str2[3]={0xBB,0xAA,0xCC};
WriteSegment_256(0,str2,3);

}
#define SegmentStart 0x01000 //Segment = 0x01000~0x010FF
#define SegmentSize 255 //SegmentA + SegmentB = 256
//*********************************************************
//¶ÁȡƬÄÚ´æ´¢µÄÊý¾Ý
//*********************************************************
char ReadSegment_256(char index)
{
char *flash_ptr = ((char *) SegmentStart) + index;
return *flash_ptr;
}
// *****************************************************
//°ÑÊý×éдÈëÊý¾Ýµ½Æ¬ÄÚFLASH£¬±ØÐëÏÈÈ«²¿²Á³ýÔÙдÈë
//²ÎÊýindex:±£´æÊý×éµÄλÖÃ
//²ÎÊývalue:Êý×éµÄÖ¸Õë
//²ÎÊýsize:Êý×éµÄ´óС
// *****************************************************
void WriteSegment_256 (char index,char *value,char size)
{
char buffer[SegmentSize],i=0;
char *flash_ptr = (char *) SegmentStart;

//ÏȶÁȡԭFLASHÊý×é
for(i=0;i<SegmentSize;i++)
buffer[i]=ReadSegment_256(i);

//²Á³ýFLASH£¬±ØÐë
FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY; // Clear Lock bit
*f


Ïà¹ØÎĵµ£º

СÐÄflashµÄÀ¬»ø»ØÊÕ¹¦ÄÜ

¶ÔÓÚÐèÒªÀÛ¼ÆÖ´ÐеÄÌØÐ§»ò¶ÔÏó£¬Èçtween£¬ËûÊÇÔÚ¸ø¶¨µÄʱ¼äÄÚ²»¶ÏÔËÐУ¬Ò»µ©ÔÚº¯ÊýÖж¨Òåtween º¯Êý½áÊøÊ±£¬¿ÉÄÜ»á»ØÊÕÁËtween Ôì³Étween²»ÄÜÅÜÍ꣬¶¨Òª×¢Ò⣬´íÎó´úÂëÈçÏ£º ÓÈÆäÊǺ¯ÊýÖж¨ÒåµÄ package {
        import flash.display.Sprite;
    & ......

LPC1343¶ÁдSPI FLASH at25f1024

×Ô¼ºÐ´µÄ³ÌÐò,Ï£Íû¶Ô´ó¼ÒÓаïÖú,ÆäʵÕâÆ¬flashÊ®·ÖµÄ±¯¾ç,Ö»ÓÐ4¸öblock,1MBµÄ¿Õ¼ä,³¤ÆÚ·Å¿ÉÖ´ÐдúÂëÓõÄ,¶ÌÆÚ·ÅÊý¾Ý,Ê®·ÖµÄ²»ºÏÊÊ...
void DelayTime( void )
{
u8 i ;
for( i = 0 ; i < 10 ; i++ ) ;
}
void atWriteCmd( u8 cmd )
{
SSPSend( &cmd , 1) ;
}
void atWriteData(u8 * buf , u32 nBytes ......

flash »æÍ¼API£º»æÖÆÐ¡Óã

ÑÝʾµØÖ·£º  
forked from: SimpleFish - wonderfl build flash online
 ½ñÌìÎÒÃÇÒª´´½¨Ò»¸öСÓãµÄ»æÖÆ¡£Õâ´ÎÎÒÃÇ»áʹÓÃSimpleFish.as ´´½¨»æÖÆÐ¡ÓãÀà ¡£Í¬Ê±ÎÒÃÇ»áʹÓûæÍ¼APi µ±ÖеÄcurveTo µÄÒ»¸ö·½·¨¡£Õâ¸ö·½·¨Ó÷¨ÈçÏ£¬
    this.graphics.moveTo(¿ªÊ¼ÆðµãX,¿ªÊ¼ÆðµãY);
 &nb ......

EEPROM ºÍ FLASHµÄÇø±ð

EEPROM,EPROM,FLASH¶¼ÊÇ»ùÓÚÒ»ÖÖ¸¡Õ¤¹Üµ¥Ôª(Floating gate transister)µÄ½á¹¹
¡£EPROMµÄ¸¡Õ¤´¦ÓÚ¾øÔµµÄ¶þÑõ»¯¹è²ãÖУ¬³äÈëµÄµç×ÓÖ»ÄÜÓÃ×ÏÍâÏßµÄÄÜÁ¿À´¼¤³ö£¬EEPROMµÄµ¥ÔªÊÇÓÉFLOTOX(Floating- gate tuneling oxide transister)¼°Ò»¸ö¸½¼ÓµÄTransister×é³É£¬ÓÉÓÚFLOTOXµÄÌØÐÔ¼°Á½¹Ü½á¹¹£¬ËùÒÔ¿ÉÒÔµ¥Ôª¶Á/д¡£¼¼ÊõÉÏ£¬FLASHÊ ......

NAND flashÎļþϵͳJFFS2ºÍYAFFS±È½Ï

NAND flashÎļþϵͳJFFS2ºÍYAFFS±È½Ï
ARM9 2009-12-07 21:29:50 ÔĶÁ98 ÆÀÂÛ0 ×ֺţº´óÖÐС
JFFSÊÇÓÉÈðµäµÄAxis Communications Ab¹«Ë¾¿ª·¢µÄ(1999,ÒÔGNU·¢²¼),Õë¶ÔflashÉ豸µÄÌØÐÔΪǶÈëʽÉ豸¿ª·¢µÄ
JFFS1ºÍJFFS2µÄÉè¼ÆÖж¼¿¼Âǵ½ÁËFLASHµÄÌØÐÔÌØ±ðÊÇÂú×ãÁËÉÏÊö3¸öÌõ¼þ,°üÀ¨ÁËÀ¬»ø»ØÊÕ,»µ¿é¹ÜÀíµÈ¹¦ÄÜ. ÕâÁ½ÖÖÎļþϵ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ