认识SOC

Posted 四季帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了认识SOC相关的知识,希望对你有一定的参考价值。

1. 概念

SOC全称System on Chip,意为片上系统(或称为芯片级系统)

1.1CPU和SOC的区别

1.2 版本号之分

CPU核架构(ARM公司设计)  CPU核版本号(ARM公司定义)SOC版本号(SOC厂商定义)
ARMv7Cortex-AS5pv210(三星的)
ARMv7Cortex-AIMX6dl(恩智浦的)
 
 Cortex-AA的意思是application应用级处理器,就是手机、平板、电脑的CPU
 Cortex-MM的意思是microcontroller微控制器,就是单片机,比如最近火的stm32
 Cortex-R

R的意思是realtime实时控制器,响应速度快,主要用于工业、航空领域

 

2. 寄存器

寄存器存在于SOC内部,众所周知,我们编写程序控制硬件是通过寄存器来编程操控的,寄存器就好像是硬件提供的API供编程人员使用。

SOC中有两类寄存器:通用寄存器和特殊功能寄存器SFR(special function register)

通用寄存器(arm中有37个)是CPU的组成部分,CPU的很多活动都需要通用寄存器的支持与参与。

SFR不在CPU中,而存在于CPU的外设中,程序员通过访问外设的SFR来编程操控这个外设。

汇编可以用到通用寄存器,例如向特殊功能寄存器(地址为0x30008000,这里的地址是随便写的,方便理解)写入16,用汇编写是:

ldr r0, =16
ldr r1, =0x30008000
str r0, [r1}

用C语言写是:

int *p = (int *)0x30008000;
*p = 16;

相比可知,用汇编写用到了通用寄存器r0,r1, 而C语言写却没有,其实是C语言屏蔽了这个过程(这个过程依然存在,只是编译器在生成.s文件时帮程序员做了,不懂的可以看我的另一篇博客《编译原理》)

 

后续补充·····

以上是关于认识SOC的主要内容,如果未能解决你的问题,请参考以下文章

uboot之初体验

SIEMSOCMSS三者的区别与联系

涂鸦SoC零代码接入

stm32架构初认识

涂鸦智能SoC零代码开发接入

web应用,HTTP协议以及Django初次认识与安装