一、C51与stm32的关系
c51属于传统的8位单片机,是由intel公司在1980年开发的MCS-51系列单片机发展出来的,也称为8051。
ARM公司推出了一款基于ARMv7架构的Cortex M3/M4的32位的内核,一般用在工控场景,ST公司就基于这个内核推出了一款新的MCU(微处理器),就叫做STM32。
二、stm32的芯片内核架构
ARM 是一家公司 设计芯片的IP内核(不生产芯片) 授权给其他的半导体公司(三星、ST意法半导体、TI德州仪器 )
ARM以前的内核:ARM7 ARM9 ARM11 (经典)
ARM现在的内核:Cortex A Cortex R Cortex M
A系列:面向高端智能产品(手机、平板、数字电视 一般搭载操作系统....... A8 A53 A72....)
R系列:面向高性能实时应用(航空航天、汽车制动系统、硬盘..... R5 R8....)
M系列:面向成本敏感型产品(低功耗、智能穿戴产品、智能家居、消费类电子产品..)
今日分享:
分享一道关于经典ARM 9的面试题:
下面两段ARM9的代码有什么区别:
struct TestStruct1
{
char c1;
short s;
char c2;
int i;
};
struct TestStruct2
{
char c1;
char c2;
short s;
int i;
};
答案是:TestStruct1
和TestStruct2
在成员变量的类型和顺序上没有区别,但是它们的布局和内存占用有所不同,因为结构体的成员变量对齐规则可能会引起内存空间的浪费。
例如:如果是4字节对齐: