feiante
发表于 2024-8-14 11:35
<div class='shownolgin' data-isdigest='no'><p>1、开发平台不同,更换新的MCU,需要重新学习软件和SDK。<br />
2、想统一平台,比如使用rtthread studio,但是很多厂家的芯片或者不支持,或者只支持开发板。<br />
3、网上相关资料较少,没有参考。<br />
4、官方配套例程较少或有bug,导致部分功能使用例程都无法调通。<br />
5、有些芯片资源较少,比如ESP32,网络功能很强大,但IO数量太少。<br />
6、部分芯片厂家的FAE支持不是很好。<br />
7、采购问题,对于散客或用量较少的芯片采购,厂家支持度不高,并且没有官方的采购渠道。<br />
8、对于个人用户,很难获得厂家的技术支持,甚至无法获取官方SDK和规格书。</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
dvacos
发表于 2024-8-14 11:36
<div class='shownolgin' data-isdigest='no'>申小林 发表于 2024-8-5 15:49
在MCU的使用过程中遇到的问题是比较多的,我总结了一下,主要有以下几点,其中最让人苦不堪言的就是硬件方 ...
<p>这一看就是AI啊</p>
</div><script>showreplylogin();</script>
phwj2006
发表于 2024-8-15 11:03
<div class='shownolgin' data-isdigest='no'><p >在MCU(微控制器)应用中,确实会遇到如芯片选型、不同芯片软件平台的使用、芯片底层驱动的学习、整机功耗的计算、加密功能的使用等痛点问题。以下是对这些问题的详细分析及解决方案:</p>
<h3>1. 芯片选型</h3>
<p ><strong>痛点</strong>:</p>
<ul>
<li>硬件工程师可能缺乏软件知识,仅凭经验选择MCU,导致项目后期出现FLASH空间或内存不足的问题。</li>
<li>选型时未充分考虑项目需求及后续升级需求,导致所选MCU性能不足或成本过高。</li>
</ul>
<p ><strong>解决方案</strong>:</p>
<ul>
<li>硬件工程师应与软件工程师紧密合作,共同分析项目需求及后续升级需求,确保所选MCU在性能、成本及可扩展性上均能满足要求。</li>
<li>利用专业的MCU选型工具或参考已有的成功案例,结合项目实际情况进行选型。</li>
<li>在选型过程中,注意比较不同MCU的性能指标(如处理能力、功耗、外设接口等)及价格,选择性价比最高的产品。</li>
</ul>
<h3>2. 不同芯片软件平台的使用</h3>
<p ><strong>痛点</strong>:</p>
<ul>
<li>不同MCU厂商提供的软件平台(如开发环境、库函数等)存在差异,学习成本较高。</li>
<li>跨平台移植代码时可能遇到兼容性问题。</li>
</ul>
<p ><strong>解决方案</strong>:</p>
<ul>
<li>选择支持广泛、文档完善、社区活跃的MCU和软件平台,降低学习成本。</li>
<li>在项目初期就明确软件平台的选择,并尽量保持一致性,减少跨平台移植的需求。</li>
<li>对于必须进行的跨平台移植,制定详细的移植计划,充分测试以确保兼容性。</li>
</ul>
<h3>3. 芯片底层驱动的学习</h3>
<p ><strong>痛点</strong>:</p>
<ul>
<li>底层驱动涉及硬件细节较多,学习难度较大。</li>
<li>不同的MCU底层驱动存在差异,需要花费大量时间学习。</li>
</ul>
<p ><strong>解决方案</strong>:</p>
<ul>
<li>充分利用MCU厂商提供的官方文档、教程和示例代码,加深对底层驱动的理解。</li>
<li>参加相关的培训课程或技术研讨会,与同行交流学习经验。</li>
<li>在实践中不断积累经验,通过解决具体问题来加深对底层驱动的理解。</li>
</ul>
<h3>4. 整机功耗的计算</h3>
<p ><strong>痛点</strong>:</p>
<ul>
<li>整机功耗受多种因素影响(如MCU功耗、外设功耗、电源管理等),计算复杂。</li>
<li>实际功耗可能与理论计算值存在偏差。</li>
</ul>
<p ><strong>解决方案</strong>:</p>
<ul>
<li>使用专业的功耗测量工具(如功耗仪)对整机进行实际测量,获取准确的功耗数据。</li>
<li>在设计阶段就充分考虑功耗优化措施(如选择合适的电源管理方案、优化MCU工作模式等)。</li>
<li>编写功耗测试程序,对MCU及外设进行功耗测试,确保符合设计要求。</li>
</ul>
<h3>5. 加密功能的使用</h3>
<p ><strong>痛点</strong>:</p>
<ul>
<li>加密功能涉及复杂的加密算法和密钥管理,实现难度较大。</li>
<li>加密功能可能影响MCU的性能和功耗。</li>
</ul>
<p ><strong>解决方案</strong>:</p>
<ul>
<li>选择支持加密功能的MCU,并充分利用其内置的加密硬件(如加密协处理器)来降低实现难度。</li>
<li>学习和掌握相关的加密算法和密钥管理技术,确保加密功能的正确实现。</li>
<li>在设计加密方案时,充分考虑其对MCU性能和功耗的影响,并采取相应的优化措施。</li>
</ul>
</div><script>showreplylogin();</script>
29447945
发表于 2024-8-16 17:08
<div class='shownolgin' data-isdigest='no'><p>在MCU的使用过程中遇到的问题:</p>
<p>首先是資料問題,任何一款MCU在使用過程中都會需要各種資料,比如芯片資料,應用資料等等,如果官方資料不齊或者獲取麻煩,或很大程度阻礙開發;其次是簡單易用,比如配套的開發工具,開發庫或者應用示例,這些可以加速工程師的設計開發,也就加快了產品上市。</p>
</div><script>showreplylogin();</script>
15305419779
发表于 2024-8-20 10:30
<div class='shownolgin' data-isdigest='no'>zhangjt0713 发表于 2024-7-31 22:33
MCU的选型如何选到合适可靠的低功耗MCU,这包括价格交期,易使用性,使用中遇到问题如何快速获得原厂的支 ...
<ol>
<li><strong>硬件接口与兼容性</strong>:
<ul>
<li><strong>引脚冲突</strong>:在有限的引脚资源下,如何合理安排各种外设(如GPIO、UART、SPI、I2C等)的分配,避免引脚冲突。</li>
<li><strong>电源与接地问题</strong>:电源噪声、接地不良导致的信号干扰或系统不稳定。</li>
<li><strong>外设兼容性</strong>:不同厂商的外设模块可能存在兼容性问题,如时序要求、信号电平差异等。</li>
</ul>
</li>
<li><strong>软件编程与调试</strong>:
<ul>
<li><strong>中断冲突</strong>:多个中断源可能同时触发,导致处理不当时出现优先级冲突或响应延迟。</li>
<li><strong>内存管理</strong>:对于资源有限的MCU,如何高效管理RAM和Flash,避免内存泄漏和溢出。</li>
<li><strong>调试困难</strong>:复杂的逻辑错误或难以复现的问题,如硬件故障引起的随机行为,使得调试变得异常困难。</li>
</ul>
</li>
<li><strong>性能优化</strong>:
<ul>
<li><strong>实时性要求</strong>:对于需要严格实时响应的应用,如何优化代码和算法以满足性能要求。</li>
<li><strong>功耗管理</strong>:在保证性能的前提下,如何有效管理MCU的功耗,延长电池使用寿命。</li>
<li><strong>代码大小与速度平衡</strong>:在有限的代码空间内,如何在代码大小和执行速度之间找到最佳平衡点。</li>
</ul>
</li>
<li><strong>系统集成与测试</strong>:
<ul>
<li><strong>多MCU协同工作</strong>:当系统中存在多个MCU时,如何确保它们之间的通信可靠、同步准确。</li>
<li><strong>外部设备集成</strong>:将MCU与各种外部设备(如传感器、执行器等)集成时,可能遇到通信协议不匹配、数据格式不一致等问题。</li>
<li><strong>系统稳定性测试</strong>:在复杂的工作环境下,如何确保系统长期稳定运行,并进行有效的故障排查和修复。</li>
</ul>
</li>
<li><strong>安全与可靠性</strong>:
<ul>
<li><strong>数据加密与保护</strong>:如何确保存储在MCU中的数据的安全性,防止被非法读取或篡改。</li>
<li><strong>电磁兼容性(EMC)</strong>:确保MCU及其系统在电磁环境中能够正常工作,不受外部干扰。</li>
<li><strong>硬件故障检测与恢复</strong>:在硬件出现故障时,如何快速检测并采取相应的恢复措施,保证系统的可靠性。</li>
</ul>
</li>
</ol>
</div><script>showreplylogin();</script>
gaon
发表于 2024-8-20 10:52
<div class='shownolgin' data-isdigest='no'><p>关于MCU应用的抗干扰能力的补救方案</p>
<p>现象:</p>
<p>做过一个微波炉控制电路,MCU在工作时,总会被开关门操作干扰,出现死机,虽然重新上电可恢复,可用户拒绝接受。</p>
<p>查找原因:</p>
<p>开关门动作,联动加热,电机,开关器件等多个单元,排除法,发现是交流电机启停,产生干扰,导致CPU死机。</p>
<p>解决方案:</p>
<p>尝试过PCBA软硬件保护优化,布线优化,屏蔽等措施,都不见效。</p>
<p>最后,在交流电机近端接入阻容滤波电路,彻底解决。</p>
<p></p>
<p>总结:</p>
<p>控制交流电机的MCU应用,都有可能出现这种现象,严重的甚至会损坏,像可控硅等电压敏感的控制器件。在干扰产生端加入滤波电路的方法,具有很好的效果。成本低,效果明显,实施也很灵活。</p>
</div><script>showreplylogin();</script>
hhqi_super
发表于 2024-8-20 11:51
<div class='shownolgin' data-isdigest='no'><p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线">在MCU(微控制器单元)的广泛应用中,尽管其种类繁多、功能强大,但使用各种功能模块时确实存在不少痛点。</span></span></p>
<ul>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>1. 配套工具少</b></span></span></span></li>
</ul>
<p style="margin-left:20px; text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>细节描述</b>:</span></span></p>
<ul>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>缺乏统一标准</b>:不同品牌的MCU往往采用各自独特的开发环境和工具链,如IDE(集成开发环境)、调试器、编程器等,这导致开发者在切换不同品牌的MCU时需要重新学习新的工具链,增加了学习成本和时间成本。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>软件生态不完善</b>:部分小众或新推出的MCU可能缺乏完善的软件生态支持,如缺乏成熟的驱动程序、中间件、库文件等,这限制了开发者能够利用的资源,增加了开发难度。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>兼容性问题</b>:即使在同一品牌下,不同系列的MCU也可能存在兼容性问题,导致开发者在迁移项目时需要花费大量时间进行适配和调试。</span></span></span></li>
</ul>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b> 2. 内存资源不足</b></span></span></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b> 细节描述</b>:</span></span></p>
<ul>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>资源分配不合理</b>:在程序设计中,如果未能合理规划和分配内存资源,如RAM(随机存取存储器)和Flash(闪存),就可能导致内存不足的问题。特别是在嵌入式系统中,资源往往非常有限。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>编译工具优化不足</b>:编译工具在优化代码时可能未能充分考虑到内存使用的效率,导致生成的程序体积过大,占用了过多的内存资源。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>功能需求与资源限制的矛盾</b>:随着产品功能的不断增加,对内存资源的需求也在不断增加。然而,受限于MCU的硬件规格,开发者可能需要在功能实现和内存资源之间做出妥协。</span></span></span></li>
</ul>
<ul>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>3. 串口、SPI、USB功能配置繁杂不易用</b></span></span></span></li>
</ul>
<p style="margin-left:20px; text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><b>细节描述:</b></span></span></p>
<ul>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>配置复杂</b>:串口、SPI、USB等通信接口的配置往往涉及多个寄存器和参数的设置,这些设置需要开发者具备深厚的硬件知识和经验。对于初学者来说,配置过程可能非常繁琐且容易出错。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>文档不全或难以理解</b>:部分MCU的官方文档可能不够详细或表述不够清晰,导致开发者在配置过程中遇到问题时难以找到解决方案。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>兼容性问题</b>:不同品牌的MCU在串口、SPI、USB等通信接口的实现上可能存在差异,这可能导致开发者在迁移项目时需要重新编写或修改通信部分的代码。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>调试困难</b>:由于通信接口的配置和调试往往需要在硬件上进行,因此一旦出现问题,可能需要进行复杂的硬件调试和故障排查工作。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>4. 功耗管理复杂</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:对于电池供电的设备,功耗管理至关重要。MCU通常提供多种低功耗模式,但如何根据应用需求有效地切换这些模式,以及如何优化代码以减少在非活动状态下的能耗,都是具有挑战性的任务。此外,不同MCU的低功耗特性可能有所不同,需要开发者深入研究。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>5. 实时性要求高</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:在一些对实时性要求极高的应用中(如工业自动化、汽车电子等),MCU必须能够在规定的时间内快速响应外部事件。然而,实现高实时性往往需要在硬件和软件层面进行复杂的优化,包括中断处理、任务调度、优先级分配等。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>6. 安全性和加密性需求</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:随着物联网和嵌入式系统的普及,安全性和加密性变得越来越重要。MCU需要支持各种安全协议和加密算法,以防止数据泄露和恶意攻击。然而,这些安全特性的实现通常会增加系统的复杂性和成本,同时也需要开发者具备相应的安全知识。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>7. 软件开发和调试周期长</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:嵌入式软件的开发和调试通常比PC软件更为复杂和耗时。由于硬件资源的限制和通信接口的限制,开发者可能需要进行多次的硬件连接、断电重启、代码下载和调试过程。此外,嵌入式软件的调试通常需要借助专门的调试工具,而这些工具的使用也可能需要一定的学习和适应过程。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>8. 供应链风险</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:随着全球供应链的不稳定性增加,MCU等关键元器件的供应风险也在上升。如果某个品牌的MCU因为某种原因(如生产中断、缺货、涨价等)无法及时获得,可能会对项目进度和成本造成严重影响。因此,开发者需要在选择MCU时考虑到供应链的稳定性和可靠性。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>9. 学习和更新成本高</b></span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线"><b>细节描述</b>:随着技术的不断发展,新的MCU和新技术不断涌现。为了保持竞争力,开发者需要不断学习新知识和技能,以适应这些变化。然而,这种学习和更新过程通常需要投入大量的时间和精力,同时也可能带来一定的成本(如培训费、资料费等)。</span></span></span></li>
<li style="text-align:justify"><span style="font-size:10.5pt"><span style="tab-stops:list 36.0pt"><span style="font-family:等线">针对这些痛点,开发者可以采取多种措施来应对,如加强技术培训、优化软件设计、选择可靠的供应链合作伙伴等。同时,随着技术的发展和市场的成熟,一些新的解决方案和工具也在不断涌现,为MCU的应用提供了更多的便利和可能性。</span></span></span></li>
</ul>
<p style="text-align:justify"> </p>
</div><script>showreplylogin();</script>
lixingwang1233
发表于 2024-8-20 14:51
<div class='shownolgin' data-isdigest='no'><p>我们最近在开发一款具备Wi-Fi连接功能的低功耗智能门锁时,面临了多个挑战。首先,为了满足成本和性能的要求,我们选择了某款低成本、低功耗的Wi-Fi MCU,它不仅支持802.11 b/g/n标准,还具有足够的处理能力和存储空间来运行安全协议和云服务API。接着,为了简化软件开发流程,我们采用了FreeRTOS作为RTOS,并使用Arduino IDE进行开发,这得益于该Wi-Fi MCU对Arduino框架的良好支持。在实现底层驱动时,我们参考了相关开发框架中的示例代码,并利用官方文档学习和开发Wi-Fi驱动程序。为了确保智能门锁的低功耗特性,我们利用该MCU的睡眠模式,在不活跃期间将功耗降至最低,并通过实测数据和理论计算相结合的方法来估算整个系统的平均功耗。最后,在加密功能方面,我们使用该MCU内置的安全协处理器进行硬件加速的加密操作,采用AES-256加密算法保护数据传输,并使用TLS协议确保与云端服务器之间的通信安全。</p>
</div><script>showreplylogin();</script>
beyond_笑谈
发表于 2024-8-20 16:14
<div class='shownolgin' data-isdigest='no'><p>使用MCU,最头大的问题碰到过以下几种:</p>
<p>1. 寄存器配置复杂,尤其是复用引脚的寄存器配置文档解释不清晰或者没有参考案例</p>
<p>2. 单片机内部ADC采样精度不高,噪声大。常规的单片机内部大多是逐步递进式ADC,在设计精密产品的信号采集时,还需要外接高精度的Δ-Σ类型ADC转换器。</p>
<p>3. 浮点运算能力不够。单片机如果在进行浮点运算时(比如电机控制)性能不够,所以还得采用DSP。</p>
<p>4. 功耗过高。利用单片机设计传感器或者电池供电的产品时,有时需要额外的休眠和唤醒电路来降低功耗。</p>
<p>5. 单片机内部的RAM和Flash空间过小,导致无法做设计大型复杂的控制系统,有时还需要额外的EEPROM。</p>
</div><script>showreplylogin();</script>
立冬的夏
发表于 2024-8-20 16:46
<div class='shownolgin' data-isdigest='no'><p>在MCU(微控制器)的应用中,开发者常常会遇到一系列痛点问题,这些问题可能源自MCU本身的设计、生态系统的不完善、或是开发流程中的挑战。针对这些痛点,可以提出一系列比较通用的解决方案来优化开发体验和提高项目成功率。</p>
<p><strong>痛点问题<br />
文档和手册的可用性:</strong><br />
语言障碍:许多高端MCU的官方文档以英文为主,对英文不熟练的开发者来说是一大障碍。<br />
信息不全:部分MCU的寄存器手册描述不够详细,缺乏逻辑关系,使得理解和使用寄存器变得困难。<br />
翻译质量:虽然有些文档有中文翻译,但翻译质量参差不齐,且不一定覆盖所有型号。<br />
<strong>开发环境和工具:</strong><br />
IDE支持不足:部分IDE对特定MCU的支持不够友好,集成度低,调试困难。<br />
库和驱动缺乏:对于一些小众MCU,开发者可能难以找到完善的库和驱动程序,增加了开发难度。<br />
<strong>生态系统不完善:</strong><br />
社区支持薄弱:相比主流MCU,小众MCU的开发者社区可能不够活跃,遇到问题难以获得及时帮助。<br />
周边硬件和模块不足:适用于特定MCU的扩展板、传感器等硬件模块选择有限,影响项目开发进度。<br />
<strong>功耗和性能权衡:</strong><br />
低功耗与高性能需求冲突:在某些应用中,如便携式设备或电池供电系统,如何在保证性能的同时降低功耗是一个难题。<br />
<strong>解决方案<br />
提升文档和手册质量:</strong><br />
多语言支持:提供多语言版本的官方文档,特别是针对主要市场(如中国市场)提供高质量的中文翻译。<br />
详细和逻辑清晰的寄存器手册:优化寄存器手册的编写,确保每个寄存器的功能、配置和逻辑关系都清晰明了。<br />
在线帮助和FAQ:建立在线帮助系统和FAQ,快速解答开发者常见问题。<br />
<strong>优化开发环境和工具:</strong><br />
增强IDE集成:与主流IDE合作,提供深度集成的开发环境,简化配置和调试流程。<br />
丰富的库和驱动支持:提供完善的库和驱动程序,包括示例代码和详细的使用说明,降低开发门槛。<br />
<strong>构建完善的生态系统:</strong><br />
活跃的开发者社区:建立和维护活跃的开发者社区,鼓励用户分享经验、提问和解答问题。<br />
丰富的硬件生态:与硬件供应商合作,推出适用于该MCU的扩展板、传感器等硬件模块,丰富开发选择。<br />
提供功耗和性能优化工具:<br />
低功耗模式指南:提供详细的低功耗模式使用指南,帮助开发者在项目中合理应用低功耗技术。<br />
性能优化工具:开发性能分析工具,帮助开发者识别和优化性能瓶颈。<br />
<strong>教育和培训资源:</strong><br />
在线课程和培训:提供丰富的在线课程和培训课程,帮助开发者快速掌握MCU的开发技能。<br />
技术支持和咨询服务:提供专业的技术支持和咨询服务,为开发者在项目中遇到的问题提供及时帮助。</p>
</div><script>showreplylogin();</script>
yuanyufang
发表于 2024-8-21 09:40
<div class='shownolgin' data-isdigest='no'><p>‌<strong>芯片底层驱动的学习痛点主要包括技术难度高、学习资源有限、实践机会缺乏。</strong>‌</p>
<p>1‌、<strong>技术难度高</strong>‌:芯片底层驱动开发需要掌握的知识和技能范围广泛,包括计算机组成原理、数字电路与逻辑设计、微处理器/微控制器原理、编程语言(如C语言、汇编语言)、操作系统原理、硬件描述语言(如Verilog或VHDL)、总线协议等。这些知识的学习和理解需要较高的技术水平和专业知识,对于初学者来说,掌握这些知识和技能是一项挑战‌。</p>
<p>2‌、<strong>学习资源有限</strong>‌:虽然有大量的在线资源和教材可供学习,但高质量的、系统化的学习资源相对较少。找到适合自己学习进度和需求的学习材料可能比较困难,尤其是在没有专业指导的情况下,学习者可能会感到迷茫和无助‌。</p>
<p>3‌、<strong>实践机会缺乏</strong>‌:芯片底层驱动开发是一个实践性很强的领域,需要大量的实践机会来巩固理论知识并提升实际操作能力。然而,由于硬件设备的成本较高,以及实验环境的搭建和维护需要专业的技术支持,普通学习者很难获得足够的实践机会‌。</p>
</div><script>showreplylogin();</script>
A峰A
发表于 2024-8-21 11:45
<div class='shownolgin' data-isdigest='no'><p>1 环境搭建,有些厂商的ARM芯片看似很严谨的按照KEIL的标准做的在线支持包,但不在官网上提供安装包,导致安装时由于网络问题,安装芯片支持包十分痛苦。</p>
<p>2 现在各家都在做图形化配置工具,看是方便开发,但有时配置工具出来的库存在BUG,发现问题很难发现,浪费很多精力分析问题</p>
<p>3 有些厂家的用户手册不提供本地语言的,不是不能用,而是很多细节理解起来比较费劲,容易使用错误。</p>
</div><script>showreplylogin();</script>
柠檬酸钠
发表于 2024-8-21 14:49
<div class='shownolgin' data-isdigest='no'><p>总结一下自己设计过程中的痛点问题:</p>
<p>①,ADC采样位数太少,大部分都是12位,对设计过程中的模拟信号处理性能不是很够。可能需要外挂ADC。</p>
<p>②,封装多的MCU,管脚功能分配不是很方便,只有部分厂家有专用软件设计管脚功能,其他还只能通过表格查找。</p>
<p> </p>
<p> </p>
</div><script>showreplylogin();</script>
damiaa
发表于 2024-8-21 17:31
<div class='shownolgin' data-isdigest='no'><p>1,系列化一点,开始的内存选大点,外设多点。等产品稳定后裁掉一点内存和外设,但要移植基本不要改动。项目都不要重构。</p>
<p>2,工具正常方便点,因为调试麻烦。不断加功能,不断加功能。今天调不通了。明天再调。所以调试工具好最好。</p>
<p>3,资源多点。</p>
<p>4,不要搞着搞着没人玩了。要有持续的支持。</p>
</div><script>showreplylogin();</script>
陈奕迅先生
发表于 2024-8-22 15:30
<div class='shownolgin' data-isdigest='no'><p>MCU测试对自动化要求高,每个测试用例都需要对大部分引脚进行遍历,编写和维护测试用都需要大量的手动操作</p>
</div><script>showreplylogin();</script>
abbott.wang
发表于 2024-8-23 16:25
<div class='shownolgin' data-isdigest='no'>在选型时: (1)管脚数量 (2)内存大小 (3)交期很关键,价格很重要 (4)USB OTG功能很nice,方便升级 通常功能控制上,主流厂商MCU问题都不大。几个注意点: (1)对于DAB/FM产品,不同的MCU的EMI 差异很大,导致收台灵敏不行 (2)需要关注工作温度,对于消费级,虽然都标注85℃,但在实际高温测试时还是有差异,需要注意应用场景</div><script>showreplylogin();</script>
何工_工控
发表于 2024-8-26 11:29
<div class='shownolgin' data-isdigest='no'><p>单片机的内部资源不够是最头疼的,比如需要我们公司产品用单片机驱动直流无刷电机至少需要6路PWM,最好是内部集成差分运放和比较器。并且需要单片机的内部晶振精度高、可抗性高。</p>
</div><script>showreplylogin();</script>
EricCheng
发表于 2024-8-26 11:45
<div class='shownolgin' data-isdigest='no'><p>使用MCU最大的问题是资料不全的,这些问题在国外大厂一般是不存在的,都是国内小厂,资料有错或者不清晰的,实际设计的时候就会碰到各种问题,有遇到过设计好还发了layout给FAE看的,实际估计FAE也没看,生产就出问题了,后续才各种扯皮,还说量小不想服务的。当买个教训了,后面自己做设计也是仔细了很多,靠别人不如靠自己,有疑问的地方可以拿demo进行测试,把有疑问的地方全部搞清楚,后面导入生产就快了。</p>
</div><script>showreplylogin();</script>
戈壁滩上的辉煌
发表于 2024-8-27 09:32
<div class='shownolgin' data-isdigest='no'><p>说一说调试过程中的痛点问题,就是没有统一的标准,很多芯片需要专用调试,这个很苦恼,因为因为有很多方案都是需要备选方案的,这个防备一些突发事件,这个时候就会发现有很多都必须用专用调试器,这个很苦恼,不过现在使用的内核很多都是相同的了,明显调试跟方便了,基本可以一家通用了。还有很多痛点问题就是供电方面,说实话有的芯片是自带稳压LDO的,有的不带,这样在供电上就要非常小心或者注意,不然就会出现烧毁等异常现象。</p>
</div><script>showreplylogin();</script>
dong.xiaofei
发表于 2024-8-27 10:37
<div class='shownolgin' data-isdigest='no'><p>测试环境搭建:手动搭建测试环境繁琐,需要大量时间和人力。</p>
<p>数据记录:手动记录测试数据量大且容易出错,影响测试效率1。</p>
<p>复杂测试逻辑:复杂的测试业务逻辑难以通过手动完成。</p>
<p>自动化测试分散:自动化测试数据分散,管理不统一,难以集中分析1。</p>
</div><script>showreplylogin();</script>