HOME> 在线世界杯> 【每日话题】单核 MCU 迁移到多核 MCU:分享挑战与应对之策赢百枚家园币

【每日话题】单核 MCU 迁移到多核 MCU:分享挑战与应对之策赢百枚家园币

2025-06-09 06:21:15

[其它产品/技术]

【每日话题】单核 MCU 迁移到多核 MCU:分享挑战与应对之策赢百枚家园币

[复制链接]

5558|95

手机看帖扫描二维码随时随地手机跟帖

21小跑堂

当前离线

关注TA

发消息

2244

主题8115

帖子2万

积分

管理员

积分25989

在线时间9032 小时

精华20

注册时间2011-8-17

最后登录2025-6-6

打赏180262.40受赏4610.68

电梯直达

楼主

21小跑堂|

楼主

|

2024-12-20 14:50

|

只看该作者

|倒序浏览

|阅读模式

MCU, 分享, 挑战, 迁移, 每日话题, 代码

#每日话题#

多核MCU能够同时执行多个任务,显著提高系统的处理能力。这对于需要实时响应的应用(如汽车控制系统和工业自动化)尤为重要。

但如果要将你的设计从单核MCU迁移到多核MCU上,势必面临着代码迁移带来大量代码重构、以及多核系统的调试、系统应用之间的通信等问题。

你是否有将单核开发迁移到多核MCU上的经验和心得? 如何更快速高效实现代码迁移和新的应用构建?

话题奖励:

1、凡有效参与话题讨论的回帖者均可获得100家园币奖励——已于2025.1.9 14:55前发放完成

2、抽取2位发表优质回贴的友友奖励500家园币——感谢大家的热情参与,此次大家都比较真诚的回复分享,所以跑堂决定增加6个奖励名额!恭喜:@6552918 @穿西装的强子 @licaijunzhuce @sujingliang @leihaozhuce @电子烂人 @地瓜patch @dirtwillfly

活动时间:2024.12.20——2024.12.31

禁止使用AI生成内容参与话题讨论

本主题由 21小跑堂 于 2025-1-9 14:59 添加图标 开奖

使用特权

评论回复

赏

标题置顶

标题高亮

共4人点赞

tpgf

当前在线

关注TA

发消息

2257

主题1万

帖子5万

积分

版主

积分50627

在线时间13373 小时

精华1

注册时间2016-3-16

最后登录2025-6-9

打赏14.90受赏1828.80

沙发

tpgf|

|

2024-12-20 15:52

|

只看该作者

如果应用不需要高并发或高性能计算,那么使用多核MCU可能是过度设计

使用特权

评论回复

赏

共2人点赞

labasi

当前离线

关注TA

发消息

52

主题3414

帖子1万

积分

资深工程师

资深工程师, 积分 10365, 距离下一级还需 9635 积分

资深工程师, 积分 10365, 距离下一级还需 9635 积分

积分10365

在线时间76 小时

精华0

注册时间2018-6-11

最后登录2025-5-26

板凳

labasi|

|

2024-12-20 15:53

|

只看该作者

同构MCU包含两个相同的CPU,适合并行或冗余运行;异构MCU包含不同类型的处理器,适合特定计算密集型操作

使用特权

评论回复

赏

共2人点赞

木野臻

当前离线

关注TA

发消息

19

主题1078

帖子3217

积分

版主

积分3217

在线时间3267 小时

精华0

注册时间2014-4-18

最后登录2025-6-8

打赏0.00受赏1850.00

地板

木野臻|

|

2024-12-20 16:54

|

只看该作者

复杂性增加,多核编程相比单核编程更加复杂,需要处理更多的同步和互斥问题。开发人员需要更加谨慎地设计代码,以避免潜在的并发错误。单核开发迁移到多核MCU上是一个需要仔细规划和执行的过程。通过充分的前期准备、代码迁移与优化、调试与测试以及持续的学习与改进,可以成功地实现这一迁移并充分利用多核MCU的性能优势。

使用特权

评论回复

赏

共1人点赞

王栋春

当前在线

关注TA

发消息

4279

主题2万

帖子8万

积分

版主

积分81568

在线时间11861 小时

精华376

注册时间2013-11-24

最后登录2025-6-9

打赏11.11受赏2278.03

5楼

王栋春|

|

2024-12-20 17:02

|

只看该作者

如果将单核MCU系统的程序搬到多核系统中的话,本人通常会将单核原有程序专门放置于多核系统中一个固定区域,这种操作的好处有两点:首先是可以为日后的修改和补充等操作带来便利;第二点就是这样可以避免原有程序同其它程序间的纠缠,避免不必要的故障现象出现。当然如果单核系统的程序在移入多核系统时要和新程序兼容运行,本人多会把原有程序做成一个嵌套。

使用特权

评论回复

赏

共1人点赞

2218120025

当前离线

关注TA

发消息

13

主题105

帖子315

积分

资深技术员

资深技术员, 积分 315, 距离下一级还需 185 积分

资深技术员, 积分 315, 距离下一级还需 185 积分

积分315

在线时间335 小时

精华0

注册时间2020-6-21

最后登录2025-6-8

打赏0.00受赏42.00

6楼

2218120025|

|

2024-12-20 17:07

|

只看该作者

有没有可能只需底层驱动进行修改,应用层不动也可以移植成功。

使用特权

评论回复

赏

点赞共0人点赞

仗剑天涯1412

当前离线

关注TA

发消息

7

主题106

帖子328

积分

资深技术员

资深技术员, 积分 328, 距离下一级还需 172 积分

资深技术员, 积分 328, 距离下一级还需 172 积分

积分328

在线时间372 小时

精华0

注册时间2024-9-24

最后登录2025-6-8

打赏0.00受赏227.00

7楼

仗剑天涯1412|

|

2024-12-20 17:09

|

只看该作者

平时用rtos做开发,虽然也是分时完成的。但是如果移植到多核的话会相对容易些

使用特权

评论回复

赏

点赞共0人点赞

740071911

当前离线

关注TA

发消息

47

主题879

帖子2653

积分

初级工程师

初级工程师, 积分 2653, 距离下一级还需 347 积分

初级工程师, 积分 2653, 距离下一级还需 347 积分

积分2653

在线时间1038 小时

精华0

注册时间2016-1-13

最后登录2025-6-7

打赏10.10受赏291.88

8楼

740071911|

|

2024-12-20 17:17

|

只看该作者

应该就是两个mcu集成到一块封装上吧

使用特权

评论回复

赏

点赞共0人点赞

ming899

当前离线

关注TA

发消息

1

主题88

帖子281

积分

中级技术员

中级技术员, 积分 281, 距离下一级还需 19 积分

中级技术员, 积分 281, 距离下一级还需 19 积分

积分281

在线时间156 小时

精华0

注册时间2009-5-1

最后登录2025-6-6

打赏0.00受赏59.00

9楼

ming899|

|

2024-12-20 17:17

|

只看该作者

多核意味着多线程,对层逻辑管控更苛刻,特别是逻辑嵌套和中断嵌套的管理,状态机理论要熟悉才行。

使用特权

评论回复

赏

点赞共0人点赞

WK520077778

当前离线

关注TA

发消息

39

主题761

帖子2290

积分

初级工程师

初级工程师, 积分 2290, 距离下一级还需 710 积分

初级工程师, 积分 2290, 距离下一级还需 710 积分

积分2290

在线时间1095 小时

精华0

注册时间2020-8-27

最后登录2025-6-8

打赏9.90受赏1155.80

10楼

WK520077778|

|

2024-12-20 17:20

|

只看该作者

在车用mcu例子中,单核处理器控制电机在硬件设计,代码编辑和系统架构方面成本较低,结构简单相应快因此效率较高,根据需求和功能应用方面,双核或多核mcu相对复杂,适合多任务并行处理,在自动驾驶中地盘控制,域控和电源控制,云通信等。在单核向多核移植过程中,底层逻辑不会改变,应随着功能性拓展修改应用层代码。同系列mcu的系统平台下,一般单核向多核升级问题较小,多核降级到单核问题相对多,

使用特权

评论回复

赏

点赞共0人点赞

lulugl

当前离线

关注TA

发消息

177

主题810

帖子2590

积分

初级工程师

初级工程师, 积分 2590, 距离下一级还需 410 积分

初级工程师, 积分 2590, 距离下一级还需 410 积分

积分2590

在线时间763 小时

精华5

注册时间2015-8-6

最后登录2025-6-8

打赏0.00受赏465.00

11楼

lulugl|

|

2024-12-20 17:35

|

只看该作者

多核开发与单核也差不多,只是需要处理核与核之间的通信就好了。

使用特权

评论回复

赏

点赞共0人点赞

6552918

当前离线

关注TA

发消息

102

主题1284

帖子3969

积分

中级工程师

中级工程师, 积分 3969, 距离下一级还需 1031 积分

中级工程师, 积分 3969, 距离下一级还需 1031 积分

积分3969

在线时间2040 小时

精华3

注册时间2008-6-13

最后登录2025-6-8

打赏0.00受赏803.80

12楼

6552918|

|

2024-12-20 17:38

|

只看该作者

在当下这么卷的MCU行业,各家除了在外设上创新外,也都不约而同的在向多核方向发力,有做同构多核的,有做异构双核的,有做大小核高低性能搭配的,有做ARM和risc-v搭配的,各种方案层出不穷。但更多是还是大小核高低性能搭配的,以便实现1+1>2的效果,以实现降本增效的效果。在多核方案中比较难的是内核间通信问题,在裸机使用和RTOS使用上都有些问题需要注意,厂家和各RTOS都注意到了先关问题,都给出了相应的解决方案。比较遗憾的是我也只听过相关的介绍,没有实际使用的经验,希望以后会用到,再发表踩坑经验吧。

使用特权

评论回复

赏

共1人点赞

a20091818

当前离线

关注TA

发消息

5

主题181

帖子547

积分

高级技术员

高级技术员, 积分 547, 距离下一级还需 453 积分

高级技术员, 积分 547, 距离下一级还需 453 积分

积分547

在线时间120 小时

精华0

注册时间2013-10-30

最后登录2025-5-30

打赏0.00受赏159.00

13楼

a20091818|

|

2024-12-20 17:39

|

只看该作者

平时用rtos做开发,虽然也是分时完成的。但是如果移植到多核的话会相对容易些

使用特权

评论回复

赏

共1人点赞

suncat0504

当前离线

关注TA

发消息

158

主题4432

帖子1万

积分

资深工程师

资深工程师, 积分 13371, 距离下一级还需 6629 积分

资深工程师, 积分 13371, 距离下一级还需 6629 积分

积分13371

在线时间1486 小时

精华4

注册时间2018-6-18

最后登录2025-6-8

打赏0.00受赏1641.00

14楼

suncat0504|

|

2024-12-20 19:35

|

只看该作者

不了解多核的内部资源分配,把单核程序改成多核程序,会有难度吧?是不是要先学习内部框架、资源分配,在充分理解的基础上改造,更可靠?

使用特权

评论回复

赏

共2人点赞

田舍郎

当前离线

关注TA

发消息

85

主题1989

帖子5957

积分

高级工程师

高级工程师, 积分 5957, 距离下一级还需 2043 积分

高级工程师, 积分 5957, 距离下一级还需 2043 积分

积分5957

在线时间938 小时

精华0

注册时间2013-5-27

最后登录2025-6-8

打赏0.00受赏1079.00

15楼

田舍郎|

|

2024-12-20 21:21

|

只看该作者

和操作系统好有一比,一个核处理一个任务,任务间通讯,同步,交互,协作。

使用特权

评论回复

赏

共2人点赞

地瓜patch

当前离线

关注TA

发消息

1613

主题1万

帖子4万

积分

版主

积分43649

在线时间4555 小时

精华12

注册时间2005-10-24

最后登录2025-6-8

打赏31.11受赏5079.18

16楼

地瓜patch|

|

2024-12-20 21:26

|

只看该作者

大型设备功能复杂,需要多个MCU实现不同功能,这样多个MCU也就是实际上的多核。多个MCU间一般是主从式结构,应答式通讯,或者中断触发。实现信息交互,他们之间有通讯协议。想必多核也是这样的原理吧。或者大差不差。单核移植到多核,应该不叫移植,重新开发。

使用特权

评论回复

赏

共3人点赞

dian988

当前离线

关注TA

发消息

0

主题14

帖子52

积分

初级技术员

初级技术员, 积分 52, 距离下一级还需 48 积分

初级技术员, 积分 52, 距离下一级还需 48 积分

积分52

在线时间26 小时

精华0

注册时间2022-10-18

最后登录2025-3-18

打赏0.00受赏30.00

17楼

dian988|

|

2024-12-20 23:10

|

只看该作者

铝电解电容的容值误差在20%左右,那么瓷片电容,铝电容,独石电容的哪种电容误差最下?能到达多少?

使用特权

评论回复

赏

点赞共0人点赞

zhoupxa

当前离线

关注TA

发消息

38

主题693

帖子2126

积分

初级工程师

初级工程师, 积分 2126, 距离下一级还需 874 积分

初级工程师, 积分 2126, 距离下一级还需 874 积分

积分2126

在线时间1026 小时

精华0

注册时间2004-9-30

最后登录2025-6-8

打赏11.11受赏244.00

18楼

zhoupxa|

|

2024-12-20 23:24

|

只看该作者

多核MCU对于使用单核MCU、执行重负荷的多任务处理的应用无疑是一种“土枪换**”式的跨越式解决方案,有助于大幅提升系统性能,期望多核MCU厂商能够提供高效、易用的软件开发工具,以降低开发难度,提高开发效率

使用特权

评论回复

赏

共1人点赞

dyx8899

当前离线

关注TA

发消息

3

主题455

帖子1369

积分

助理工程师

助理工程师, 积分 1369, 距离下一级还需 631 积分

助理工程师, 积分 1369, 距离下一级还需 631 积分

积分1369

在线时间424 小时

精华0

注册时间2022-7-28

最后登录2025-6-8

打赏0.00受赏108.00

19楼

dyx8899|

|

2024-12-21 01:02

|

只看该作者

可不可以将多核看成是具有中断优先级的多个进程来对待?如果可以,那么可以构建处理框架,让多个核心组合协调起来,我就把它看成一个个线程,分工合作,该调用的时候就调用,每个核心专心处理分内的事!我想这是不是一种思路?

使用特权

评论回复

赏

点赞共0人点赞

dirtwillfly

当前离线

关注TA

发消息

1186

主题3万

帖子11万

积分

版主

积分111440

在线时间6842 小时

精华24

注册时间2010-2-9

最后登录2025-6-8

打赏173.86受赏592.98

20楼

dirtwillfly|

|

2024-12-21 08:38

|

只看该作者

如果之前熟悉RTOS的话,使用多核很容易啊。完全没有难度。

单核迁移到多核,实时性会更好,关键的逻辑使用单独的核来执行,效果会更好。比如无刷电机的控制,foc用一个核,通讯及其他逻辑用一个核

使用特权

评论回复

赏

共1人点赞

弓箭有哪些种类
腾讯为什么也做操作系统?