Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

¡¾·ÖÎö¡¿STM32´ÓFlashÖÐÔËÐгÌÐòµÄʱÐò·ÖÎö

´ó¼Ò¶¼ÖªµÀSTM32µÄCPUʱÖÓÆµÂÊ¿ÉÒÔ´ïµ½72MHz£¬ÒÔºó»¹»á¸ü¿ì£¬µ«ÊÇÓÉÓÚ°ëµ¼ÌåÖÆÔ칤ÒÕµÄÏÞÖÆ£¬´æ·Å³ÌÐòµÄFlash´æ´¢Æ÷²»¿ÉÄÜ´ïµ½Õâô¸ßµÄ¹¤×÷ƵÂÊ£¬ÕâÑùµ±CPUÖ±½Ó·ÃÎÊFlash´æ´¢Æ÷ʱ±ØÐë²åÈëµÈ´ýÖÜÆÚÒԵõ½ÕýÈ·µÄ½á¹û¡£
ÎÊÌâÊÇÔÚFlashµÄËٶȱÈCPUÂýµÄÇé¿öÏ£¬ÊDz»ÊÇ¿ÉÒÔ¼òµ¥µØËµSTM32ÔÚÖ´ÐÐFlashÖеijÌÐòʱÿÌõÖ¸Áî¶¼ÐèÒª²åÈë ......

ubuntu flashÂÒÂëµÄ½â¾ö·½°¸


¸Õ²Å·ÃÎÊÒ»¸ö²©ÓѵÄÒ³Ãæ£¬ÔÚÏÂÃæÓÐÒ»ÐÐÏÔʾµÄÈ«ÊÇС·½¿é£¬ÕâÊÇÔõô»ØÊ£¬ÓÃÊó±êµãÒ»µã·¢ÏÖÔ­À´ÊÇflash£¬ÎÒµÄflash²å¼þÒѾ­×°ÁËѽ£¬Ôõô
»¹³öÏÖÕâÖÖÇé¿ö¡£
ÉÏÍøÒ»²é£¬Ô­À´ÊÇflashÂÒÂ룬½â¾ö·½·¨£º
linux@linux-desktop:~$ cd /etc/fonts/conf.d/
  ££½øÈëÅäÖÃÎļþĿ¼
linux@linux-desktop:/etc/fonts/conf.d$ l ......

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Ê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ