无标题
问题 对于uboot设备树中的OTG设备如何修改(让uboot阶段能进fastboot模式)
NXP OS System
standalone 编译各模块uboot拉取uboot仓库# clone 自己的仓库后,将官方的仓库subtree下来 注意可能需要代理git remote add uboot-imx https://github.com/nxp-imx/uboot-imx.gitgit subtree add --prefix=uboot-imx uboot-imx lf_v2025.04 --squash # --squash 是将remote仓库的所有提交commint成一个# 拉取atf信任固件git remote add imx-atf https://github.com/nxp-imx/imx-atf git subtree add --prefix=imx-atf imx-atf lf_v2.12 --squash# 下载ddr training binmkdir firmware-imxwget -P ./firmware-imx...
无标题
kernel standalone运行时修改kernel日志级别# 8 -> debugsudo sh -c 'echo 8 > /proc/sys/kernel/printk' gdb 查看coredump信息# 打开coredump记录ulimit -c unlimited# 设置coredump文件路径sudo sysctl -w kernel.core_pattern=/tmp/core-%e-%p-%t# gdb 追踪gdb ./bin /tmp/corefile# 进入gdb后输入 bt 查看堆栈信息...(gb)bt 将行宽设置为 1000(或一个很大的数)stty cols 200 libgpiod查看gpio组# 查看系统中的所有 GPIO 芯片gpiodetect
ARM-NXP
linuxptp v4.4BC 边界时钟./ptp4l -f ./boundary_clock.conf -i eth0 -i eth1 -m 对应的配置文件如下 [global]# 指定这是一个边界时钟#clock_servant 1boundary_clock_jbod 1# 日志记录到标准输出,方便调试logging_level 6verbose 1# 网络传输模式 (通常是 2,代表 L2/Ethernet)network_transport L2# 时间戳模式 (硬件时间戳)time_stamping hardware# 使用哪个 PTP profile,默认即可#ptp_dst_mac 01:1B:19:00:00:00#p2p_dst_mac 01:80:C2:00:00:0E# 接口列表# 指定 eth0 和 eth1[eth0][eth1]
无标题
IMX8MP-EVK MCUuboot启动M7进入uboot后 查看mmc设备 mmc list 看到如下 FSL_SDHC: 1 # SDFSL_SDHC: 2 (eMMC) 再查看emmc 第一个分区的内容,会有m7的程序 fatls mmc 2:1 直接运行 对于编译出来的运行在 TCM上的固件 TCM (Tightly Coupled Memory) - 紧耦合存储器位置:通常位于核心处理器芯片内部或非常靠近核心的地方(片上内存,OCRAM/SRAM)。速度:极快,通常与 CPU 核心时钟同步,访问速度接近 L1 Cache,无延迟。用途:主要用于存储 关键代码(如实时操作系统 RTOS 内核、中断处理程序、设备驱动程序)和 实时数据。在异构系统(如 i.MX M7 核心)中,M7 的代码通常被复制到 TCM 中执行。大小:较小(通常为几十 KB 到几 MB)。特性:不可缓存。处理器直接访问它,因此访问是可预测的,非常适合 实时 应用。 fatload mmc 2:1 0x48000000...
ARM-NXP
开发笔记yocto常用指令#%% 编译和清理bitbake virtual/kernel -c cleanall # 会删除下载的文件,慎用。-c clean # 不会删除已下载的文件bitbake u-boot-imx -c unpack -f # 强制重新解压 (有时候.git没有了就重新解压)#%% 编译和部署bitbake core-image-base # 系统镜像bitbake u-boot-imx # 编译uboot(u-boot-imx 是配方名)bitbake -c deploy u-boot-imx #部署 uboot(但是好像没有重新生成)bitbake linux-imx # 编译内核#%% 终端配置指定配方bitbake-layers show-recipes | grep linux # 找出配方名# 以 linux-imx 为例打开 devshell(会把你放到 $S,内核源目录)bitbake -c devshell linux-imx uboot 指令mmc list # 查看存储设备fatls mmc 2 # 查看mmc 设备2...
ARM-NXP
remoteproc 模式下外设的访问atf信任固件修改需要给M核访问指定外设的权限 uboot更改在uboot中分配外设的访问权限 kernel rpmsg 设备树修改kernel和M和对外设的管脚设置电器属性会冲突,需要删除kernel设备树种对外设管脚的pinctrl
ARM-NXP
将默认debug输出串口由uart2切换成uart3
OS System
linux常用指令 systemctl petalinux 系统制作 系统引导和文件系统的制作 initram临时系统文件制作 ext4文件系统制作 编译结果的文件解释 BOOT.bin image.ub system.bit(bitstream) rootfs_cpio.tar.gz zynqmp_fsbl.elf u-boot SysMonPSU pgrep 获取指定进程信息 驱动创建 应用创建 gdb 远程调试 create modules 驱动 linuxptp 内核配置 rootfs设置 设置自动登录 PetaLinux patch生成和应用方法整理 patch 2021.1及以后的版本 清除patch 清理 devtool modify (linux-xlnx) 产生的源码与补丁 petalinux-build 清理 清理所有构建输出和缓存 或者使用 清理特定组件 清理内核 清理 u-boot 清理根文件系统 清理设备树 preboot 通过 mdio...
Yocto
Yocto定制linux (主机为ubuntu)构建步骤下载安装yocoto工程会用到的软件包sudo apt install gawk wget git-core diffstat unzip texinfo gcc-multilibsudo apt install build-essential chrpath socat cpio python3 python3-pip python3-pexpect sudo apt install xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev sudo apt install pylint3 xterm clone yocoto项目git clone git://git.yoctoproject.org/poky 首先你需要初始化构建环境,以此来得到一些重要的环境变量,进入poky目录,运行命令:source oe-init-build-env...

