Matthew喜欢通过嵌入式软件架构,开发和工程的魔法和学科来带来电子设备。 拥有20多年的软件和固件开发经验,Matthew在复杂的大容量消费电子产品中解决了软件问题,以微大,但致密地复杂,基于微控制器的设备。 More details here: 马修eShleman.咨询

UML StateChart提示:进入状态时处理错误

马修eShleman. March 8, 20204评论

这是我的第二篇文章,其中包含使用UML StateCharts设计软件的建议和提示。 我的第一个条目就在这里.

自我之后近20年了 首先研究了UML StateCharts。自那次初始曝光(谢谢同名!),我已经应用了事件驱动的活动对象StateChart设计到众多项目[3]。在我的固件和嵌入式软件项目中,没有任何东西对此模式的偏好。多年来,我在......时注意到了一些常见的挑战


我从未解决过的最难的错误

马修eShleman. December 27, 20189评论

我同意四个小时。 

四个小时帮助追捕并杀死一个虫子。一个可怕的恶意错误,正在在这个项目中脱离,造成严重破坏了关键特征的基础,并从这个项目上的八个固件工程师中的每一台固件工程师随机排出时间。好的,诚实地,我不记得最后一次花费了一两个小时或两个时间来定位,隔离和修复固件错误。当然,我可以帮助找到并解决四个问题......


enderdfoot:如何编写一个伟大的错误报告

马修eShleman. May 31, 20184评论

我是一个奇怪的人。为什么?因为我喜欢写作良好的书面和描述性错误报道。我喜欢一个包括清晰易于遵循的再现步骤的案例。我喜欢一个书面错误报告,包括有关版本,配置,连接和其他系统详细信息的所有必要信息。为什么?因为我相信效率。我认为,作为工程师,我有责任为我的雇主或客户产生价值。大错误报告是我们集体永无止境的一部分......


enderfoot:嵌入式软件和固件专业

马修eShleman. August 20, 201710评论

曾几何时(七年前) 我回答了堆栈溢出的问题。然后是斯蒂芬芬 建议我将该答案转变为博客文章。好点子!这篇文章潜入原始问题:“可以将此字段(嵌入式软件和固件)分段为子字段吗?”

此帖子表示对原始堆栈溢出答案的详细和更新响应。我希望这篇文章能够为...的“植物脚轮”提供指导和有用的信息


植物进攻:推荐阅读

马修eShleman. June 28, 20171条评论

二十年前我读了 代码完成史蒂夫McConnell。然后再读一次。然后再次。然后再次。在我的职业生涯中我读过的所有书籍中,我相信这是将我从一名年轻电气工程师转移到一个年轻人和抱负的嵌入式软件工程师的书。所以所有的'招标脚步开始嵌入嵌入式系统,特别是嵌入式软件和固件职业,此条目适合您。

首先,我当然建议所有工程师阅读和阅读......


植物脚:魔术介绍(数字的数字......)

马修eShleman. May 10, 20173评论

曾几何时,在参与源代码审查时,我偶然发现了在标题文件中的以下C代码:

struct foo { //各种结构字段 char string_buffer [45 + 3]; //缓冲区需要大约45个字节 };

我的右眉抬起,我拍了一下,并继续进行代码审查,稍后偶然进入C函数的正文中的代码行:

char * temp_string_buffer =(char *)malloc(45 + 3);

再次,我对此功能拍了一下,并继续......


最喜欢的工具:C ++ 11 STD :: Array

马修eShleman. February 26, 20172评论

必须为高标准的可靠性开发许多嵌入式软件和固件项目。为满足这些可靠性要求,固件项目团队将考虑许多设计权衡。例如,工程团队可以避免或彻底禁止使用动态内存分配,通常通过C库调用访问的功能“Malloc.“或C ++分配器”新的“。在这样的创作软件时......


最喜欢的工具:C ++ 11用户定义的文字

马修eShleman. November 14, 20161条评论

在许多软件域中,测量单位通常对软件的数据处理要求至关重要。那些相同的单位,或者往往使用错误的单位 虫子和灾难性错误的来源。虽然对其他目的有用, 用户定义的文字 在使用测量单位时,对于C ++ 11标准和方便的优点。

假设设备测量速度。为了帮助防止错误,软件规范需要......


令人惊讶的Linux实时调度程序行为

马修eShleman. November 5, 2016

我最近帮助嵌入式软件设计和开发数据采集和可视化设备。该软件在嵌入的Linux上下文中执行,包括呈现所获取的数据的各种动画用户界面。

通过UART和SPI连接接收数据。在项目开发期间,我们在繁重的用户界面动画期间发现了糟糕的UART数据延迟问题。对于本产品妥善满足其收购要求,UART ......


最喜欢的工具 - 查找表

马修eShleman. October 22, 20163评论

随着我们在我们的工程职业中成长,我们必须不断向我们的集体工具套件添加新工具。我的工具包中最喜欢的工具对于许多经验丰富的嵌入式软件工程师来说是显而易见的。我仍然记得通过同事编写的代码在我的职业生涯中学习这种方法 大卫椋鸟。有问题的工具: 

查找表 

查找表简化了代码并改善固件维护。什么是抬头表?一个抬头桌子往往没有什么比......


关于: 通信协议建议

回复发布1个月前(03/22/2021)
我已经看到了类似SPI的东西,这可能是我今天试图在第一眼上使用的东西,主要是因为拥有主人提供时钟很好,...

关于: 什么是赔率? (随机数)

答复3个月前发布(02/01/2021)
......

关于: 你如何测试以太网? (制造业)

回复5个月前发布(12/08/2020)
谢谢,很高兴知道!您知道使用/执行外部环路后测试的任何良好描述吗?

关于: 你如何测试以太网? (制造业)

回复5个月前发布(12/08/2020)
很高兴知道,谢谢!
嗨所有,在制造过程中,我很奇怪不同的群体如何在其嵌入式产品上测试以太网接口(适用时),例如1000base-t.is测试...
我没有关于断言友好框架的具体建议。您可能需要一个构建选项来用宏替换标准断言...
嗨Daniel,TDD是加入工程技能集的绝佳工具。我个人喜欢它。我认为最典型的最消费级固件/软件项目......

关于: 那么,你想成为一个工程经理?

答复发布7个月前(2010年5月3日)
My boss back in my Toshiba days was a good example of an excellent engineering manager. I even wrote an example of his style here://covemountainsoftware.com/2016/11/07/it-mak...Basically:Hire...

关于: 如何获得和保留工作

答复发布7个月前(09/24/2020)
我们的标准访谈问题之一(不是我的想法)是:“如果我告诉你你没有资格在这个位置,你会说什么?”这总是我们的最后......

关于: Energy managment

回复发布8个月前(08/25/2020)
通过什么来源获得权力?太阳的?电的?多常?系统必须在没有充值的情况下运行多长时间?最糟糕的案例时间段?我不是电池专家,......

关于: 关于重置本地函数变量的建议

回复发布10个月前(06/28/2020)
'Waydan'击败了我,这正是我要推荐的东西......我的示例代码会很好地对齐在封装上的同名词.Good ......

关于: 关于重置本地函数变量的建议

回复发布10个月前(06/27/2020)
嗨,随时我们在函数内放置静态变量,我们正在创建两个问题:可能的线程安全问题,如果方法/函数是为了...

关于: 投下,或者不要施放

回复发布10个月前(06/26/2020)
编译器将自动完成。本主题是关于整数促销规则和涉及的隐式类型转换,但大多数术区都在遵循...

关于: 投下,或者不要施放

回复发布10个月前(06/26/2020)
我多年没用过arduino工具。检查项目的编译器设置。由于缺乏使能的警告作为错误,它可能被编译得很好。  uint32_t...

关于: 投下,或者不要施放

回复发布10个月前(06/26/2020)
是这个c或c ++(我假设c)?这是一个16位或32位平台吗? (即int的大小是多少)所以,例如,如果我尝试编译GCC MSP430的代码,...

关于: Software Bugs

回复发布11个月前(05/27/2020)
Feasible: Maybe.Economical: Doubtful.It would have more bugs, since more lines of code would be required. Note the second bullet point.Via://www.youtube.com/watch?v=tcyb1lpEHm0&t=825sBest...

关于: 用于年轻公司项目的软件选择

回复发布12个月前(05/18/2020)
我会“第二”''Sdbranam投票给同性的解决方案。我认为与Freertos配对他的QF框架将为您提供大量的灵活性。我应用了同性恋......

关于: 嵌入式开发预测2020-2029

回复发布1年前(01/09/2020)
一般必须预测更多相同,其中相同的手段:大多数C代码的项目(55-70%)(叹气)碎片。因为每个产品,业务......

关于: 数字PID控制器以速度形式

答复发布2年前(08/09/2019)
我将第二MR_BANDIT的建议。我最近实现了一个具有你提到的许多功能的PID控制器,但它由我的客户拥有。但是,我做了一件事,......

关于: todo列表:对相关网站的改进

答复发布2年前(05/02/2019)
我的投票是:用户配置文件(显示一些信息 - 简短生物 - 单击用户名),特别是在博客上的评论中,我令人困惑......

关于: 自学嵌入式课程

3年前发布的回复(09/19/2018)
您好!同样有一个广泛的YouTube系列可能会有所帮助,虽然我没有亲自看他们。在这里看到。但是,同性恋的书籍是非常有影响力的......

关于: 想要重新进入嵌入式系统

答复3年前(05/10/2018)
>>1.今天的流行处理器是什么;我觉得尸体意见:最受欢迎的处理器是客户已经决定的处理器......

关于: 位错误率(截止主题)

答复3年前(03/01/2018)
适用于特定设备或通信方案或??你是如何测试和测量的?我花了很多小时对各种射频数字进行BER测试......
与我目前在大学的儿子,我得问:从大学何时担心成本? :-)除了山块,可以非常诱人地指定......
Volatile关键字对于任何嵌入式软件或固件工程师来说肯定是重要的。多年来这是我在......期间提出的关键问题
坚韧的主题! 我会说选择微控制器的配方涉及混合: one part: business one part: art 一部分:手头资源 two parts:...

关于: 多语言支持

答复4年前(09/04/2017)
另一种可能性是将所有字符串维护在电子表格中,在电子表格中编写宏或两个,以导出具有唯一枚举值的所有字符串......
有趣,谢谢。 NB-IOT应该从“窄带LTE”物理/细胞层来实现其大部分功率节省,似乎奇怪地限制支持......
这里有很多选择。我用几个GSM模块工作了,哪一个是这个?例如,MQTT非常轻,需要一个TCP套接字,所以可能是......
我并不完全肯定,“专业”是什么意思。 MS Word和/或Excel肯定会帮助团队作者和跟踪测试用例很好,但显然......
嗨蒂姆,如果我理解你的担忧,我同意你的意见:虽然(1)只是检查位标志或事件标志变量的样式循环是有问题的,并且很快......
另一个点:考虑体系结构的变化。在3个任务中,可能会将架构减少到单个任务,其中包含3名FreErtos定时器事件喂养...
互斥锁应该工作....代码仍然缺少操纵位数组的代码的机会。如果代码将位数组传递为参数...

关于: GSM-GPS组合模块。

回复4年前(02/04/2017)
我还使用2G和3G系列的Telit Cellular模块,一些没有集成的GNSS(GPS)。他们工作罚款,但正如所指出的那样,往往是敏锐的。如果...

关于: 嵌入式系统工程师的快速提示

答复5年前(2016年10月21日)
在运行目标上的代码之前,请使用编译器捕获错误。创建和使用“静态断言”在编译期间捕获公共代码维护问题...

使用此表格联系 Mattheweshleman.

在您联系*相关网站的成员之前:

  • 您必须先登录 (在这里注册)
  • 您必须确认您的电子邮件地址