Hardware :Nanopi M4

FIQ-Debugger

RK提供的fiq debugger功能是将debugger功能和普通uart功能代码集成到了一起
fiq debugger是集成到内核中的一种系统调试手段。
FIQ在arm架构中相当于nmi中断,fiq debugger把串口注册成fiq中断,在串口fiq中断服务程序中集成了一些系统调试命令。

一般情况下串口是普通的console模式,minicom下输入切换命令"Ctrl + A + F",串口会切换到fiq debugger模式。

因为FIQ是不可屏蔽中断,所以这种调试手段适合调试cpu被hang住的情况,可以在hang住的时候用fiq debugger打印出cpu的故障现场,常用命令是sysrq。

要使用fiq debugger,需要内核配置:

CONFIG_FIQ_DEBUGGER                         // 使能fiq debugger
CONFIG_FIQ_DEBUGGER_CONSOLE                 // fiq debugger与console可以互相切换
CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE  // 启动时默认串口在console模式
原文链接:https://blog.csdn.net/azloong/article/details/45768633

CONFIG配置:

CONFIG_FIQ_DEBUGGER=y
CONFIG_FIQ_DEBUGGER_NO_SLEEP=y

# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set
CONFIG_FIQ_DEBUGGER_CONSOLE=y
CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y

# CONFIG_FIQ_DEBUGGER_TRUST_ZONE is not set
# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set
# CONFIG_FIQ_WATCHDOG is not set
-----------------------------------------------------------------------------------------------------

rk3399-nanopi4-common.dtsi

fiq_debugger: fiq-debugger {
        compatible = "rockchip,fiq-debugger";
        rockchip,serial-id = <2>; //配置UART2
        rockchip,signal-irq = <182>;
        rockchip,wake-irq = <0>;
        rockchip,irq-mode-enable = <1>;  /* If enable uart uses irq instead of fiq */
        rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */
        pinctrl-names = "default";
        pinctrl-0 = <&uart2c_xfer>;  //配置UART2
    };

禁止对应uart节点
&uart2 {
status = "disabled";
};

chosen {
        bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 rootwait coherent_pool=1m";
    };

UART2  address = FF1A_0000

------------------------------------------------------------------------------------------------

rk3399.dtsi

uart2c {
            uart2c_xfer: uart2c-xfer {
                rockchip,pins =
                    <4 19 RK_FUNC_1 &pcfg_pull_up>,
                    <4 20 RK_FUNC_1 &pcfg_pull_none>;
            };
        };

RK3399 系列 linux kernel UART相关推荐

  1. 高通开发系列 - linux kernel更新msm-3.18升至msm-4.9

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! ...

  2. 高通开发系列 - linux kernel内核升级msm-4.9升级至msm-4.19(2)

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! ...

  3. 高通开发系列 - linux kernel内核升级msm-4.9升级至msm-4.19(1)

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! ...

  4. Linux Kernel系列一:开篇和Kernel启动概要

    前言 近期几个月将Linux Kernel的大概研究了一下,以下须要进行深入具体的分析.主要将以S3C2440的一块开发板为硬件实体.大概包含例如以下内容: 1 bootloader分析,以uboot ...

  5. Linux Kernel系列三:Kernel编译和链接中的linker script语法详解

    先要讲讲这个问题是怎么来的.(咱们在分析一个技术的时候,先要考虑它是想解决什么问题,或者学习新知识的时候,要清楚这个知识的目的是什么). 我在编译内核的时候,发现arch/arm/kernel目录下有 ...

  6. linux内核4.4和4.5,[图]Linux Kernel 4.5系列第4个维护版本发布

    Greg Kroah-Hartman表示:"我今天宣布了Linux 4.5.4内核,所有Linux 4.5内核系列用户必须尽快升级.已经升级的4.5.y git tree能够在git://g ...

  7. linux编译运行uart,Kindle4: 编译并运行upstream linux kernel – v4.4

    Kindle4官方提供的Linux  kernel版本为2.6.31, 已经算是很旧版本的kernel了.当前最新版本的linux kernel为4.5,而brillo-m10-dev arm emu ...

  8. linux内核 lts长期演进,Linux Kernel 4.19 将成为下一个LTS(长期支持)系列

    最近Linux内核开发人员和维护人员Greg Kroah-Hartman透露,Linux Kernel 4.19将下一个长期支持的Linux内核系列. 现在Linux Kernel 4.17已经达到使 ...

  9. (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device【转】

    转自:https://blog.csdn.net/lichengtongxiazai/article/details/38942033 Linux kernel 是怎么将 devicetree中的内容 ...

最新文章

  1. OVS DPDK--数据结构关系(七)
  2. UA MATH564 概率论 QE练习题1
  3. Techo 大会:AI 会替代 DBA 么?
  4. Leet Code OJ 14. Longest Common Prefix [Difficulty: Easy]
  5. praat 语音识别教程
  6. C++ popcount()含义
  7. 利用Python进行数据分析——Ipython
  8. Origin下载速度慢怎么办
  9. 全球高精度5米 12.5米 30米地形(DEM)高程数据(tif格式)下载
  10. 使用FeedDemon整理RSS Feed
  11. C#实现QQ窗体的步骤和总结
  12. Zabbix通过SNMP协议监控H3C交换机
  13. 高分一号PMS相机多光谱和全色数据预处理
  14. 2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料和申报方式
  15. 亲脂性细胞膜染料: DiO, Dil, DiR, Did - MedChemExpress
  16. 中国可信计算机走向世界核心技术领
  17. 【模拟电路】三极管做开关,各个电阻的作用
  18. JavaSE入门学习38:Java集合框架之迭代器
  19. python telnet连接中兴C300,对C300telnetserver的一些猜想
  20. react 接入企业微信登录组件

热门文章

  1. C#-WebClient
  2. python实现彩色图片灰度化并转化为字符型图片
  3. 【Git】win 10 / win 11:git 下载、安装
  4. linxu云安装mysql 7.0_CentOS 7.0下使用yum安装MySQL
  5. 40岁程序员,上自由职客不惧失业实现财务自由
  6. Ubuntu虚拟机无法ping通windows解决办法 Ubuntu入门之九
  7. 什么是java中的栈和堆_java中的堆和栈是什么?堆和栈有什么区别?
  8. win10蓝牙已配对连接不上_Win10系统显示蓝牙已配对但未连接咋办?
  9. groupadd mysql_Linux命令之groupadd
  10. 营销真相 微信小店赚钱秘诀