Keil FLM文件解析
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厂商可能会加入一些加密动作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构