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人点赞

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