那问题来了,MCU芯片作为一个里面只有晶体管的单身狗它是如何变成一个万物皆可的海王的呢?
就像武侠小说里练就神功第一步首先得打通任督二脉一样,想要MCU芯片变成万物皆可的海王第一步首先就要将程序这个东西注入到他的身体里面打通他的任督二脉,这样他才有机会开窍展现自己的魅力和代价,然后一步一步走上顶峰。
这便是我们本日所要讲的,程序是如何写入到MCU里面的。这大概分为以下几步:

第一、程序编写
MCU芯片的程序开拓紧张利用两种措辞——汇编和C措辞。汇编措辞是用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址;C措辞的设计目标是供应一种能以大略单纯的办法编译、处理低级存储器、产生少量的机器码以及不须要任何运行环境支持便能运行的编程措辞;两种措辞各有各的优点和缺陷,不能完备说哪个好和不好,须要根据不同的芯片类型和功能需求选择利用哪种措辞做开拓。如DSH551-LQFP48的芯片,其内置是 4K×16 位一次性可编程存储器(OTP ROM),利用在温控器或者遥控上时就适宜利用汇编措辞。
第二、编译器天生hex文件
开拓的程序须要转换格式才能利用在MCU芯片里面,而这个格式便是利用编译器转换的hex文件格式。hex文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据利用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。这里我们要说一下编译器,每个品牌的芯片对应的编译器都不一样,目前还不存在通用型的编译器。如51的编译器利用的便是keil或tkstudio、PIC的是MAPLAB+PICC 、飞思卡尔利用则是COLDFILE。
第三、程序烧录
烧录有分为离线烧录和在线烧录这两种方法,但一样平常大多数都利用在线烧录。由于离线烧录时如果生产测试涌现缺点,须要返回重新修正时须要把芯片从适配器上面拆下来,然后再重新按照规定的流程进行烧录,这种方法对人力物力耗费较大且本钱较高,以是一样平常都不推举利用离线烧录。
在烧录时,程序因此二进制(0低电平和1高电平)的形式,对芯片的内部相应MOS管栅极进行充电或放电,形成数据保存。例如:一窜00000001数据送人存储器,MOS栅极进行充放电保存,前面0000000七个对对应的MOS管放电以低电平形式保存,末了一个1,因此给MOS管栅极进行充电形式保存。这样就八个MOS管就保存00000001的这窜数据。
读取时,MOS管栅极放电输出为O,充电输出为1,将持续串的数据读取输出。
MCU芯片事情时首先是读取程序存储器的数据,然后是完备按照程序数据来事情的;当给MCU芯片内存储器烧录不同的程序,MCU芯片事情就不相同。
以上便是MCU芯片程序从研发到写入芯片储存器的三大步骤,不知道讲解的是否清晰呢?