产品选型

冷门单片机 STM32为何能在众多单片机中脱颖而出?

小编 2024-10-07 产品选型 23 0

STM32为何能在众多单片机中脱颖而出?

现在STM32资料教程如此丰富,但还是很多人学不会…

假如STM32像10年前的NXP单片机资料一样少,估计学不会的人会更多。

大家好,我是无际,一个踩坑单片机开发10年的老油条。

这些年,我用过很多不同的单片机,使用起来基本大同小异,就是配置寄存器把单片机用起来。

有些则不用自己去配置寄存器,直接调库使用,比如说STM8、STM32。

用过这么多,我个人认为最爽的就是ST的单片机,也就是STM8/32,其次是STC的。

因为这两款单片机资料教程太多了,也成熟稳定。

我永远也忘不了,一些冷门单片机,因为一个外设,调了我2个星期那种愤怒。

我也永远忘不了,有些单片机必须得用冷门的开发环境,开发环境和芯片都不熟,资料又少,代理又懒得鸟你那种无助。

还有一些芯片,光烧录器都几百上千的,我都不好意思开口叫采购买,怕他怀疑我是不是偷偷挣差价。

这些,都是我在开发生涯经常碰到的苦逼事,

老板只管成本、品质、周期,可不管工程师头发会不会掉光

有些时候,碰到那些奇葩的芯片,真的想大声骂一声:去NMLGB,什么辣鸡玩意!

我还是比较喜欢主流的STC和STM32,让我用一些不熟悉的冷门芯片开发产品,我甚至都想离职。

拿STM32来举例,不管我碰到什么问题,外设不会用、编译出错等等,网上一搜都能很快地找到问题并解决。

ST公司唯一让我愤怒的一次就是用他们stm32cubemx的时候,因为没配置好把我桌面文件全删了。

后面气得我把巴不得手撕stm32cubemx,最可恨的是还删不掉,应该是要装辅助软件,简直就是流氓软件鼻祖。

在接下来的日子,我还是用比较原始的固件库来开发,免得被坑了都找不到人倾诉。

我相信大多数工程师想法和我一样喜欢STM32这种开发模式,毕竟人都是懒惰的,谁会没事给自己找事(尝试用新芯片)。

STM32之所以能在众多单片机中脱颖而出,我个人感觉有以下几点:

资料教程丰富,开发板满天飞,代理的FAE简直太轻松了。 完善的库,不用配置寄存器,缩短产品开发周期。 价格合理(今年暴涨除外)。 好拿货,以前用stm32开发产品基本不存在买不到芯片的情况(今年除外),或许是我们量太小. 性能稳定,基本不会存在乱七八糟的问题,偶尔电源短路一下芯片也没烧。 尊重客户需求和开发者,企业最看重的就是即快又稳,最好成本也低,工程师最喜欢就是资料丰富,使用简单,快速上手,ST一直在朝这方面努力,包括以前提供固件库方便工程师快速开发产品,现在又慢慢在搞stm32cubemx,让使用它们芯片门槛更低,还有廉价的烧录器等细节。

除了这些以外呢,ST的产品线也很丰富,基本高中低端的都有相应的型号解决不同的产品需求。

当然,可能还有其它,暂时没想到…

不过,我感觉,如果数据手册能符合国人的阅读风格,那就更好了。

即便用了这么多年,现在让我去看数据手册,都有点头皮发麻,很多也看不懂,其实你复制开发板例程一用,也就那么回事。

这里呢,也分享下个人看数据手册小技巧,就是先不看,先撸了代码再说,代码没问题再通过代码去理解数据手册。

比如说定时器,有周期、有分频、有计数模式,程序上基本通过结构体成员来配置,非常简单。

如果让你看数据手册去写这个程序,一定无从下手。

下面来说下,STM32怎么学比较好上手。

1.通过开发板去学习

这个也是大多数人的学习方法,相信很多新手都去看过一些视频教程吧,比如说某子某火的,我也看过。

前面那些还好,越往后其实看得越懵逼,越迷茫。

我建议呢,先看一遍教程,然后自己动手操作一遍,不懂了再看一遍教程,这样会比较好理解。

千万不要看懂了,而不去实践,看懂和会做完全是两码事。

2.通过项目去学习

相信很多人学完开发板以后还是会很迷茫,虽然外设都会用,但是不知道怎么通过这些来做项目。

我当初是因为公司产品需要,才接触到STM32,所以我当时我没有看过视频教程,而是买了一个开发板,把他们的外设例程拷贝到自己的产品上使用。

很多外设,我都没用到,我粗略记得当初就只用到了GPIO、定时器、串口、ADC、DMA。

因为产品只需要用到这些外设,剩余的也没时间去学,直到后面有新产品需求,又学了FSMC、SDIO等等。

其实学习就是需要这种循环渐进的过程,刚开始先学基础,然后通过项目实践,后面再学芯片高级功能,再通过项目实践。

只有这样,你的理解能力才能跟得上节奏,不然你看教程,用不到也是浪费时间,很快就忘了。

这也是为什么我们无际单片机编程通过以项目驱动去带学员学习单片机。

通过项目,你才能深刻理解你所学的东西到底有什么用,用在哪里,学习也更有目标性。

不过等你也做了3,5年以后,你就会理解,虽然我们从事单片机开发,但是重点不是学习单片机。

技术更新迭代很快,单片机市场也很卷,说不定明天就会有更好的芯片替代你目前使用的。

所以,一个合格的工程师,不应该依赖任何一款单片机,思维才是你的真技术。最后,祝我们国产芯片快速崛起!

单片机的加密手段之三(反击篇)

写第一篇《一种常用的单片机加密手段》的时候,我没想到会写到第三篇,源自于和很多朋友之间的交流和疑问,以及工程师们对破解的痛恨,因此这一篇我来教大家一种常用的简单的反击思路。

首先再来强调一下,任何一种加密手段,都不是绝对加密,都是相对加密,我们要做的加密手段是让破解者付出一定的代价,当这个代价大到他花费破解的精力和金钱,已经远远不如直接购买你的产品或者你的方案,或者自己独立开发出来更划算的时候,他自然而然就不会对你的产品进行破解了。那下面我介绍一种特定条件下,可以实施的一种反击手段。

第一篇我们介绍了一种加密手段,利用的是主芯片的唯一ID,但是现在市面一款主流的32位的MCU的system区域的唯一ID照样被调试工具改写。第二篇我们还介绍了一个自己做的虚假唯一ID,用来欺骗。那如果破解者进行芯片的全面复制,我们这两种办法还都是无能为力的,他把唯一ID和虚假唯一ID全部复制到他的新芯片内,我们还是做不到加密的功能,这个时候,我们可以采取上一篇介绍的加密芯片或者冷门单片机单独加密的方法。

那如果有一个特定条件,比如我们的产品是一个本身可以上网,连接到网络上的设备,那么我们就可以在我们的程序中留一定的后门,通过我们的服务器来监控我们产品的ID情况,既然可以监控,那么也就可以控制。

我们可以让我们的产品,每隔一段时间,这个时间可以是一天,可以是一个星期,可以是一个月的特定时间,跟我们的云端总服务器通信一次,来汇报一下他的ID信息,当我们监控到出现某一个ID被复制,产生了很多个相同ID的产品,或者出现和我们系统的ID不同的产品出现,那下面的工作你的程序想怎么办就怎么办了。

简单来说,可以直接让设备不工作。但是破解者有可能想出办法来再次破解。

复杂点来,就让设备工作不正常,并且没有规律,最好是不同的设备产生随机数,根据随机数的情况来让产品工作不正常,这样多个产品不正常的规律不一样,并且最好不要太频繁。工作不正常的方式也可以采取一些比较诡异的手法,这样破解者难以分辨是硬件器件问题,还是软件代码问题,让破解者难以找到问题,而且事件一旦触发,你的产品在不接入网络的情况下,依然隔一段事件会不正常。

这样做会让破解者付出惨痛的代价,有可能做出很多产品,付出很多成本,到最后产品都不工作。这样是不是残忍点了?对我们无比残忍的破解者,我们这点手段不算什么的。

加密和解密,是一个永不止步的工作,一种新的破解手段出现,我们就要能够再次研究出新的加密手段。

关于加密手段的内容,到此为止,下节课我们将会提供新内容。也欢迎大家讨论,提出想了解的技术话题,我会选取合适的话题给大家讲解。

相关问答

怎样防范应对 单片机 解密?

[回答]任何一款单片机芯片,从理论上讲,反向研究只要有足够的费用和时间将其破解。所以,在用单片机做加密认证或设计系统时,应尽量加大解密的破解成本和所...

大学有哪些专业很 冷门 ,但毕业待遇不错的呢?

聚焦职教根据全国职业院校各专业近五年开设数量的变化,以及各校专业情况,整理并统计了相关数据,选出高职高专院校十大飞升的冷门专业。一起来看看吧!01中医...

电子科技大学的研究生好考吗?复试黑不黑..._考研_帮考网

这个专业基础课考数学和英语、政治,数学通常是数一,专业课根据学校和研究方向而异。通常专业课考电子技术和信号与系统以及通信原理,复试笔试的专业...

光学工程专业毕业最好单位?

光学工程是一门历史悠久而又年轻的学科。它的发展表征着人类文明的进程。光学工程专业就业前景较好,由于光学工程类专业较为冷门,光学工程行业专业人才紧缺,所...

珠海超毅电子有限公司是PCB设备生产厂吗?

[回答]伟创力(珠海)工业园MULTEK集团(超毅、德丽、硕鸿)一、公司介绍Multek是伟创力国际集团属下的一间世界领先的跨国性专业印刷电路板制造商,集团总部...

河南省三本院校中那个心理系好..._心理咨询师_帮考网

本专业有三个发展方向,第一个是工业过程控制方向,第二个是电气工程方向,第三个是嵌入系统方向,而不建议去学冷门心理学。自动化专业方向趋势。1...

汽车ECU如何改装?

针对汽车ecu的改装也就是刷写ecu程序了当然刷写要用到设备,我们首先讲下主流设备。市面上常见的设备无非这几款,ktagcmdautotunerdimsport等,除了autot...例.....

请问各位计算机专业的同胞们,上本科的时候,你们的编程语言课本是全部讲完吗?

小石头本科是计算机软件专业,下面与大家分享一下自己对编程语言学习的经历和一些看法:上学时,系里安排的必修语言是Pascal,之后相关的数据结构,编译原理...

电气自动化与机电一体化有何异同? - LJ❤️JR 的回答 - 懂得

机电一体化专业的培养目标本专业培养德、智、体、美全面发展,具有创业、创新精神和良好职业道德的高等专门人才,掌握机械技术和电气技术的基础理论...

猜你喜欢