作者简介:程磊,某手机大厂系统开发工程师,阅码场荣誉总编辑,最大的爱好是钻研Linux内核基本原理。目录:一、计算机简介 1.1 什么是计算机 1.2 计算机发展史 1.3 计算机的二元结构二、计算机硬件体系结构 2.1 图灵机模型 2.2 冯诺依曼结构 2.3 现代计算机结构三、计算...
公元1951年5月15日的国会听证上,美国陆军五星上将麦克阿瑟建议把朝鲜战争扩大至中国,布莱德利随后发言:“如果我们把战争扩大到共产党中国,那么我们会被卷入到一场错误的时间,错误的地点同错误的对手打的一场错误的战争中。”写代码,适用于同样的原则,那就是把正确的代码放到正确的位置而不是相反。同样的一个代码,...
嵌入式工资为什么比纯软工资低那么多?下面,谈谈我的个人体会。记得在1999年的时候,我离开大型国企,进入一家个人小作坊工作,做嵌入式开发,同时做软件开发和硬件设计,月薪是4000元。这对于当时身处四线城市的我来说,感觉已经算很高的收入了。但后来由于一些原因,我转行到一家纯软件开发公司,工资只有1000元,再加上...
在上回讲完功能安全的定义以后,"是什么" 和 "为什么" 的问题,我们已经搞懂了。接下来就要看看重点,"怎么样" 的问题。主机厂在研发一款汽车平台的初期,会基于以往大量的工程和实际经验,把整车的功能细分到不同的子系统里,比如车载娱乐系统,底盘和驱动系统,辅助驾驶和车身照明系统等等。以下以被动安全辅助系统来...
上回更新到主机厂在内部做危险分析和风险评估(HARA), 进而定义了安全目标(Safety Goal), 这篇会基于安全目标继续进行下去。主机厂引入了下一个阶段的工作,名字叫“功能安全概念” (functional safety concept)中文概念比较难理解,这是一个concept,但是中文的定义是“概念”,个人认为翻译的不是很好。我宁愿把它当...
本来想好的题目是《跟我学做PLC》,但是转念一想,做为一个离开工控行业七八年的二手程序猿,自己的行业知识已经过期很久了,所以还是改为《揭秘PLC》更合适些。想当年大四的时候学分不够,所以选修了PLC这门课程,虽然没正儿八经听过几节课,但是实验课程却甚是有趣,引起了我们几个小伙伴的好奇心,总想趁老师不在偷偷拆...
书接上回,我们上次以Codesys为例,介绍了其PC端的安装和Target配置,今天我们继续聊聊PLC的基本原理和实现方法。突然想到之前有个重要的问题没有跟大家介绍,从实现方式上讲,PLC分编译型和解释型,Codesys是编译型的,而某宝上200多元的“三菱仿”是解释型的,其实这“三菱仿”某宝上20元就能买到全套原理图及PCB和源码。...
揭秘继续,上一期我们介绍了PLC设备端的程序RTS与PC端编译的用户程序之间的交互的核心:双方定义好相同的含有函数指针的结构体,通过ld连接文件将其定义到固定的地址上去执行。今天我们探究下PLC RTS的IO是如何实现的,首先说明一点,从实物上看,PLC的IO分两种,一种是PLC的CPU模块本体的IO,比如下图这款S7-1200,本体内...
继续揭秘PLC,今天我们聊聊RTS的服务。服务有很多种,其最主要的任务是给用户提供调试接口的,相当于MCU的JTAG功能。Codesys有个比较实用的功能,代码编译好后,可以不连PLC实物直接在电脑端做仿真,手动测试验证逻辑。这个功能类似于MDK和IAR里的Simulator功能,不接MCU直接跑逻辑。当用户再点击Codesys在线菜单栏下的登录...
揭秘PLC(五)RTS之扩展通讯之前有朋友问过这样一个问题,遇到一个新项目/行业,到底是选择MCU还是PLC来实现,我觉得在PLC能够满足要求的前提下,项目初期非常合适使用PLC做评估验证,当产品定型后再通过设计专用的MCU板卡来实现,PLC揭秘(1)中介绍过的ISaGRAF就支持把IEC-61131-3的工程倒出为.c文件,从而简化设备商设计专...
今天是2021年最后一天,坐标西安,这个千年古都失去了往日的繁华和喧嚣,全市小区,企事业单位除过疫情防控和保障人员车辆,都不准外出,我们也居家办公。这也许是度过的最安静的一个元旦假期了。最热闹的当属小区的群里,最辛苦的当属一线的工作人员和志愿者。向所有这些一线防疫人员致敬,我的城,加油!今年持续了2020...
摘要本篇笔记主要记录基于恩智浦MPC5744P的Flash模拟EEPROM存储参数和数据的算法,对官方给出的方案深入学习,并可以添加一些扩展内容。准备工作安装S32DS for PA, 因为我们在S32DS下开发MPC5744P。安装S32DS 的SDK, 我们使用最新版3.0.3EEPROMEEPROM (electrically erasable programmable read only memory)因为我们的...
摘要本篇笔记主要记录J1939诊断协议和UDS基于CAN的诊断协议为什么可以和谐共处。准备工作J1939标准文档。UDS ISO 14229和ISO 15765文档先来说说UDSUnified diagnostic services (UDS)是乘用车常用的诊断协议。分为基于CAN的UDS如UDSonCAN ISO14229-3,还有基于以太网,基于LIN总线,等等,我们这里主要来了解基于CAN总线,...
虎年大吉
摘要本篇笔记主要记录基于MPC5744P的MACL和EB开发准备工作。准备工作下载MCAL下载EB工具AUTOSAR简介AUTOSAR(automotive open system architecture)是汽车开放系统架构,目前广泛应用于汽车行业,各大车企,零部件,软件等公司很多都加入了AUTOSAR,成为合作伙伴和会员。AUTOSAR的合作伙伴分为大概五种,核心合作伙伴,包...
摘要本篇笔记主要记录基于MPC5744P的MACL和EB的开发编译和配置。准备工作准备好一个在EB下配置好的工程,这里以例程为例子来说明安装配置好编译器GreenHills或者其他编译器,这里以GreenHills为例。导入例程打开EB工具,导入例程,点file->import 按照路径导入就可以。我这里已经导入编译工程:生成的配置代码在EB中配置的文...
说实话,以前也用过正版的编译器,我记得之前用过正版的IAR编译器license也没有多贵,而最近用了个10万一个license的编译器编译嵌入式代码,因为对功能安全有要求,而这个Greenhills就是过了功能安全认证的。一般在汽车电子行业用的比较多。工业行业一般都用IAR和MDK。那个license 大家都知道怎么搞。今天就来看下这个GH的...
CAN总线不管是在车上还是在工业控制中用的越来越多,而且也在不断的发张和更新,CAN FD的应用也越来越多,而CAN的测试工具也越来越多,不管是国内的还是国外的,那些年我用过的几天来给大家分享一下VectorVector的工具比较贵,但是车厂一般都认,工具确实做的比较好,上位机功能强大。除过测试还可以用来标定,诊断等,我主...
物联网的应用越来越多,而一款好的物联网网关设计的好坏,直接影响你的整个体验,今天我们来分享一下一款8层物联网网关核心板,是金手指接口。系统框图如下,核心采用ARM A7核。有多个接口使用。top层bottom层信号层电源层地层约束管理器设置支持的接口包括:带有PMIC,两路CAN,两路以太网,256M DDR3L DRAM,可以扩展至1G...
现在基于模型的设计越来越多,也越来越多被接受和开发,并推向量产产品,一般在MATLAB/SIMULINK里面搭好模型,在配合stateflow完成一些详细设计,就可以生成嵌入式代码,直接部署目标板。例如使用stateflow和simulink开发CAN通信协议栈。,完成侯可以编译生成代码,可以看到生成的代码可读性还是很好的,所以建议大家多采用...
这些年用过的调试器其实也不少,JLink,STLink,PEMicro,还有TI的等等,但是劳德巴赫LAUTERBACH这货是用过最贵的,硬件加上软件价格不菲,号称调试器中的贵族,今天我们简单来介绍下摘要本篇笔记主要记录劳德巴赫调试器的应用指导,以LA-3500型号和MPC5744p单片机说明。准备工作准备好trace32软件劳德巴赫调试器LA-3500。...
ting就在今天,Arm发布了新一代的Cortex-M处理器,Cortex-M85。简单粗暴的打个比方:Cortex-M85 ≈ Cortex-M7 + TrustZone + Helium(Cortex-M版本的NEON)性能总结:超标量双发射流水线——暴力特色:支持Helium(也就是Cortex-M版...
出于好奇,我拆开了那个几万元的劳德巴赫调试器,可以看到板子做工非常精良,布局走线都非常漂亮,用料也是PFGA+PowerPC处理器做主控,一分价钱一分货,这货用料真可以。拧开背面四个螺丝就可以直接打开了。可以看到用了ALTERA的Cyclone IV还有一片ALTERA的ACEX系列,同时用了一片AMCC的 PowerPC架构的PPC405EX处理器。外...
摘要本篇笔记主要记录基于MBD模型设计的CAN通信步骤和方法。前期工具箱的安装不在本文档讨论范围内。准备工作安装好MPC5744基于模型的工具箱和支持包,这个可以在NXP官网下载按照文档配置编译器和设置路径以及license激活,QSG里面写的很清楚,这里不在赘述。模型设计正确安装MBD工具箱后,在simulink里面可以看到到MPC5744...
摘要本篇笔记主要记录基于MBD模型设计的PWM输出步骤和方法。前期工具箱的安装不在本文档讨论范围内。准备工作安装好MPC5744基于模型的工具箱和支持包,这个可以在NXP官网下载2,按照文档配置编译器和设置路径以及license激活,QSG里面写的很清楚,这里不在赘述。模型设计正确安装MBD工具箱后,在simulink里面可以看到到MPC5...
Freemaster是NXP推出支持电机控制调试的神器,可以方便的控制各种电机调试相信很多调试电机的工程师都使用过本地功能,FreeMaster新版还支持远程操作,今天我们就来试试远程操作,需要开启服务器端和客户端。注意事项FreeMASTER服务器端需连接电路板,用户端进行远程控制。在进行远程控制时服务器端软件FreeMASTER Remote S...
工程师应该如何进阶?软件工程师可能会陷入代码陷阱、而硬件工程师则可能陷入画图、焊接陷阱。你可能会强调一些“吃饭的本领”:我会电路设计、我会单片机、我会C语言、我会用烙铁、我会FPGA、我会抄电路……这些都是单点的技能,大家容易进入“运用专业技能”的舒适区。看似辛苦加班,但是实际上是做一些很多人都能做的重...
摘要本篇笔记主要记录开源CAN工具BUSMASTER的使用。BUSMASTER介绍BUSMASTER是由ETAS和BOSCH开发的全球开源免费的CAN通讯分析上位机软件,源代码开源,是基于C++软件开发的,功能强大,比国内某功的软件强大很多。BUSMASTER是用于设计,监视,分析和模拟CAN网络的开源PC软件。可以从Github下载BUSMASTER开源软件,由RBEI和ET...
ARM+FPGA+DSP = 一板在手,天下我有。随着嵌入式系统的越来越复杂,我们需要更加强悍性能的板卡来完成产品的开发和设计。本文分享性能超强的ARM+FPGA+DSP异构多核开发板——TMS320C6678 + Zynq-7045的三大经典案例,案例源码免费下载,下方查看详情!(1)基于SRIO的ZYNQ+DSP核间通讯案例(2)基于CameraLink、SDI、PAL的目标追...
击上方“果果小师弟”,选择“置顶/星标公众号”干货福利,第一时间送达!摘要:在看别人单片机程序时,你也许是崩溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也许你也是崩溃的。总感觉重新开启一个项目,之前的写过相似的代码也无法使用,得重新敲,代码重用...