11 查看配置信息
查看配置信息 有的时候,我们在使用其它人编译的内核的时候,可能希望知道某些配置项的设置,可以通过下面的方法进行查看 uboot启动参数1cat /proc/cmdline 内核编译配置1zcat /proc/config.gz 这个命令会显示当前正在运行的内核配置,所有的配置项(例如启用的驱动程序、内核功能等)都将以 CONFIG_* 形式列出。通过这些配置项,可以了解到该内核的编译参数。 内核版本可以通过以下命令查看当前系统的内核版本和其他相关信息: 1uname -r 或者详细一点: 1uname -a 这将输出内核版本、系统架构、主机名等信息。 磁盘分区信息查看磁盘和分区信息: 1lsblk 或者: 1fdisk -l 这将列出所有磁盘和分区的详细信息
04 内核移植及分析
...
08 进不去系统
进不去系统 在做BSP开发时,难免会因为设置了什么东西,导致启动参数之类的错误,而无法正常进入系统了,这个文档记录一下自己遇到的问题和解决方法 extlinux.conf错误这个问题出现在调试地平线板子的时候,因为修改错误了/boot/extlinux/extlinux.conf,导致开发板在uboot引导kernel的时候错误,只能进入initramfs 解决思路其实很简单,就是再启动内核前把/boot/extlinux/extlinux.conf改回去。但是这其实还是比较困难的,因为在uboot或者initramfs中是没有直接挂载Linux的/boot目录的,所以没法直接访问 解决办法: 首先得知道/boot在哪个分区 12345678910111213141516171819202122sunrise@ubuntu:/media$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSmmcblk0 179:0 0 59.6G 0 disk├─mmcblk0p1 179:1 0 1M...
24 网卡驱动移植
网卡驱动移植型号确认及模式设置在移植网卡驱动前,首先得知道它的型号。如果是USB网卡的话,可以通过lsusb命令查看 12345lsusb ...Bus 001 Device 003: ID 0bda:1a2b Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode... 很多网卡在未使用时,可能被初始化成U盘的模式,这时还需要我们将其转成网卡模式 这里RTL8188GU并不是真正的型号,因为它此时不是真正的网卡模式,RTL8188GU是Realtek常用“老型号马甲” 可以通过以下的指令,将USB网卡切换到真正的网卡模式 12345sudo apt install usb-modeswitch usb-modeswitch-datasudo usb_modeswitch \ -v 0bda -p 1a2b \ -M...
01 CMake的基本用法
CMake基本用法1.CmakeListsCmakeLists.txt是 cmake 的构建定义文件,如果工程存在多个目录,需要确保每个要管理的目录都存在一个CMakeLists.txt 2.CMake的语法 现代CMake和之前CMake的区别: 现代CMake是面向Tartget的,什么添加头文件、库的路径都是针对某个Target添加而不是对整个目录都添加进去。 cmake_minimum_required() 添加CMake编译的最低版本 project() 命名该CMake工程 add_executable(<name> [source1] [source2 ...]) 指定该工程编译将生成.exe的可执行文件 add_library(<name> [STATIC|SHARED|MODULE] [source1] [source2 ...]) 指定该工程编译生成静态/动态库 aux_source_directory(dir...
03 find_package用法
find_package()的用法作用主要就是通过库对应的.cmake文件(由库的维护者提供,一般用不着自己写),获得第三方库的头文件以及动/静态库文件的路径,方便我们直接添加到我们自己的工程里面 <PackageName>_FOUND :找到了就是True,没找到就是未设定 <PackageName>_INCLUDE_DIR :头文件目录 <PackageName>_LIBRARY...
05 CMake工程层次
CMake工程结构如果项目比较简单,比如只有一个CMakeLists.txt或者projet,那么就不用特别关心这个。但是如果一个大工程,有多个可执行文件,或者又有可执行文件,又有静态/动态库,则需要写多个CMakeLists.txt 多个CMakeLists如何写一般最外层的CMakeLists写: 1.设置编译后输出的位置 2.设置整个工程的C++版本 3.add_subdirectory() 什么时候写projet()一般只有最外层的CMakeLists写一下projet()。每写一个projet(),就会生成一个.sln文件。单独打开就如右图所示。左图是最外层的.sln文件 如果用VS的话,每个project就可以单独编译,但如果用的是VSCode的话,即使不写project每个subdirectory也可以单独编译,所以就没必要写了
软件开发流程
软件开发基本流程软件开发流程是标准化的项目实施框架,核心围绕 “需求落地 - 开发实现 - 测试验证 - 上线运维” 闭环推进,结合你当前的 i.MX6ULL 智能车载终端项目,具体流程及关键节点如下: 1.需求阶段 需求收集与调研:对接产品、车载场景用户(车企 / 终端用户),明确核心诉求(如你文档中的导航、CAN 总线交互、宽温适配等),同步调研行业标准(GB/T 车载规范)、竞品功能、技术可行性(i.MX6ULL 芯片性能边界)。 需求分析与梳理:筛选有效需求,区分核心功能(必做)与可选功能(选配,如 4G/5G 模块对接),明确需求优先级,规避功能冲突(如多媒体与倒车影像切换逻辑)。 需求文档输出:即你当前的《需求规格说明书》,明确功能、硬件适配、性能、合规性等要求,作为全流程依据,需组织多方评审(开发、测试、产品)确认,避免歧义。 需求分解:将整体需求拆解为可落地的细分任务,按模块拆分(如软件层拆分为驱动层、中间件层、应用层),每个任务明确目标、产出物、时间节点,适配 i.MX6ULL 项目的硬件绑定特性(如 CAN 驱动开发、LVDS...
docker
Docker安装Windows下安装包及下载的镜像之类的默认是放在C盘,通过以下方式可以安装到别的盘 1start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="F:\Docker" --wsl-default-data-root="F:\Docker\wsl-data" --windows-containers-default-data-root="F:\Docker-windows-data" 参考:Windows装Docker至D盘/其他盘(最新,最准确,直接装) - HaimaBlog - 博客园 常用CLI指令镜像相关 docker pull:下载一个镜像 docker build -t :编译一个镜像 docker imags:查看所有已有镜像 docker image rm :删除一个镜像 docker commit...
wsl
WSL遇到的问题1.开启WSL2后,VMWare老卡死 VMware虚拟机经常性卡死,打开运行一段时间后卡死 WSL、Docker、Hyper-V、VMWare共存方案 WSL2和VMWare因为Hyper-V虚拟化的原因,不能很好的共存,如果要开启WSL2的话,就得开启Hyper-V虚拟化,这可能导致VMWare运行的时候卡死。所以如果要用VMWare的话,就暂时把Hyper-V关了吧 Hyper-V开/关方法: 1234# 开启:bcdedit /set hypervisorlaunchtype auto # 然后重启# 关闭:bcdedit /set hypervisorlaunchtype off # 然后重启 重启后可以在终端中输入wsl验证,如果不能进ubuntu的终端,就说明关闭成功了 2.WSL里的虚拟磁盘占用空间太大,及时删掉磁盘里的内容,也不会自动回收空间 解决办法: 首先通过wsl --shutdown关掉所有实例 关闭之后通过wsl -l -v确认关闭成功(都是Stopped状态) 然后用任务管理器关Docker...








