摘要: 1 常用框架总览 视频通路经常使用大块buf,会用到一些内存相关的内核机制,本文对这些机制做概要介绍,并附一些参考资料。 1. cma 连续内存分配器,用于分配连续的大块内存 dts里预留大块cma空间,不用cma分配时,cpu也可用 使用cma分配后,内核把cpu已使用的部分做迁移 参考: htt 阅读全文
posted @ 2022-01-20 20:18 liuwanpeng 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 0 环境 ARMV8,uboot 2020.10,rpi3平台 1 移植框架 board,不用说了,板级,uboot使用dts后,这块代码应尽量简化 machine, SOC级,主要是一些外设 ARCH, 如arm(包含armv7和armv8) CPU, 如armv8 各框架启动时的关系: 配置相关 阅读全文
posted @ 2021-05-17 10:48 liuwanpeng 阅读(2872) 评论(1) 推荐(1) 编辑
摘要: 1 异常发生后快速定位方法 ARM v8发生sync异常以后(如非法指令、data abort等),可以通过寄存器快速定位引起异常的原因,具体寄存器如下: 如下为测试程序 在系统MMU设置里,0x100地址不允许访问,下图程序152行故意访问0x100地址,引发异常。 执行152行以后,进入异常 查 阅读全文
posted @ 2021-03-17 16:15 liuwanpeng 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 函数执行到特定位置卡死,该位置只有内存和UART寄存器访问,单步无问题。 查找问题: 怀疑UART和SRAM ip有问题,芯片设计提供抓信号的版本 抓SRAM信号,发现有0地址访问。 0地址是DDR区域,还不可访问,程序中未访问0地址 定位:ARM的硬件,为了提高效率,对于配置成normal的内存区 阅读全文
posted @ 2021-03-16 11:31 liuwanpeng 阅读(367) 评论(0) 推荐(0) 编辑
摘要: project——project settings 这个目录默认是工程文件的目录,一般不是源码目录。所以要设置一下,否则可能cache源码时导致卡顿。 上面方法无效的话,可以把base工程清空 如下连接也有用: https://blog.csdn.net/yangwangnndd/article/d 阅读全文
posted @ 2021-03-13 16:44 liuwanpeng 阅读(10648) 评论(0) 推荐(0) 编辑
摘要: 1 ARM64中的对齐检测 普通内存访问,这里的对齐在不同指令模式下是不一样的,例如使用了W寄存器,那就是32bit对齐;使用了X寄存器,那就是64bit对齐: device属性,只要非对齐,就报错 normal mempry, 受SCTLR_EL*中A bit的控制 exclusive atomi 阅读全文
posted @ 2021-03-08 16:43 liuwanpeng 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 1 概述 如上图: CCI-2包括若干单向Data lane,用于传输图像数据 clock lane是必须的,data lane 1-4个 CCI,camera control interface,用于配置 物理层详见D-PHY,lane配置为:LP也需要,进出HS模式需要LP control mo 阅读全文
posted @ 2021-02-08 14:06 liuwanpeng 阅读(2209) 评论(0) 推荐(1) 编辑
摘要: 1 概述 mipi接口在视频领域广泛使用 sensor和soc的接口是mipi csi-2 soc和mipi屏的接口是mipi dsi D-PHY是广泛使用的物理层协议,除此之外,还要C-PHY和M-PHY。 我们只用到D-PHY,本文对D-PHY的简要说明。 2 接口简述 2.1 lane 如下图 阅读全文
posted @ 2021-02-07 12:56 liuwanpeng 阅读(3065) 评论(0) 推荐(2) 编辑
摘要: 1 MMU简介 1.1 为什么需要MMU MMU的作用是将core发出的虚拟地址VA转换为物理地址PA。在操作系统里,进程的VA可以很大且连续,进程不用考虑PA的实际情况,有MMU完成VA到PA的转换 裸跑程序里,一般不向OS这么复杂,MMU会做平坦映射,即VA=PA 1.2 裸跑不开MMU行不行 阅读全文
posted @ 2021-02-04 15:43 liuwanpeng 阅读(2119) 评论(0) 推荐(0) 编辑
摘要: 1.概述 大型程序中,人们希望工具自动识别修改的文件,而且不需要输入冗长的命令,就可以进行编译链接等操作,于是make工程管理器应运而生。 make可以自动识别文件时间戳,只处理修改的文件; make动作的依据是makefile文件 2 makefile基本结构 makefile通常包含: targ 阅读全文
posted @ 2017-12-26 17:58 liuwanpeng 阅读(618) 评论(0) 推荐(0) 编辑