历史上的今天
返回首页

历史上的今天

今天是:2024年09月08日(星期日)

2018年09月08日 | STM8L151 在IAR中实现Flash/EEPROM的擦写

2018-09-08 来源:eefocus

在 STM8L151G6U6中可支持字节擦写和块擦写,块擦写可一次擦写很所字节。字节擦写比较简单,需要注意的是块擦写,在块擦写中,需要配置一个地方。 
库中使用说明 
对于IAR来说, 
Uncomment the line “#define RAM_EXECUTION (1)” in the stm8l15x.h file to enable the FLASH functions execution from RAM through the specific __ramfunc keyword. 
之后可在程序中调用Flash_BlockProgram();来进行块擦写。 
在main函数前要做以下声明:

 #ifdef _RAISONANCE_

/* needed by memcpy for raisonance */

#include

extern int __address__FLASH_EraseBlock;

extern int __size__FLASH_EraseBlock;

extern int __address__FLASH_ProgramBlock;

extern int __size__FLASH_ProgramBlock;

#endif /*_RAISONANCE_*/


 /* Private function prototypes -----------------------------------------------*/

 /* Declare _fctcpy function prototype as it is packaged by default in the Cosmic

machine library */

#ifdef _COSMIC_

int _fctcpy(char name);

#endif /*_COSMIC_*/


之后可使用下面函数来进行擦写到epprom中,


void Flash_WriteDataBlock(uint8_t block_count, uint8_t *Buffer)

{

    FLASH_Unlock(FLASH_MemType_Data);//可以擦写EEPROM或Flash:FLASH_Unlock(FLASH_MemType_Program);

    while (FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET)

    {}

    FLASH_ProgramBlock(block_count, FLASH_MemType_Data, FLASH_ProgramMode_Standard, Buffer);


    while (FLASH_GetFlagStatus(FLASH_FLAG_HVOFF) == RESET)

    {}

    //FLASH_WaitForLastOperation();

    FLASH_Lock(FLASH_MemType_Data);

}


之后编译即可,不知道是否要将工程设置为支持C标准库,可能要,测试成功的工程是做了这个设置的,大家也可以自己做一下测试



推荐阅读

史海拾趣

AMSCO [Austria micro systems AG]公司的发展小趣事

Austria Micro Systems AG(AMS)是一家总部位于奥地利的半导体制造商,专注于模拟IC、传感器和感应器解决方案。以下是 AMS 公司发展的五个相关故事:

  1. 创立与初期发展:AMS 公司成立于1981年,最初是一家小型的半导体公司,成立之初主要从事晶圆制造和生产模拟集成电路(IC)。在公司创始人的领导下,AMS 迅速崛起,凭借着其创新能力和对技术的独特洞察力,迅速在半导体市场上占据了一席之地。

  2. 技术创新与产品扩展:随着时间的推移,AMS 公司不断进行技术创新,并不断扩展其产品线。公司致力于开发高性能、低功耗的模拟IC和传感器解决方案,以满足汽车、工业、医疗等各个领域的客户需求。AMS 的产品涵盖了光学传感器、环境传感器、声学传感器等多个领域。

  3. 全球化发展与市场拓展:AMS 公司通过不断拓展全球市场,加强与客户和合作伙伴的合作关系,实现了快速的业务增长。公司在欧洲、亚洲和美洲设立了多个销售办事处和生产基地,建立了完善的全球供应链和销售网络。公司的产品销售网络覆盖了全球范围,得到了国内外客户的广泛认可。

  4. 收购与合并:为了进一步壮大自身实力和拓展市场份额,AMS 公司通过收购和合并等方式不断强化自身。公司先后收购了一些技术领先的公司,扩大了产品线和市场份额。此举进一步提升了公司在模拟IC和传感器领域的竞争优势,加速了公司的业务增长。

  5. 持续创新与未来展望:AMS 公司将继续致力于技术创新和产品研发,不断提升产品性能和品质水平。公司将关注新兴技术和市场趋势,积极布局未来的发展方向,包括人工智能、物联网、汽车电子等领域。同时,公司还将加强与客户和合作伙伴的合作,共同推动行业的发展和进步。

成都振芯/国腾(CORPRO)公司的发展小趣事

在北斗卫星导航系统的发展过程中,CORPRO始终扮演着重要角色。作为北斗终端的最大供应商之一,CORPRO通过不懈的技术研发和产品迭代,成功实现了北斗设备零部件的国产化。同时,公司还构建了“元器件-终端-系统及运营”的完整产业链,在高性能集成电路板块取得了显著成就。此外,CORPRO还是首批承担“核高基”核心电子器件项目企业中唯一的一家民营企业,体现了其在电子行业的领先地位和创新能力。

American Electric公司的发展小趣事

在发展过程中,American Electric公司也面临过各种挑战和危机。例如,XXXX年,公司遭遇了一次严重的自然灾害,导致部分电力设施受损。然而,公司迅速启动了应急响应机制,组织抢修队伍进行抢修,并在最短时间内恢复了供电。此外,在面对政策调整、市场竞争等挑战时,公司也能够灵活应对,通过调整战略、优化管理等方式保持稳健发展。

Hi-G Relays公司的发展小趣事

在发展过程中,American Electric公司也面临过各种挑战和危机。例如,XXXX年,公司遭遇了一次严重的自然灾害,导致部分电力设施受损。然而,公司迅速启动了应急响应机制,组织抢修队伍进行抢修,并在最短时间内恢复了供电。此外,在面对政策调整、市场竞争等挑战时,公司也能够灵活应对,通过调整战略、优化管理等方式保持稳健发展。

Fullywell Semiconductor Co Ltd公司的发展小趣事

随着全球对环境保护和可持续发展的重视,Fullywell也积极响应这一趋势,开始实施绿色转型战略。公司投入大量资源研发环保型半导体材料和生产工艺,致力于降低生产过程中的能耗和排放。同时,Fullywell还加强了与产业链上下游企业的合作,共同推动绿色供应链的建设。这些举措不仅提升了公司的社会责任感,也为公司的可持续发展奠定了坚实的基础。通过绿色转型,Fullywell在行业内树立了良好的企业形象,吸引了更多关注环保和可持续发展的客户和合作伙伴。

Handok Co Ltd公司的发展小趣事

为了进一步拓宽业务范围和提升技术实力,Fullywell在2015年进行了一次重要的收购。公司成功收购了某家专注于传感器技术的初创企业,将其先进的技术和产品线纳入麾下。这次收购不仅丰富了Fullywell的产品线,还使其在物联网、智能家居等新兴领域具备了更强的竞争力。随后,公司进行了业务整合,优化了资源配置,实现了优势互补,为公司的持续发展注入了新的动力。

问答坊 | AI 解惑

随机字体时钟

如果你对字体和时钟都有一种狂热的话,这里你就来对了。因为你无法不去注意这种夺人眼球的字体时钟。也许它上面出没的某个字体,会给你的创意工作带来灵感。这种时钟的设计者叫做Sebastian Wrong,姓错了,有点意思。他一共设计出三种不同款式的字 ...…

查看全部问答>

请问WinCE IE收藏夹文件保存在什么位置? (好像在注册表中)

请问WinCE IE收藏夹文件保存在什么位置? (好像在注册表中)…

查看全部问答>

如何让 edit 中的 文字居中显示?

es_center|es_multiline 可以居中,但字与字会重贴在一起,这是什么原因? 有没有别的方法使文字单行居中?…

查看全部问答>

菜鸟求助

请问哪位大侠知道后半段程序有问题吗?用Proteus仿真按键k3不起作用 K1 BIT P2.0                  K2 BIT P2.1 K3 BIT P2.2          &nbs ...…

查看全部问答>

基于DSP技术的MP3播放器的研究与设计

各位高手给点建议,先在这里说谢谢了、…

查看全部问答>

怎么用LM3S811产生任意频率的正弦波

怎么用LM3S811产生任意频率的正弦波…

查看全部问答>

msp430f5529的官方代码的疑惑

 使用此程序后是这个结果:ACLK = REFO = 32.768kHz, MCLK = SMCLK = Default 1MHz include <msp430f5529.h> void main(void){  volatile unsigned int i;   WDTCTL = WDTPW+WDTHOLD;      &n ...…

查看全部问答>

驱动LED恒流IC TM1804

驱动TM1804 LED恒流芯片。需要用到的知识 SPI 或者IO模拟 及有关归零码的知识 http://baike.baidu.com/view/491480.htm  有关归零码的知识 阅读TM1804的芯片手册 后 我选择用SPI的方式去驱动。  该芯片采用归零码方式  如果表示灰 ...…

查看全部问答>

驱动程序安装问题

我的板子在第一次接电脑时显示成功安装驱动程序(COM5),但是后来几次插上去之后电脑都没反应,用IAR下载程序就报错Thu Oct 25, 2012 12:52:31: Fatal error: Failed to initialize.  Check if hardware is connected. Check if drivers ...…

查看全部问答>