IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> MCU 选型判断依据总结 -> 正文阅读

[嵌入式]MCU 选型判断依据总结

一.工程师选型的局限性
1)硬件工程师
对成本敏感,但缺少软件概念,大部分处于连线水平,无法知晓外设链接与MCU内部资源的配合;
缺少产品软件所需要的RAM和FLASH信息,
硬件工程师根据经验或者其他类似项目使用过该型号的MCU,主观选择好已经用过的MCU,但是项目变化,原先配置的MCU FLASH空间可能不足,内存可能不足会导致项目风险大大增加;
2)软件工程师
不熟悉硬件外部电路原理,对成本不敏感,需要更理解底层的工程师如驱动工程师来解决。喜欢大FALSH 大RAM 给编程预留足够余地。

如何判断是否FLASH空间足够,内存足够

3)故 懂软件与硬件的系统工程师,在此可以发挥出重要价值。
这就需要软件开发工程师根据当前项目需求情况以及后续项目升级需求上考虑选择,硬件工程师需要更多听取软件的意见来选择型号!
二.NXP 低功耗MCU选型案例
涉及硬件MCU的项目选型中,MCU 的FLASH空间,SRAM空间大小对软件涉及影响非常之大,freescale mcu kl03系列单片机有多种PIN TO PIN型号,因此如何选择一款符合项目要求,成本又低的MCU非常的重要。
除了PIN脚,外设符合项目要求外, 也即是要FLASH足够大,内存SRAM足够大,但这是跟成本矛盾的。

问题1:硬件工程师缺乏软件知识,根据经验或者其他类似项目使用过该型号的MCU,主观选择好已经用过的MCU,但是项目变化,原先配置的MCU FLASH空间可能不足,内存可能不足会导致项目风险大大增加;
问题2:如何判断是否FLASH空间足够,内存足够,这就需要软件开发工程师根据当前项目需求情况以及后续项目升级需求上考虑选择,硬件工程师需要更多听取软件的意见来选择型号!
上述两个问题是实际项目中遇到

2.1重要概念
固件:这个概念在不同的系统中有不同的含义,不管如何,程序BIN文件也是固件,本文的固件就是编译软件编译完成后的完整BIN
PIN TO PIN:管脚兼容
Code为程序代码部分
RO-data 表示 程序定义的常量const temp;
RW-data 表示 已初始化的全局变量
ZI-data 表示 未初始化的全局变量

MCU 单片机运行时主要存在两个区域,只读的代码code以及const字符串数据,存放在FLASH空间中,可读写的全局变量,静态变量,局部变量等均分布在SRAM中

NXP是新组建的公司收购了freescale,本文描述的就是freescale mcu kl03系列,KL03系列有以下型号,内存SRAM固定2KB,FLASH不同型号有区别
在这里插入图片描述

MCU 单片机运行时主要存在两个区域,只读的代码code以及const字符串数据,存放在FLASH空间中,可读写的全局变量,静态变量,局部变量等均分布在SRAM中.程序启动初始化时RW-data等从flash拷贝到SRAM,执行的程序等还在ROM(FLASH)中执行.

2.2 具体执行方法
1)对即将选择的MCU型号,详细了解其他项目使用该MCU 的 情况,如FLASH 总空间大小,使用后剩余空间大小,内存 总空间大小,使用后剩余空间大小;

2)对硬件工程师而言,针对新项目,及时与软件沟通了解是否符合要求,避免主管臆断;

3)软件工程师给出初步flash sram空间估计,提出选型,反馈硬件,控制硬件风险;

2.3 MCU KEIL开发软件的flash 与sram总体空间估计

kl03使用KEIL开发,配置好相应的型号配置后,需要读懂编译输出信息。

如KEIL 编译输出:

compiling flash.c…
compiling flash_ram.c…
linking…
.\obj\project.sct(12): warning: L6329W: Pattern flash_ram.o(RO) only matches removed unused sections.
Program Size: Code=19432 RO-data=1892 RW-data=568 ZI-data=1144
Finished: 0 information, 1 warning and 0 error messages.
FromELF: creating hex file…
After Build - User command #1: c:\hex2bin.exe .\obj\project.hex
hex2bin v1.0.1, Copyright ? 1999 Jacques Pelletier
Lowest address = 00000000
Highest address = 0000546B
“.\obj\project.axf” - 0 Error(s), 8 Warning(s).
Build Time Elapsed: 00:00:07

根据获得知识,Code=19432 RO-data=1892存放FLASH中,影响FLASH空间大小
RW-data=568 ZI-data=1144 存放SRAM中,影响SRAM空间大小

本次编译输出,FLASH需要大小=19432+1892=21324B ,16KB=16*2014=16384,可见16KB 的FLASH型号不符合要求,需要选择32KB,此时FLASH空间还有足够多的裕度;

本次编译输出,SRAM需要大小=568+1144=1712,2KB=2048,可见2KB SRAM 符合要求,此时SRAM空间剩余,但并不多,后续代码开发需要严格控制代码变量的定义,避免空间不足;

此时,就需要更换新的FLASH型号了,从16KB 改为32KB。
2.4.MCU flash sram单文件空间估计

上述是系统文件总体的估计,是个总的概念,如果需要详细了解每个文件Code RO-data RW-data ZI-data的大小,是否有方法呢?

答案是肯定的,打开编译生成的map文件 ,生成的map文件位于KEIL工程的list文件夹下,即工程目录\Project\list\project.map

在这个文件中存在每个.c文件统计Code RO-data RW-data ZI-data的大小,在当前SRAM空间紧张的情况下,这样可以针对性了解那个部分的变量定义占据了大空间,便于修改。

在这里插入图片描述
2.5.判断函数以及变量在ram ,flash(rom)哪个中存放

    unsigned int*pfun1= (unsigned int*)Mcu_Init_Fifo;
	sys_printf("Mcu_Init_Fifo  0x%08x\n",pfun1);
	sys_printf("pfun1  0x%08x\n",&pfun1);

打印输出:
Mcu_Init_Fifo 0x00001865 //rom–flash ,这个地址从手册看出是FLASH的空间
pfun1 0x200004a8 //sram ,这个地址从手册看出是SRAM的空间
三。总结
提出确认MCU选型 的判断FLASH SRAM 空间的方法,有效确认当前空间与剩余空间,,便于统筹考虑,全盘需求;

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:59:21  更:2022-03-13 22:00:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:42:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码