科学健康资讯 · 内容仅供参考,不替代专业诊疗 联系我们|疾病百科
操作系统

stm32操作系统

2023-04-30 操作系统 本文链接

学习了半年,终于让stm32系统板上的led灯亮起来了[流泪][流泪]

大家觉得我还有必要坚持下去吗?

新买的STM32开发板到了,我先熟悉一下,下个正式给大家做这方面的专题培训,以功能项目开发为牵引,带大家从0基础开始,到如何建立项目代码结构,到如何写出优秀的项目代码。全方位、全系统、有深度的给大家介绍。

助力大家在短时间内达到嵌入式开发工程师初中级的的水平。

用了解决一年的stm32icon,做过触摸屏,还有各种小模块的传感器,跑过轻量级系统,以为32就这样了,只不过性能更好。结果我发现我以前接触的32只是冰山一角,甚至连开发32的软件都没有熟悉,这次要用到FFT算法去搞一样东西,感觉学的东西太少了,接触到DSP之后感觉学无止境。真的要接触到某一样内容,才可能去了解,否则一辈子也不知道,只能坐井观天说stm32单片机简单。

#STM32# #STM32# #30天学会STM32# 今天是学习32的第六天,昨天并不是我拖更,主要是系统审核了差不多十二个小时左右,所以没能及时发出去。今天一个研究生学长突然问我,32跑马灯的原理,我瞬间就被问懵了,我不知道该怎么回答,我以为学长就是问着玩的,但是他认真的说让我看程序,看完了再回答他,于是我就认真的看了看,主要还是通过51的思维去回答他的,后来他给我介绍关于32的固件库等一系列东西,我才觉得自己以前的学习真的太过于注重代码了,关于基础的原理什么的都只是一知半解,真是惭愧啊!

还有就是我学些东西就是本着兴趣去学习,就觉得我能通过这些技术控制一些东西是多么自豪和牛啊,于是我就没有太上心去学习,现在我的态度改变了,我要么不做不学,要么就要把这件事,认真去做尽力做到尽善尽美!

加油!

一个人跑到了郑州来找工作[泣不成声]

自己会STM32开发,熟悉PCB电路板绘制,熟悉FreeRTOS系统移植,熟悉西门子系列PLC[泣不成声]

可是工作好难找

采用STM32处理器替换DSPIC30F6014设计的静电除尘控制器,再加上4G/Wi-Fi模块,实现物联网功能,进行远程监控/固件升级和工程收款。

有人说4G和Wi-Fi太低端,可靠性太差,不适用于工控场景,按我的设计方案,通信模块是独立的模块,与主控的运行完全隔离。即使通信模块出现问题,主控仍然能正常运行、不受影响。

整个系统已经完成了基本功能和测试,云平台上的控制网页稍做修改就可以收尾款了。

深圳市易推网信息技术有限公司是物联网(软件+云+智能硬件)设计解决方案提供商,(以下简称方麦科技)易推网多年物联网(软件+云+智能硬件)电子产品解决方案开发设计经验。

  累计开发物联网软硬件产品应用设计方案近百种。目前为客户提供理念超前物联系网技术应用:(包含:手机app、小程序、公众号、生活号H5开发、云端平台、手机端管理后台、PC端管理后台、移动支付技术 、PCB电路板设计、ARM单片机技术、stm32技术、嵌入式系统、脉冲技术、GPRS+GPS技术(4G、2G)、wifi、蓝牙 、NB-IOT、zigbee、433 、RFID射频、PM2.5采集、温度采集远程控制、湿度采集远程控制、继电器电源远程控制、光感传感、雨感传感IO、云平台协议定议等)。

  方麦主要承接业务:共享经济项目系统开发及研发、物联网大数据集成管理控制系统开发及研发(包含: PCBA设计开发生产、扫码支付联网控制模块开发、云服务、云计算、云存储的大数据管理软件设计等技术服务)。

  共享经济精典案例:共享按摩椅、共享车载按摩垫、共享按摩抱枕、共享空气净化器、共享电锅炉、共享暖炉、共享陪护床(柜租取式、床头柜式)、共享纸巾机、扫码售水机、自助饮料机、自助太空舱、自助净水器、自助干衣机、共享洗衣机、自助洗车机、自助售货机(弹簧柜、人脸识别、称重型、格子柜)、自助建身房、共享钢琴房、共享充电宝(柜租取式、充电线式、密码式)共享擦鞋机、共享雨伞(RFID识别)、共享微波炉、共享新风机、共享储存柜、共享玩具柜、共享充电桩(电动车、汽车)共享单车等------

  物联网大数据管理控制系统精典案例:智慧城市环卫管理系统、智慧校园管理系统 、水电表集抄管理系统、智能设备远程追溯系统、智能设备大数据采集控制系统、智慧家具管理系统、智慧农牧业管理系统、

缺芯问题日益严重,ST的Cortex-M0的处理器已经基本上买不到了。

而客户却源源不断地向我们下订单。

不得已,我们准备导入国产替代芯片CKS32F051R8T6。

根据之前在头条上发起的讨论结果,

产品使用ST的代码库的license是一个绕不过去的话题。

经过去代码的分析,除了启动文件startup_stm32f0xx.s以及系统初始化文件system_stm32f0xx.c,

我们并没有使用ST提供的其它的代码库。

在这两个文件中,license声明中明确说明了,代码以及编译出来的二进制代码只能被应用于ST的产品以及为ST设计的产品。

原文如下:

This software or any part thereof, including modifications and/or derivative works of this software, must be used and execute solely and exclusively>

西方限制软件编程C++、C、java、JavaScript,硬件的Arm、stm32系列、plc等国内会不会经济停滞?程序员会不会全部失业?

关闭开源项目,会怎样。springboot、webpack、npm、QT、vscode漂亮国不让用了会发生什么?linux、windows会怎么样。

程序员工作的软、硬件体系是建立在西方体系上的,各种开源工具和项目!

经济全球化梦碎!

经济全球化,其实是西方发达国家提出的,有利于其统治全球的规则。一旦由国家或组织在他制定的框架内,战胜它,就要掀桌子不玩了!

1. 俄罗斯研发EUV级光刻机

航空发动机设计软件国产化:KOMPAS-3D系统

2.  华为孟晚舟事件

      华为自研芯片

华为鸿蒙操作系统HarmonyOS

3.  ZTE中兴通讯被制裁五年

一桩桩事实是能说明问题的。

出来工作五年,目前在现在这家小公司做电子工程师两年了,技术上原理图设计、PCB layout、单片机编程、接线图还有BOM都要做,有时候还要跟客户沟通项目需求,几乎每天都忙得不可开交。有时候静下来想想每天都累死累活的,好像又没得到什么。板子画来画去无非就是几路输入口加几路输出口,再加上几路ADC测量,要么就是测量频率,或者输出PWM,然后再跟上位机交互,除此之外就没有别的玩法了。单片机就是STM32和51,不跑操作系统,没有复杂的算法。天天累死累活的,技术上却没多大进步,薪资上不具有市场竞争力。

#RISC-V架构#最近一些学院派专家、教授、院士开始倡议国家支持RISC-V开源芯片构架。

天下没有免费的午餐--但是我们的专家们仍然挺热爱接纳“开源”。我记得美国对华为的制裁,第一波是从禁止使用谷歌移动服务GMS(Google Mobile System)开始的。

众所周知的是,依赖于开源安卓系统发展起来的GMS不仅为谷歌带来巨额利润,而且成了关键时间节点制裁中国企业的利器。另一方面,中国实际上是开源安卓系统商业化生态发展的主力推手之一。

那么,开源的RISC-V果真是能解决我们的困境吗?[what][what][what]

我去RISC-V主页看了一下,其中公布了详细的基于RISC-V开源指令集开发的IP核心、SoC平台、SoC芯片列表。这里需要注意的是,RISC-V的指令集开源,但是基于指令集开发的这些IP核心、SoC平台、SoC都是可以商用,并且不需要公开源代码的。那么我们仔细看下这三项:

1,IP核心共有111个条目,其中大约80%是需要商业授权的(具体授权的条目由设计方确定)。

值得一提的是,其中麻省理工学院发布了8个。而中国似乎仅有阿里巴巴发布了4个玄铁IP核心。

2,SoC平台方面,共有31个条目,其中也是大约80%是需要商业授权的。这里面我没有认出有中国企业发布的项目。

3,SoC方面,共有12个条目。这相当于卖成品了,自然不会免费了。这里面有一家是中国企业发布的项目--兆易创新GD32VF103(这似乎是一款对标STM32的国产MCU?)

此外,RISC-V官网公布了基于RISC-V构架芯片的软件,一共25条,其中60%左右需要商业授权。而美国麻省理工学院一家大学便发布了10个软件系统,占到了40%。这里我也没有发现有中国企业发布的信息。

最后,RISC-V官网提到基于RISC-V构架芯片制作的开发板达到88款,这里面有几款中国企业开发的,这里就不多说了。

我们从RISC-V指令集开源以来创建的硬件生态来看,的确有这样的明显的特征:在指令集开源省去了数百万美元的授权费用后,芯片设计的门槛大幅降低--因为很显然美国已经准备齐了各个层级的生产力工具供大家挑选。

那么,我认为有两个问题需要回答一下:

1,如果国内的大批所谓高端芯片(例如AI芯片、FPGA等)直接采用RISC-V构架下的免费或付费的IP核心或SoC平台开发的成品,那么其所谓的技术壁垒、商业价值将如何体现呢(华为采用ARM构架开发的麒麟芯片,通常是需要支付数百万美元的授权费用)?

2,国内大力发展的RISC-V开源构架产业,亦是如同当年的安卓系统一样,是为美国的RISC-V生态链做贡献吗?或者说,当中国花大力气构建RISC-V生态链后,是否亦有可能迎来两个新的困境:一是继续被美国收割生态红利;二是中国在RSIC-V生态中出类拔萃的企业将继续被美国制裁?(请注意上文提到:RISC-V指令集开源,可是开发IP核心、SoC平台、SoC芯片的企业可是受到美国控制的。)

如果没有强大的内建创新机制,恐怕难以从依赖美国的开源指令集出发,来实现所谓的弯道超车。

那么,为何专家们依然热衷于讲开源故事?

参考链接:

RISC-V IP核心&SoC:网页链接

RISC-V 软件:网页链接

【西安交大学子获第十届全国海洋航行器设计与制作大赛一等奖】

近日,第十届全国海洋航行器设计与制作大赛暨第三届“海上争锋”中国智能船艇挑战赛在上海交通大学举行。西安交通大学首次参加该项赛事,选派的三支队伍均入围全国总决赛,最终获得全国一等奖1项,二等奖2项。

获奖作品介绍:

【水陆两栖仿生柔性鳍波动式机器人】

获奖等级:新概念创新设计组  全国一等奖、西北赛区第一名

获奖学生:2020、2019级研究生  童保成、李士杰、曾杨彬、陈振汉、张堂佳

指导教师:胡桥

该项目团队提出了一种新型仿生柔性鳍波动式水陆两栖机器人,该机器人效仿线翎电鳗波动式推进机理,通过柔性鳍面与水相互作用实现水中的灵活运动,具备真实鱼类水中游动机动性强、推进效率高和环境扰动性小等优点。同时可将其运动机理应用于陆上,进行由陆地到水下的自主运动,完成水下资源探测、信息收集及目标跟踪等任务,机器人具备一定的载荷能力,可进行物资运输,同时还可用于科研考察、海洋打捞等领域。

【基于电致动人工肌肉的水下仿生鱼尾】

获奖等级:新概念创新设计组 全国二等奖、西北赛区一等奖

获奖学生:2020级研究生  李兆峰、董晨源、程随军、李一鸣

指导教师:朱子才

该项目团队基于 PVCG 人工肌肉的驱动特性,模拟鱼尾宏微观构型提出了一种推进器的多重仿生结构设计。通过柔性人工肌肉与刚性骨架设计刚柔耦合仿生鱼尾推进系统,实现可调控的大幅度连续弯曲摆动。具有噪声低,高柔性,能耗低且造价低廉的特点。该仿生航行器可以实现水下高效灵活隐蔽地游动,不管在军用还是民用方面都有巨大的研究价值。

【随缘工作号】

获奖等级:设计与制作——水面组  全国二等奖、西北赛区第一名

获奖学生:2020级、2019级本科生 黄轩浩、黄志恒、周云峰、瑜熙敬、杨帅

指导教师:权双璐、胡桥

该项目团队设计并制作的“随缘工作号——遥控自主双模式水下机器人”,以高韧树脂材料3d打印制作整体框架,以树莓派处理视觉信息,stm32控制运动。在遥控模式下,操控者可通过摄像头辅助控制机器人运动。在自主运动模式下,机器人能够自主沿管道行进,并具有视觉和陀螺仪两种行进控制方法。行进过程中,还可对管道上的不同吸附物进行不同灯光报警。机器人正常状态是低速运行,危险性较低。可为石油管道检测和水下资源探测研究提供一些可行的思路。

全国海洋航行器设计与制作大赛经过10年的发展,现已经成为我国船舶与海洋工程领域层次最高、规模最大、覆盖面最广的学科竞赛。大赛以“崇尚科学、实践求知、锐意创新、面向海洋、服务国防”为目的和宗旨,以切实增强船海及相关专业学生的综合素质、原创能力及实践动手能力为核心,紧密结合行业高校优势和特色,推动船舶与海洋工程装备产学研一体化发展。对高层次、应用型船海工程技术人才培养、助推我国海洋强国战略建设发展具有重要意义。

本届大赛围绕新概念创意设计、舰船模型智能航行与特种作业、海上智能感知、舰船航行虚拟仿真等科目设置11个组别,吸引了包括来自清华大学、浙江大学、上海交通大学、西安交通大学、哈尔滨工业大学、荷兰代尔夫特理工大学、挪威斯塔万格大学、英国斯特莱斯克莱德、中国船舶集团有限公司第七〇五研究所、西安精密仪器研究生等国内外389所高校及相关科研单位的1985件作品参赛,参赛师生达8985人。经过区域赛赛评与推荐,共有128所院校的666件作品入围全国决赛。

控制器上从MCU STM32F30F4采用自定义非归零码单线通信协议定时发数据给主MCU。

每隔200ms发送一桢数据。

用200us左右的电平跳变表示bit 0,用400us左右的电平跳变表示bit 1。

单线通信协议的好处在于只需要占用一个IO口,不需要精确的时钟,从MCU可以采用内部RC时钟作为系统时钟。

从MCU在100us的定时器中断中控制发送的I/O,对100us进行计数,按照发送的bit在对应的计数值时翻转I/O口的电平;

主MCU利用I/O电平跳变中断,在外部中断程序中结合一个定时器计算脉宽。

根据脉宽判断是桢起始,或者bit0、bit1。

再将接收的byte放在环形队列。

在主程序中,按FIFO查询环形队列,一旦有数据,根据帧头"55FF",数据长度以及CRC校验值,判断数据帧的有效性。

用示波器测试波形,并编写自动测试程序测试误码率。

误码率为0,非常完美。

最近,客户提出要求,控制器需要增加MQTT的通信协议,而且payload的数据需要采用形如附图1的json格式。

那么问题来了,为了节省代码所需要的资源,并且提高代码执行效果以及响应速度,控制器并不是基于linux、freertos等操作系统开发,而且采用自己设计的简易的系统实现。

其中并没有内存管理模块,不支持malloc和free等内存操作。

而从网上下载的开源json库如cjson, jsosson等都需要对内存进行动态分配。

而由于资源更丰富的处理器如STM32FRGT6等目前已经卖上了天价,换成这些处理器再实现内存管理等功能也不可能。

今天,我自己编写了一段简易的json解析代码。

为了节省内存,定义两个存储字符串的数组,把json节点的名称以及字符串类型的值都统一存储到这个数组中。

节点解析出来之后,每一个节点只存储在这两个数组中的指针位置和长度。

对于浮点数类型的数据,则在由该解析模块统一乘以10的倍数之后得到整数,再存储整数和小数点位数。

在资源有限的一些设备上通过技术手段对逻辑以及数据处理进行创新,降低产品成本的同时,又保护了产品的性能。

这也是研发工程师非常重要的能力。

学了1个多月单片机,每天断断续续1,2个小时的时间,暂时被51单片机击败,学不下去了,刚学到中断,定时器感觉有点懵,心想先跳过去,先用LCD1602做个电子时钟吧,需要时钟芯片,看了会通信协议,一会串口,一会SPI协议,一会I2C协议,然后看手册的时序图越学越晕,最后有点明白DS1302用的SPI协议, DS1307用的I2C协议。自己看的资料太杂,目前实在是看不下去了,调整下心态...

话说条条大路通罗马,被51单片机弄得有点阴影了,换条道路,开始搞STM32,淘了块二手的stm32的开发版,跟着视频一点一点系统学,加油吧,学完基础知识,希望可以做出一些好玩的东西--平衡小车、飞行器....

为啥玉兔月球车只有256兆内存?

当年nasa为了送人上月球,需要制造适合登月飞船的电脑内存,你们猜用的是什么材料做的?

材料: 铜线,磁铁圈

制作方法,让女工用编织的方法把磁铁圈套在铜线编成的网格上,有磁铁的地方代表1,没有磁铁的地方代表0 (我可能记反了)。 没错,登月飞船的控制程序是"编"出来的,是真正意义的"编程"。

整个只读内存ROM(保存程序的部分)也就36,864个字(登月舱的电脑是以字为储存单位,而不是字节,一个字是16位,其中15位是数据,1位作校验)。人家用区区36,864个字的内存就能送三个人上月球再返回,给你256MB挖四两土你还嫌少?

随机访问内存RAM的部分就更小了,只有2048个字

你可能会说,那是过去的事了,现在不是连家用电脑都16GB, 32GB了吗?

但是你了解过微处理器和微控制器的区别吗? 简单说,微处理器是手机电脑用的,重视运算性能,储存性能,微控制器重视系统的实时性,传感器和动力装置的输入输出,信号处理。粗暴地说,就是微处理器是给人玩的,微控制器是干脏活累活的。像机器人,机械控制,电子控制,自动化这类领域,对微控制器的需求更大。

家用电脑和手机用的都是微处理器,通常是普林斯顿架构,也叫冯诺伊曼架构,什么东西都往RAM里装。微控制器通常采用哈佛架构,按照不同需求可以同时搭配不同类型的内存,RAM, ROM, Flash,开发者可以根据需要选择什么数据放在哪种内存里,程序都是写死在ROM的,只干控制流程需要的工作,没有灵活性,没有图形界面,所以不需要那么多RAM。目前主流的ARM指令集的微控制器,RAM的大小都是按KB算的,STM32的F7系列的RAM最多也就192KB,H7系列属于高性能微控制器,也就几个MB的内存而已。所以如果你用微控制器干活,然后发现内存严重不足,你应该是选错平台了。

航天器通常搭配微控制器,而不是微处理器,所以大内存本来已经很不着调了。

最后不要忘了,宇宙射线分分钟干扰电路里的数字信号,1可以变成0,0可以变成1,更别提烧毁电路了。另外真空,强磁场,各种极端温度,振动,注定了你家电脑里那些彩虹LED内存条可以随时报废,航天器搭载的电子器件都是特制的,三路冗余是基本,还要进行防磁防辐射"硬化"处理,这表示不仅要尽量在电路外侧加装厚重的屏蔽罩,还要尽可能采用比较古老的芯片制程,35微米制程肯定比10纳米耐烧。(咱们先不说猎鹰9号使用英特尔微处理器) 总之能上航天器的电子器件本身已经是非常昂贵和难得了,你不要动一些奇怪的脑筋,月球车不是拿来打LOL的。

随手写了一大串,后来觉得自己态度不端正,居然没有本着"先问是不是再问为什么"的态度,先核实玉兔号是不是搭载了256MB内存的事实。

当然,题主的问题主要还是基于担心微控制器内存不够,所以撇开玉兔号究竟有多少内存不谈,这个答案应该还是可以看的。

有些评论说航天器也有用微处理器做控制的,可以单独聊一下。个人觉得"可以"不代表适合,就像一些作图计算器也可以装超级马里奥,但使用场景可能并不太理想。但不得不承认,有不少航天器开始采用微处理器,比如毅力号采用了摩托罗拉PowerPC 750微处理器,但从毅力号牵涉到大量图像和声音资料的处理,兴许微处理器的指令集更能胜任相关工作? 猎鹰9号因为曝露深空环境的时间较短,而且对死重和供电的限制没有那么严苛,所以采用三片双核X86处理器,构成6路冗余,安装Linux操作系统,这样一来允许一些对嵌入开发缺乏经验的开发人员也能使用比较流行和现代的C++/Python等开发方式,一个应用搞不定的事情,再写别的应用来补充就好了,不像嵌入式开发那样,改一点小东西就要重新刷整个固件,所以多重考量,也许这个选择反而比较合适SpaceX这样的比较敏捷的科技公司。2000年左右开始建造的国际空间站最早搭配的芯片其实也是特制的80386微处理器。一切根据场景选择,但这不妨碍我前面介绍的对微处理器和微控制器进行区别的基本思路。

今天看到一篇疑似出自NASA的微信公众号文章,介绍为什么毅力号上的芯片是90年代生产的,大家可以领略一下这段话:

当然,毅力号内部的CPU是经过特殊处理的,它被称为RAD 750,可承受200,000至1,000,000 Rads(辐射单位),工作温度介于-55℃至125℃之间。火星的大气层与地球不同,后者保护了我们免受太阳光线的伤害,而在火星上,可能一道阳光就能杀死漫游车,因此RAD 750超过200,000美元的成本还是有必要的。

也就是说二手市场已经没人要的祖传cpu,只要经过了硬化处理,就可以胜任最复杂的深空探测。

本文内容仅供健康科普参考,不能替代专业医疗诊断和治疗建议。如有身体不适,请及时就医并遵从医师指导。

相关阅读