RK3588+RTLinux内核,在ubuntu下死机

北城半夏yi 2024-10-11 14:02:26

  题主使用内核版本为5.10.110,打上了RT对应版本的patch,编译没有报问题,烧录进RK3588也成功了,启动时显示的内核版本也有RT的标签,进入系统后使用串口登录到终端中也挺正常(由于RT与桌面GUI兼容性不好,所以题主使用命令将桌面关闭了),然后在终端中等待一会或者使用sudo权限执行一些命令时内核会直接卡死,因为题主想使用rt-test来测试linux的实时性,运行测试命令时出现的此现象,后来发现进入终端后,过一阵也会有此现象,求帮忙分析一波,日志如下,此部分有很多重复日志,这里只放出不重复的部分:

ubuntu@ubuntu:~$ [   97.799232] BUG: scheduling while atomic: swapper/3/0/0x00000002
[   97.799238] BUG: scheduling while atomic: swapper/2/0/0x00000002
[   97.799258] Preemption disabled at:
[   97.799259] Preemption disabled at:
[   97.799261] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[   97.799260] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[   97.799512] bad: scheduling from the idle thread!
[   98.139013] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.235668] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.339009] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.442341] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.545673] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.649007] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[   98.649015] cpu cpu6: rockchip_cpufreq_set_volt: failed to set voltage (700000 700000 1000000 uV): -110
[   98.649023] cpufreq: __target_index: Failed to change cpu frequency: -110
[  153.535662] mmc0: Timeout waiting for hardware cmd interrupt.
[  153.535668] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[  153.535672] mmc0: sdhci: Sys addr:  0x00000000 | Version:  0x00000005
[  153.535678] mmc0: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
[  153.535684] mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x00000023
[  153.535689] mmc0: sdhci: Present:   0x03f700f0 | Host ctl: 0x00000034
[  153.535696] mmc0: sdhci: Power:     0x0000000d | Blk gap:  0x00000000
[  153.535701] mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
[  153.535707] mmc0: sdhci: Timeout:   0x0000000e | Int stat: 0x00018001
[  153.535713] mmc0: sdhci: Int enab:  0x03ff000b | Sig enab: 0x03ff000b
[  153.535719] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[  153.535725] mmc0: sdhci: Caps:      0x226dc881 | Caps_1:   0x08000007
[  153.535730] mmc0: sdhci: Cmd:       0x00000c1a | Max curr: 0x00000000
[  153.535736] mmc0: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0xffffffff
[  153.535741] mmc0: sdhci: Resp[2]:   0x320f5903 | Resp[3]:  0x00000900
[  153.535747] mmc0: sdhci: Host ctl2: 0x0000000f
[  153.535751] mmc0: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x003de228
[  153.535756] mmc0: sdhci: ============================================

 

...全文
1759 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
提及温柔 2025-06-23
  • 打赏
  • 举报
回复

您5.10.110对应版本的patch是用的什么版本的啊,我找不到

北城半夏yi 2024-10-16
  • 打赏
  • 举报
回复

又一次死机报了调用栈

 [  105.530928] BUG: scheduling while atomic: swapper/0/0/0x00000002
[  105.530936] BUG: scheduling while atomic: swapper/2/0/0x00000002
[  105.530947] Modules linked in:
[  105.530947] Modules linked in:
[  105.530950]
[  105.530950]
[  105.530954] Preemption disabled at:
[  105.530955] Preemption disabled at:
[  105.530957] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[  105.530957] [<ffffffc0112469dc>] schedule_preempt_disabled+0x2c/0x40
[  105.530987] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.110-rt53 #10
[  105.530995] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[  105.531000] Call trace:
[  105.531002]  dump_backtrace+0x0/0x1e0
[  105.531015]  show_stack+0x24/0x30
[  105.531022]  dump_stack_lvl+0xc8/0xf4
[  105.531036]  dump_stack+0x18/0x34
[  105.531042]  __schedule_bug+0xb0/0xc0
[  105.531051]  __schedule+0x61c/0x850
[  105.531057]  preempt_schedule_lock+0x28/0x50
[  105.531065]  rt_spin_lock_slowlock_locked+0x11c/0x2ac
[  105.531075]  rt_spin_lock_slowlock+0x60/0xa0
[  105.531082]  rt_spin_lock+0x58/0x6c
[  105.531092]  choose_freq+0x1d0/0x464
[  105.531109]  eval_target_freq+0x354/0x734
[  105.531119]  cpufreq_interactive_idle_notifier+0xc8/0xec
[  105.531129]  atomic_notifier_call_chain+0x6c/0xa0
[  105.531143]  idle_notifier_call_chain+0x30/0x40
[  105.531152]  arch_cpu_idle_exit+0x20/0x30
[  105.531160]  do_idle+0x88/0x310
[  105.531169]  cpu_startup_entry+0x30/0x5c
[  105.531175]  rest_init+0xdc/0xec
[  105.531181]  arch_call_rest_init+0x1c/0x28
[  105.531189]  start_kernel+0x614/0x64c
[  105.531197] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 5.10.110-rt53 #10
[  105.531201] bad: scheduling from the idle thread!
[  105.531204] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[  105.531208] Call trace:
[  105.531210]  dump_backtrace+0x0/0x1e0
[  105.531221]  show_stack+0x24/0x30
[  105.531230]  dump_stack_lvl+0xc8/0xf4
[  105.531238]  dump_stack+0x18/0x34
[  105.531244]  __schedule_bug+0xb0/0xc0
[  105.531250]  __schedule+0x61c/0x850
[  105.531257]  preempt_schedule_lock+0x28/0x50
[  105.531264]  rt_spin_lock_slowlock_locked+0x11c/0x2ac
[  105.531273]  rt_spin_lock_slowlock+0x60/0xa0
[  105.531281]  rt_spin_lock+0x58/0x6c
[  105.531289]  choose_freq+0x1d0/0x464
[  105.531298]  eval_target_freq+0x354/0x734
[  105.531308]  cpufreq_interactive_idle_notifier+0xc8/0xec
[  105.531316]  atomic_notifier_call_chain+0x6c/0xa0
[  105.531324]  idle_notifier_call_chain+0x30/0x40
[  105.531331]  arch_cpu_idle_exit+0x20/0x30
[  105.531338]  do_idle+0x88/0x310
[  105.531343]  cpu_startup_entry+0x30/0x5c
[  105.531350]  secondary_start_kernel+0x190/0x1ec

内容概要:本文提出一种基于灰狼优化算法(GWO)优化改进互补集合经验模态分解(CEEMDAN)的混合储能风电功率平抑策略。通过GWO算法对CEEMDAN的关键参数(如白噪声幅值、最大本征模态函数数量等)进行全局寻优,显著提高了信号分解的精度与自适应性,有效克服模态混叠与残余噪声问题。在此基础上,将分解后的风电功率序列按频域特征分配给电池与超级电容构成的混合储能系统,充分发挥电池长时储能与超级电容快速响应的优势,实现高频分量由超级电容平抑、低频分量由电池承担的协调控制。结合Matlab平台完成算法仿真与系统建模,验证了该方法在平抑风电功率波动、降低储能系统综合损耗、延长设备寿命及提升电网电能质量与运行稳定性方面的优越性能。; 适合人群:具备一定电力系统分析、可再生能源并网技术、现代信号处理(如EMD类方法)及智能优化算法基础的研究生、科研人员及从事新能源发电控制、储能系统设计与智能电网调度的工程技术人员。; 使用场景及目标:①应用于风电场配套混合储能系统的实时功率协调控制,提升并网友好性;②优化非平稳、非线性风电功率信号的自适应分解精度,服务于后续预测与调度;③结合GWO等群智能优化算法,提升储能系统在平抑可再生能源波动中的动态响应能力、运行经济性与工程实用性。; 阅读建议:建议读者结合提供的Matlab代码深入理解GWO优化CEEMDAN参数选择机制与混合储能功率分配逻辑,重点关注信号分解效果评价指标(如相关系数、均方根误差)与储能系统性能指标(如SOC变化、功率应力)的关联分析,可进一步拓展至多目标优化、在线滚动优化及其他智能算法(如鲸鱼优化、麻雀搜索)的对比研究。
代码下载链接: https://pan.quark.cn/s/ce7b749cac89 家政上门预约服务小程序源码是一款用于构建专业家政门到门预约服务应用的小程序软件,能够帮助用户创建一个独立的品牌中心,不仅有助于构建一种身临其境的客户体验,而且能够以「美图秀秀」风格的方式展示专业的维修项目以及维修人员,使得服务信息一目了然。该源码主要适用于单一区域(或无需设置城市),不支持企业直接入驻(企业可以选择以个人身份进行入驻),其后台系统功能完备,订单分配方式丰富多样。维修人员能够参与订单的竞争获取,管理员则有权进行订单的指派,同时系统支持客户自主选择维修师傅,并配备了分销与促销、会员优惠、积分兑换、子卡使用等多种营销手段。源码所含功能:城市定位:允许设置多个城市,一旦启用城市功能,客户在进入首页时将自动进行位置识别,同时在首页和下单页面对客户是否位于运营城市进行提示。注意:每个城市提供的服务的种类相同,此功能并非城市加盟或代理功能,城市设置的主要目的是提醒客户当前所在城市非运营区域。下单途径:提供多种下单方式,包括选择服务下单(可选择配件/可直接选择师傅/仅显示后台设定的距离范围内的师傅)、次卡下单(需先购买次卡/次卡可设定使用次数和有效期)、管理员派单(客户需扫描绑定至个人微信)。抢单/派单:后台可设定距离范围,维修人员仅能参与范围内订单的竞争(抢单功能可根据需求关闭),管理员在派单页面会按照师傅与客户的距离进行排序,同时展示师傅的联系电话,以便在派单前与师傅进行电话确认订单:
内容概要:本文围绕“考虑光伏-储能-数据中心多能互补的园区容量优化配置”展开研究,提出了一种基于Matlab代码实现的综合优化模型,旨在通过深度融合光伏发电、储能系统与数据中心的算力负荷特性,实现园区内能源供给与信息负载的协同优化。研究构建了一个兼顾可再生能源出力波动性、储能系统动态响应能力以及数据中心弹性算力需求的多目标优化框架,采用先进的优化算法求解光伏装机容量与储能配置容量的最优组合,以实现能源利用率最大化、运行成本最小化及碳排放最低化的多重目标。文中提供了完整的Matlab实现代码,涵盖数据预处理、模型构建、求解流程与结果可视化,便于读者复现、验证与拓展研究。; 适合人群:具备一定电力系统、能源工程、运筹学或自动化背景的科研人员、研究生及工程技术人员,尤其适用于从事综合能源系统规划、可再生能源集成、数据中心节能优化、低碳园区建设等相关领域的专业人士。; 使用场景及目标:①用于高校与科研机构开展多能互补系统容量配置的理论研究与教学示范;②为工业园区、数字经济园区、绿色数据中心等提供科学的能源系统规划与设计依据;③支撑智能微电网、虚拟电厂、碳中和园区等新型能源形态的仿真验证与决策支持。; 阅读建议:建议读者结合Matlab代码与技术文档同步研读,重点关注优化模型的数学建模逻辑、目标函数设计、约束条件设定及求解器调用过程,推荐在实际案例数据基础上调整参数进行仿真实验,以深入理解多能互补系统的协同运行机制与优化配置规律。

4,469

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧