关注+星标公众号,不错过精彩内容来源 | 嵌入式客栈一些初学单片机的同学,刚刚入手做单片机开发,还没有涉及到使用RTOS,且刚入手直接上RTOS可能会有些难度,有的使用的相对较老单片机资源还有限,也不适合跑RTOS。或者使用RTOS,在整体思路上比较迷茫,不知从何入手,所以本文来聊聊我对单片机程序的整体框架设计的一些思路体会。为啥要讨论架构单片机系统开发人员的目标之一是在编程环境中创建固件,以实现低成本系统、软件可靠性以及快速的开发迭代时间。实现这种编程环境的最佳方法实践是使用统一的固件架构体系结构,该体系结构在产品开发过...
开发单片机常见的IDE有哪些?(点击链接阅读原文)
关注+星标公众号,不错过精彩内容作者 | 深漂赵工编排 | strongerHuang在生活中,经常会碰到设备掉电的情况,像手机,智能手环,电脑等等;但是存储的东西不会丢失,比如电话号码,短信消息,记事本,微信,QQ信息等等均会被保存下来;恢复出厂设置后,这些东西才会消失;这是因为这些设备中都有一个“掉电保存”的器件,比如硬盘,U盘等等,他们的特点就是没电了之后,存在他们上面的信息不会丢失,就像人的大脑,有记忆功能。在工业领域也非常常见这种器件,一般有EEPROM和FLASH。它俩共同点是可读可写,断电保存;不同点是EEPROM写之前不用擦除...
关注+星标公众号,不错过精彩内容转自 | 硬件十万个为什么不同阶段的工程师,所做的事其实是不同的,今天就来分享一篇关于硬件工程师几个阶段的事情。1、享受“拉线”快感的阶段这个阶段主要是刚工作,刚开始接触硬件设计,根据项目需求,进行电路设计,处于模仿的阶段。这个阶段主要关注:“把线拉通”。这个阶段的做硬件工程师的乐趣和关注点在于:完成原理图和PCB。我觉得,我自己在这个阶段专注于使用软件,当时我们使用Protel99(暴露了年龄),后来切换成AD(这个软件如果使用盗版,可能会收到律师函)。绘制原理图:如何建库、如何连线、如...
关注+星标公众号,不错过精彩内容来源 | 麦克泰技术J-Link是嵌入式软件、硬件工程师最常用的工具之一,但是,在使用这个工具时,也会遇到各种各样的问题。今天来给大家讲讲最常见的一个问题:J-Link不能连接目标MCU。J-Link的连接使用J-Link,首先第一步硬件连接,确认J-Link和PC机之间是否连接正常,并确认上位机能和 J-Link 建立正确的通信。1.通过USB端口将J-Link连接到PC机;2.启动J-Link Commander;3.如果J-Link正常运行,则应该看到J-Link Commander窗口中报告USB连接正常。并输出其使用的固件信息:J-Link目标MCU的连接J-Link与你的目标MCU...
关注+星标公众号,不错过精彩内容来源 | 经济日报晶圆代工大厂台积电的薪酬果然诱人!台积电昨天上传企业社会责任报告书中,揭露去年总薪酬的中位数为181万元,约当是新进硕士毕业生年度薪酬;台积电总裁魏哲家则是中位数的233倍。证交所、柜买中心昨发布非主管级一般全时员工薪资资讯。在薪资中位数排行中,前十名中前九名公司的员工年领逾二百万元,IC设计公司上榜八家最多。以鸿海旗下鸿准达311万元跃居第一,其次是IC设计厂联咏273万元排行第二,第三联发科为264万元。至于台积电员工薪资的中位数为181万元,排全体上市柜公司第十六;鸿海员...
关注+星标公众号,不错过精彩内容来源 | TI、网络编排 | strongerHuang昨日(6.30),TI官方宣布:TI to acquire Micron 300-mm semiconductor factory, extending TI's cost advantage and greater control of supply chain大概意思:TI 收购美光半导体工厂,以提供产能和供应链。来源地址:https://news.ti.com/ti-to-acquire-micron-300-mm-semiconductor-factory-extending-tis-cost-advantage-and-greater-control-supply-chainTI宣布收购美光晶圆厂6月30日,美国最大记忆芯片厂美光(Micron)公布的本季财测高于市场预期,显示计算机与手机的...
关注+星标公众号,不错过精彩内容转自 | 涛哥依旧最近,一位同事急匆匆跑过来跟我说:糟糕了,服务器CPU的使用率达100%了。我心想不可能啊,CPU有那么多核,怎会跑满?于是看了一眼,结果虚惊一场。这位同事看到的100%,并非指整个CPU使用率到了100%,而是指CPU某些核的使用率到了100%.趁此机会,我来聊聊与CPU相关的概念,对很多软件开发和运维人员来说,这些概念是必须要掌握的:CPU主频多个CPU多核CPU逻辑核(超线程)大小端以一款CPU为例,看下具体参数: CPU主频(时钟频率) 在上面这些参数中,人们最熟知的是CPU主频(时钟频率)。买电...
关注+星标公众号,不错过精彩内容来源 | C语言与CPP编程学习编程与武功绝学 武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,掌握了足够多的招式后,加之勤学苦练,量变引起质变,会有一天打开任督二脉顿悟出这些招式背后的哲学逻辑,成为一代宗师。在编程的学习过程中,我们何尝不是从一招一式的函数、语法、特性等学起,掌握了一门编程语言后,再学习另一门语言就会快很多,如同拥有内功后,习得其他武功也会轻松很多。如果编程语言是一门武功绝学,各语言分别是哪门武功绝学呢?汇编语言 汇编语言 - 易筋经汇编语言是计算机提供给用...
关注+星标公众号,不错过精彩内容素材来源 | 致远电子编排 | strongerHuang单片机、Cortex-M、Linux它们和嵌入式有什么区别?跑 Linux 操作系统需要什么处理器?ARM9、ARM11?Cortex-M比ARM9更新,为什么不能跑Linux?相信很多小伙伴都有类似这样的疑问,下面围绕Cortex-M、 ARM、 Linux来讲讲相关内容。ARM和Cortex-MARM处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的模型。ARM的指令集从ARMv1发展到今天的ARMv9,每一次体系结构的修改都会添加实用技术。在ARMv6之前,其内核指令集架构都是单一款式,但在ARMv7开始,其指令集架...
关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏我们平时使用的U盘、硬盘都有哪些格式,它们有什么区别?下面给大家科普一篇日常生活中我们可能存在疑惑的内容。常见文件系统我们常见的文件系统有:FAT(FAT16)、FAT32、exFAT 和 NTFS等。我们格式化U盘(或其他磁盘)时,一般有这几个文件系统格式可选择:当然,有些U盘不支持FAT,支持的格式与容量和磁盘类型有关。FAT32FAT32文件系统用4个字节(32位)空间来表示每个扇区配置文件的情形,所以叫FAT32。分区容量最低是512M,而上限的话不同的操作系统都不一样,Wi...
关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏前几天,有读者在后台问,他是一个机械专业的学生,想转到嵌入式方向,问我有没有必要转?如果转嵌入式该怎么学?今天我们特意分享一下这个话题,希望能帮到那些想转嵌入式领域的朋友们!有没有必要转?当局者迷,旁观者清,关于转行这件事,先听听其他人的看法:机械到嵌入式,我觉得不是完全转行,算是自己专业领域的拓展,毕竟嵌入式软件不是纯理论的东西,绝大部分是通过机械来实现其功能的。举一个例子,你觉得设计一个机器人都需要哪些知识?仅仅的机械设计和嵌...
关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏经典的AT89C51单片机,其内部只有128字节RAM(内存),同样经典的MSP430F149也只有2K的RAM空间。即使现在用的比较多的STM32F1系列,其最大的RAM也不到100K。很多小伙伴就有这样的疑问:现在固态硬盘都以 T 为单位了,手机电脑内存都是8G、甚至32G了,为什么单片机RAM连1M都不到?今天就来讲讲关于RAM以及单片机内存少的几点内容。(备注:本文说的单片机,指MCU,微控制器)关于RAMRAM:Random Access Memory,随机存取存储器,也是大家所说的内存。RAM是一种易失性存...
关注+星标公众号,不错过精彩内容作者 | 阮一峰编排 | 编程技术宇宙学习编程其实就是学高级语言,即那些为人类设计的计算机语言。但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。汇编语言不容易学习,就连简明扼要的介绍都很难找到。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU...
关注+星标公众号,不错过精彩内容转自 | 麦克泰技术内存保护单元(MPU)是一种硬件机制,通过只允许代码访问需要的内存和外设来提高嵌入式设备的安全性。应用程序可以组织为进程(process),每个进程访问自己的内存和外设。MPU不仅阻止应用程序代码访问其指定区域以外的内存或外设,而且还可以用于检测堆栈溢出。我们基于ARM Cortex-M MCU中的MPU,讨论一下MPU所提供的一些特性。MPU是什么?内存保护单元(MPU)是一种硬件机制,只允许需要访问某些资源的代码访问相应的内存和外设。MPU常用于安全关键应用,如医疗设备、航空电子设备、工业控制、核电...
关注+星标公众号,不错过精彩内容来源 | 博文视点技术快速发展的今天,几乎离不开服务器,今天来讲讲C/C++、操作系统、后端开发等与服务器开发相关的内容,顺便文末送一些书籍。C/C++当前的应用领域C++在传统上很强势的领域中依然具有统治地位,譬如服务器端开发、游戏开发、嵌入式软件开发、基础设施和超大型软件应用领域。1. 我们目前见到的各种桌面应用软件,尤其是Windows桌面软件,例如QQ、安全类杀毒类软件、浏览器等。2. 一些基础软件和高级语言的运行时环境,例如大型数据库软件、Java虚拟机、C#的CLR、Python编译器和运行时环境等。3. 业...
关注+星标公众号,不错过精彩内容来源 | 记得城今天分享四种常见的MOS管栅极驱动电路,都用过吗?1、IC直接驱动型这种电源IC的直接驱动是最常见、最简单的驱动方式。图1 IC直接驱动MOS栅极使用这种方法,我们应该注意几个参数及其影响。首先查看电源IC手册,了解最大峰值驱动电流,因为不同的IC芯片具有不同的驱动能力。其次,检查MOSFET的寄生电容,如图中的C1、C2和C3,如果容值较大,导通MOS管所需的能量也比较大。如果电源IC没有足够的峰值驱动电流,晶体管将以较慢的速度开启。如果驱动能力不足,上升沿可能会出现高频振荡,即使减小图1中的Rg...
关注+星标公众号,不错过精彩内容来源 | 魔罗技术介绍一种无OS的MCU实用软件框架,包括任务轮询管理,命令管理器、低功耗管理、环形缓冲区等实用模块。系统中广泛利用自定义段技术减少各个模块间的耦合关系,大大提供程序的可维护性。主要功能支持模块自动化管理,并提供不同优先等级初始化声明接口。支持任务轮询管理,通过简单的宏声明即可实现,不需要复杂的声明调用。支持低功耗管理,休眠与唤醒通知。支持命令行解析,命令注册与执行。blink设备支持,统一管理LED、震动马达、蜂鸣器使用说明完整的代码可以参考工程文件,系统开发平台如下:MCU...
关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏RTOS:Real Time Operating System,实时操作系统。一些初学者,以及刚工作不就的工程师都有这样的疑惑,今天就来分享一下这个话题:该不该用RTOS?回顾裸机时代刚开始学单片机,基本都是从裸机开始,经典的“项目”就是流水灯,也是你学习单片机的开始。但是随着学习的不断深入,裸机所暴露的问题就越来越多,这里我给大家总结下吧:1、并发性:程序并发工作效率低在写裸机软件时,不可避免的在主程序中会有一个超级大的 while(1) 循环,这里面几乎包含整个项目的所...
经常有读者问类似这样的问题:如何学习嵌入式、电子设计开发?新手该如何学习单片机开发?学习单片机有没有好的学习资源?有没有推荐学习的开发板?今天,就来给大家分享一下学习单片机的方法和常见知识点。兴趣爱好如果你对一件事失去了兴趣,我觉得你把这件事坚持做下去的概率很低。反之,如果你对一件事非常感兴趣,又愿意坚持去做这件事,那么你离成功不远了。学习单片机有一个特点:就是有很多“趣味性”,比如:点亮一个灯、显示一行字、放一首音乐灯。所以,如果你对单片机有兴趣,我觉得你可以尝试学习一下。什么样的开发板,适合新手?1.可...
今天周日,分享一下我的视频号和知乎,欢迎大家关注。我的视频号视频号主要是为短视频,目前内容比较少,计划后续整理一些简短功能分享在视频号。我的视频号:strongerHuang微信扫描下面二维码,关注即可。我的知乎打算抽时间在知乎分享一下,顺便抽空回答一些问题,欢迎大家搜索并关注。知乎搜索用户『strongerHuang』,或扫码识别二维码关注。地址:https://www.zhihu.com/people/strongerHuang.com(公号不支持外链接,请复制链接到浏览器打开)
常见EDA软件工具有哪些?(附EDA企业名单)(点击链接阅读原文)
关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏Python的火热程度相信大家都看到了,自然,MCU和嵌入式也紧跟“潮流”,随之而来的就是MicroPython。关于MicroPythonMicroPython 是Python 3编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并针对在微控制器和受限环境中运行进行了优化。MicroPython 同样具有很多高级功能,例如交互式提示、任意精度整数、闭包、列表理解、生成器、异常处理等。然而,它足够紧凑,可以在仅 256k Flash和 16k RAM 的MCU上运行。MicroPython 旨在尽可能与普通 Python 兼容...
关注+星标公众号,不错过精彩内容来源 | 漫谈嵌入式LCD(Liquid Crystal Display):又称液晶显示器。广泛应用于嵌入式、移动端、pc 端。之前分享《LCD中8080和6800接口的区别》有读者让分享一下LCD其他接口,今天就来分享一下LCD更多接口内容。1 LCD 分类如下按信号类型分为 TTL/LVDS/EDP/MIPI 几大类别按材质分类分为(针对 TFT-LCD) TFT-TN/TFT-IPS/TFT-VA。接口类型分为:RGB 模式、SPI 模式、MDDI 模式、VSYNC 模式、DSI 模式、MCU 模式等2 LCD 常用的接口模式介绍RGB 模式RGB 模式就是我们通过说的 RGB 屏,以 RGB(TTL 信号)并行...
关注+星标公众号,不错过精彩内容转自 | 嵌入式大杂烩本次给大家分享一位大佬写的应用于单片机内存管理模块mem_malloc,这个mem_malloc的使用不会产生内存碎片,可以高效利用单片机ram空间。mem_malloc代码仓库:❝https://github.com/chenqy2018/mem_malloc❞mem_malloc介绍一般单片机的内存都比较小,而且没有MMU,malloc 与free的使用容易造成内存碎片。而且可能因为空间不足而分配失败,从而导致系统崩溃,因此应该慎用,或者自己实现内存管理。mem_malloc就是一个不会产生内存碎片的、适合单片机使用的内存管理模块。其与使用malloc的区别如:...
关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏因为x86 架构与 Arm 架构商业使用都要付费,因此,RISC-V开源具有很大优势。今天就来说说 RISC-V 生态的内容。关于RISC-VRISC:Reduced Instruction Set Computer,即精简指令集计算机。RISC-V是基于RISC原理建立的免费开放指令集架构(ISA),V是罗马字母,代表第五代RISC(精简指令集计算机),可读作RISC-FIVE。2010年,加州大学伯克利分校的一个研究团队准备启动一个新项目,为新项目选架构的时候研究团队看到了Arm、MIPS、SPARC和x86等。但这些指令集不仅复杂,还...
关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏很多朋友长时间使用裸机编程,切换过来学习RTOS,就对其中很多概念产生误解。大部分人开始学习RTOS实时操作系统时,对RTOS中的一些概念都不太理解。一上来就是临界段、调度、信号量、互斥锁等这些概念,相信大部分初学者都是懵的。不太懂这些概念很正常,一下子懂了,我倒反而觉得不正常。1什么是多任务这里大部分人应该都是从裸机阶段过来的,裸机系统一般也称之为单任务系统、轮询系统或前后台系统。这个概念相信大家都能明白,轮询就是在一个大while循环里执行。...
关注+星标公众号,不错过精彩内容来源 | ERYUESANHI编排 | strongerHuang今天分享一篇单片机程序框架的文章。程序架构重要性很多人尤其是初学者在写代码的时候往往都是想一点写一点,最开始没有一个整体的规划,导致后面代码越写越乱,bug不断。最终代码跑起来看似没有问题(有可能也真的没有问题),但是要加一个功能的时候会浪费大量的时间,甚至导致整个代码的崩溃。所以,在一个项目开始的时候多花一些时间在代码的架构设计上是十分有必要的。代码架构确定好了之后你会发现敲代码的时候会特别快,并且在后期调试的时候也不会像无头苍蝇一样胡乱找...
关注+星标公众号,不错过精彩内容来源 | nhczp编排 | strongerHuang大家应该都在用U盘,而U盘中的存储芯片就是NandFlash,你买的64G的U盘,实际并没有64G,其中一个原因就是存在坏块。因为工艺和其他方面的原因,不能保证NandFlash不存在坏块,因此就需要“挑选出坏块”。本文就为大家讲述一下用于NandFlash的ECC校验原理与实现。ECC简介由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略...
关注+星标公众号,不错过精彩内容来源 | 极客时间10 个程序员里面,10 个都说自己学过网络协议,9 个说自己懂网络协议。但真正面试的时候,能回答出相关问题的,可能只有两三个。比如:TCP 协议跟 UDP 协议有什么区别?HTTPS 协议的底层原理是什么?阿里的 Dubbo 框架都使用了哪些传输协议和序列化协议? 想想这些你都能答出来吗?其实,参加过大厂面试的小伙伴应该都清楚,无论是国内的互联网大厂还是硅谷的 IT 公司,面试多少会问网络协议的知识。 这并不难理解,毕竟大厂更注重程序员的基本功,而且几乎所有的程序运行都会涉及到网络协议,一旦...