07
03
一个芯片从构想到完成电路设计是怎样的过程? 一个芯片从构想到完成电路设计是怎样的过程?
一颗芯片从无到有,从有需求到最终应用,经历的是一个漫长的过程,作为人类科技巅峰之一的芯片,它凝聚了人们的智慧。而芯片产业链也是极其复杂的,在此,我大致把它归为四个部分(市场需求–芯片设计–芯片制造–测试封装),然后再一一的做详细介绍。 一、
2023-07-03
03
PID算法:过程控制中的重要指标 PID算法:过程控制中的重要指标
PID算法广泛的被应用在很多的控制系统中,最终的目的都是希望通过pid控制器实现被控量能稳定在预期的目标值。使用pid控制器作用于系统的时候,正常情况下它应该是不断的发生作用的,从而让系统能够克服外部带来的干扰最终稳定在期望值。所以对于在一
2023-07-03
03
03
03
一文搞懂MLCC片式多层陶瓷电容器的特性 一文搞懂MLCC片式多层陶瓷电容器的特性
电容分类电容是三个最常用的无源元器件(电阻、电感)之一。电容的种类有很多,可以从原理上分为:无极性可变电容、无极性固定电容、有极性电容等,从材料上分主要有:CBB电容(聚乙烯),涤纶电容、瓷片电容、云母电容、独石电容(即贴片电容或MLCC
2023-07-03
03
科普:芯片设计流程 科普:芯片设计流程
芯片设计过程是一项复杂的多步骤工作,涉及从初始系统规格到制造的各个阶段。每一步对于实现生产完全可用芯片的目标都至关重要。本文概述了芯片设计流程、不同阶段以及它们对创建有效芯片的贡献。这些阶段包括系统规范、架构设计、功能设计、逻辑设计、电路设
2023-07-03
03
数字IC设计入门基础:IC验证设计流程 数字IC设计入门基础:IC验证设计流程
数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。主要是对数字前端的设计做验证。随着芯片规模不断加大,在IC设计过程中验证的复杂度也进一步加到,需要的用到的岗位人数也越来越多;很多大公司,数字前端设计工程师与验证工程师的比例
2023-07-03
03
02
02
不升级版本也可以修复单片机的bug 不升级版本也可以修复单片机的bug
前言在嵌入式产品开发中,难以避免地会因为各种原因导致最后出货的产品存在各种各样的BUG,通常会给产品进行固件升级来解决问题。 记得之前在公司维护一款BLE产品的时候,由于前期平台预研不足,OTA参数设置不当,导致少数产品出现不能OTA的情况
02
02
02
嵌入式设备差分升级原理和实现 嵌入式设备差分升级原理和实现
什么是差分/增量升级借用网上的介绍:适合嵌入式的差分升级又叫增量升级,顾名思义就是通过差分算法将源版本与目标版本之间差异的部分提取出来制作成差分包,然后在设备端通过还原算法将差异部分在源版本上进行还原,从而升级成目标版本的过程。差分升级方案
02
02
02
深入浅出讲解单片机的BootLoader 深入浅出讲解单片机的BootLoader
对于一个复杂的单片机项目来说,有一个 BootLoader(以下简称BL)是非常重要的。它可以使得你的应用程序代码维护和升级更加便捷。之前分享过一些软件升级的文章:嵌入式设备实现OTA升级的原理嵌入式设备差分升级原理和实现(附代码)专为32
02
如何减轻CPU负担 如何减轻CPU负担
「CPU运行时间是宝贵的资源,我们要把有限的CPU时间投入到更有意义的事情中去。」 在我们进行嵌入式开发的过程中,你一定干过这几件事:用GPIO模拟某种通信接口,比如SPI等;用空循环来实现延时delay;空等寄存器的关键状态位。也许是出
2023-07-02
01
用三种优雅的方式实现嵌入式状态机 用三种优雅的方式实现嵌入式状态机
状态机的实现无非就是三个要素:状态、事件、响应。 转换成具体的行为,其实就三句话: 发生了什么事? 现在系统处在什么状态? 在这样的状态下发生了这样的事,系统要干什么? 用C语言实现状态机,主要有三种方法:switch—case 法、表
2023-07-01
01
06
30
29
28
28
27
02
FOC控制算法详解 FOC控制算法详解
基本概念: FOC(field-oriented control)为磁场导向控制,又称为矢量控制(vector control),是一种利用变频器(VFD)控制三相电机的技术,利用调整变频器的输出频率、输出电压的大小及角度,来控制电机的输出
2023-06-02
02
02
01
01
Flex 布局教程:语法篇 Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C
2023-06-01
01
CSS样式表 CSS样式表
CSS,font-family,好看常用的中文字体 例1(小米米官网): font-family: "Arial","Microsoft YaHei","黑体","宋体&
2023-06-01
01
ARM语法 Part 7[栈和函数] ARM语法 Part 7[栈和函数]
Part 7:栈和函数在这一部分我们来看一下进程中叫做栈的内存区域。本章涵盖了栈的用途和相关操作。此外我们将介绍 ARM 中函数的实现、类型和差异。 栈一般而言,栈就是进程中的一段内存。这段内存是在进程创建时分配的。我们使用栈来保存一些临时
2023-06-01
01
ARM语法 Part 6[条件状态和分支] ARM语法 Part 6[条件状态和分支]
在探讨CPSR时我们已经接触了条件状态。我们通过跳转(分支)或者一些只有满足特定条件才执行的指令来控制程序在运行时的执行流。通过CPSR寄存器中的特定bit位来表示条件状态。这些位根据指令每次执行的结果而不断变化。例如,比较运算时如果两个数
2023-06-01
01
ARM语法 Part 5[加载和存储多个值] ARM语法 Part 5[加载和存储多个值]
有时你想要更有效率,一次加载(或存储)多个值。为此我们可以使用LDM(load multiple)和STM(stroe multiple)指令。这些指令有各种变体,基本上只因访问初始地址的方式而异。这是我们本节将要使用的代码,将一步步地认识
2023-06-01
01
ARM语法 Part 4[内存指令:加载和存储] ARM语法 Part 4[内存指令:加载和存储]
ARM使用加载(Load)/存储(Stroe)指令来读写内存,这意味着你只能使用LDR和STR指令访问内存。在ARM上数据必须从内存中加载到寄存器之后才能进行其他操作,而在x86上大部分指令都可以直接访问内存中的数据。如前所述,在ARM上增
2023-06-01
01
ARM语法 Part 3[ARM指令集] ARM语法 Part 3[ARM指令集]
ARM模式和Thumb模式ARM处理器主要有两种工作模式(先不算Jazelle)-ARM状态和Thumb状态。这些状态模式与权限级别无关,它们主要区别是指令集,在ARM模式下指令集始终是32-bit,但是在Thumb模式下可以是16-bit
2023-06-01
01
ARM语法 Part 2[数据类型] ARM语法 Part 2[数据类型]
与高级编程语言类似,ARM汇编也支持操作不同的数据类型。 我们载入(load)或存储(store)的数据类型可以是有符号或无符号的字、半字或字节。这些数据类型的扩展符是:-h或-sh代表半字,-b和-sb代表字节,其中字没有扩展符号。有符
2023-06-01
01
01
ARM汇编(5)-OC反汇编 ARM汇编(5)-OC反汇编
OC代码的精髓其实就是objc_msgSend。而OC的反汇编其实就是查看其中的方法调用。 objc_msgSend有两个参数,第一个是id类型,第二个是SEL类型。id、SEL其实都是一个结构体,内部有isa指针,所以这两个在内存中占有8
2023-06-01
01
ARM汇编(4)-指针 ARM汇编(4)-指针
1. 指针 指针也就是内存地址,指针变量是用来存放内存地址的变量。不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。可使用 & 运算符访问地址。 之前的文章中有过说明,指
2023-06-01
01
ARM汇编(3)-状态寄存器 ARM汇编(3)-状态寄存器
1. 状态寄存器CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)。这种寄存器在ARM中,被称为状态寄存器就是CPSR(current program status register)寄存器。 CPSR和其他
2023-06-01
01
ARM汇编(2)-函数 ARM汇编(2)-函数
1. 关于CPU的补充1.1 寄存器CPU除了有控制器、运算器还有寄存器。其中寄存器的作用就是进行数据的临时存储。 CPU的运算速度是非常快的,为了性能CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储
2023-06-01
01
ARM汇编(1)-初识汇编 ARM汇编(1)-初识汇编
1. 初识汇编 汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同
2023-06-01
01
01
Git命令汇总 Git命令汇总
Git目前是各大互联网公司使用的版本控制工具,进大厂,必须要学会Git的基本使用。于是乎,我熬夜整理了这篇文章。这篇文章主要是汇总讲解Git的使用命令。 Git的安装通过 https://git-scm.com/downloads ,gi
2023-06-01
01
VSCode搭建STM32开发环境 VSCode搭建STM32开发环境
玩过单片机的都知道,Keil是一款收费软件,虽然有相应的方法可以正常使用,但还是少不了很多麻烦,并且keil的界面对于我们开发者来说非常不友好。那么这时VSCode的出现就很好的解决了这一问题。今天我们就来使用VSCode搭建STM32的开
2023-06-01
01
01
05
30
30
你的MCU是怎么被破解的! 你的MCU是怎么被破解的!
在我们周围,MCU 的安全等级正在逐步提升,一些公司甚至推出了安全主控,这是很好的现象,说明各行业都越来越重视嵌入式领域的信息安全和程序安全了。但目前仍有很多行业,比如消费类电子产品,低成本的通讯模块、电源控制模块等等,迫于成本压力以及更新
2023-05-30
30
单片机解密技术简介 单片机解密技术简介
什么是单片机解密?单片机解密又叫单片机破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但E经成了习惯叫法,我们把CPLD解密,DSP解密都习惯称为单片机解密。单片机只是能装载程序芯片的其中一个类。能烧录程序并能加密的芯片还有DS
2023-05-30
1 / 2