基于ARM7软中断程序的设计
Func(StartAddr, DataPtr, Count);
}
unsigned long __swi(3)Get_Write_Addr(void);
unsigned long __swi_3(void) //Get Write Flash Function Address
{
return (unsigned long)NorFlash_Write;
}
NorFlash_Write函数接口定义如下:
unsigned long NorFlash_Write(unsigned long StartAddr, unsigned short * DataPtr, unsigned long Count);
4.2 CFI接口实现
对于FLASH中采用CFI接口的编程实现,在网上有很多的源码可以参考,本文不再对此详述。以写FLASH为例,函数如下:
unsigned long NorFlash_Write(unsigned long StartAddr, unsigned short * DataPtr, unsigned long Count)
{
……..
……..
WRITE_CMD(0X5555,0XAAAA);
WRITE_CMD(0X2AAA,0X5555);
WRITE_CMD(0X5555,0XA0A0);
……..
……..
}
5 总结
本文以ARM7内核的LPC2458 MCU,采用软中断的方法实现片外FLASH在运行程序时,同时实现对此FLASH的写操作例程。详细描述了ARM7内核的MCU软中断程序的设计方法。希望能对使用ARM7内核、Cortex-M3/M4内核的MCU,实现软中断程序起到一个参考的作用。
- 基于无线通信的嵌入式机器人控制系统设计(03-26)
- 基于ARM7的网关通信模块设计(08-24)
- 基于ARM7的MVB_CAN网关设计(03-25)
- ARM7串口9位方式多机遇信的编程技术(09-23)
- 基于对数放大器和MCU增强RF功率测量精度(03-26)
- 解读车载AM/FM收音机电路(04-21)