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: ============================================

 

...全文
1841 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

内容概要:本文围绕基于分布鲁棒优化的风电不确定性机组组合问题展开研究,提出了一种能够有效应对风电出力不确定性的数学模型与求解方法。通过构建分布鲁棒优化模型,充分考虑风电预测误差的概率分布特征及其不确定性集合的数学表达,在保障电力系统安全运行的前提下,优化发电机组的启停计划与出力分配,从而提升调度方案的经济性与鲁棒性。文中系统阐述了模型的理论基础、不确定性集合的构造方式、目标函数与约束条件的设计,并结合Matlab代码实现了算法仿真与案例验证,展示了该方法在不同场景下的适应能力与性能优势。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力,从事新能源并网调度、电力系统运行优化、能源系统建模等方向的研究人员、高校研究生以及相关领域的工程技术开发者。; 使用场景及目标:①应用于高比例可再生能源接入背景下的电力系统机组组合决策,增强调度方案对风电波动的抵御能力;②为电力市场环境中的发电计划编制与日前调度提供科学依据和技术支持;③作为分布鲁棒优化理论在能源系统不确定性建模中应用的教学与科研案例,推动相关算法的推广与改进。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解流程,重点关注不确定性集的设定逻辑、鲁棒性参数的选择以及算法实现细节,可进一步拓展至多能源耦合系统或多时间尺度调度场景的研究。
内容概要:本文提出了一种结合蒙特卡洛模拟与拉格朗日松弛法的分散式优化方法,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多场景充电负荷数据,并构建以降低电网负荷波动和用户充电成本为目标的优化模型。采用拉格朗日松弛法对问题进行解耦,实现各电动汽车在保护用户隐私的前提下自主参与调度决策,有效提升了计算效率与实际应用可行性。仿真实验验证了该方法在削峰填谷、减少用户电费支出以及增强电网运行稳定方面的优越性能; 适合人群:具备电力系统优化、智能交通系统、运筹学或能源管理等相关背景的研究生、科研人员及工程技术人员; 使用场景及目标:①应用于城市规模化充电站集群的分散式调度系统设计与优化;②研究分时电价政策下用户充电行为与电网负荷之间的互动响应关系;③为高比例电动汽车接入场景下的电网协同控制提供算法支持与仿真验证平台; 阅读建议:读者应结合提供的Matlab代码,深入理解蒙特卡洛场景生成与拉格朗日松弛算法的实现逻辑,建议在复现过程中调整电价策略、用户数量等关键参数,观察其对调度效果的影响,并可进一步拓展至多目标优化框架或引入可再生能源出力不确定性进行联合建模研究。

4,469

社区成员

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

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