1.*.FLM的本质其实就是*.axf,它也是一段可执行代码。
2.它是ARM工具链的一部分,
/***********************************************************************/
/* This file is part of the ARM Toolchain package */
/* Copyright (c) 2010 Keil - An ARM Company. All rights reserved. */
/***********************************************************************/
3.它包括了Flash(无论是MCU内部的Flash还是外部的Flash)的一些基础操作和描述结构。
例如:读、写、保护、擦除之类的,这些指令都可以在一般的Flash datasheet里面看到。
4.它有一套标准的操作结构,以方便对接keil的API。
// Flash Programming Functions (Called by FlashOS)
extern int Init (unsigned long adr, // Initialize Flash
unsigned long clk,
unsigned long fnc);
extern int UnInit (unsigned long fnc); // De-initialize Flash
extern int BlankCheck (unsigned long adr, // Blank Check
unsigned long sz,
unsigned char pat);
extern int EraseChip (void); // Erase complete Device
extern int EraseSector (unsigned long adr); // Erase Sector Function
extern int ProgramPage (unsigned long adr, // Program Page Function
unsigned long sz,
unsigned char *buf);
extern unsigned long Verify (unsigned long adr, // Verify Function
unsigned long sz,
unsigned char *buf);
5.剩下的就是一些Flash的底层驱动实现。
6.对于一些MCU厂商可能会加入一些加密动作。
标签:adr,Keil,int,Flash,unsigned,long,FLM,extern,解析 From: https://www.cnblogs.com/icaowu/p/18171160