自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 ubuntu下终端打不开的排查思路和解决方法

问题现象描述:ubuntu开机后系统桌面显示正常,其他图形化的app也都能打开无异常,唯独只有terminal终端打不开,无论是鼠标点击终端软件,还是ctrl+alt+t,还是alt+F2后输入gnome-terminal后按回车,这三种方式都无法打开。我知道我是因为语言或者地区设置问题,但是照着网上教程,在ubuntu系统设置界面里更改了系统的语言,输入法,地区,时区设置,最后都没能解决我的问题。2,重装gnome-terminal终端工具,如果重装后也不能解决,则按照第三步继续排查。

2025-03-26 10:15:20 1069

原创 瑞芯微烧录工具AndroidTool.exe打开的时候提示Loading config file failed,无法识别到开发板

进入到软件界面,下方只显示static,开发板进入到烧录模式后,该烧录软件无法识别到开发板(如果正常识别到开发板,下方应该显示为Found one Loader device或者Found one MASKROM device)问题现象描述:双击打开该烧录工具,提示loading config file failed。此时也可以正常识别到烧录模式下的开发板了。

2025-03-25 17:30:29 111

原创 ubuntu下切换GCC版本

sudo apt install gcc-12 g++-12(我现在要下载和安装gcc12版本,安装完之后到/usr/bin目录下看一下此时是否已经有了你要安装的gcc版本)sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110(更改gcc编译器的优先级)sudo update-alternatives --config gcc(选择gcc-12版本前面的序号,按回车)gcc -v(假设当前为gcc-11版本)

2025-03-25 17:07:02 224

原创 使用RKdevTool2.65为RK3399烧录固件时遇到的一些问题及其原因

如果此时固件依然烧录失败,那就点EarseFlash擦除一下再重新烧,如果擦除也提示Download boot fail(基本可以确定emmc坏了),如果还不相信,可以再转去查看LOG文件,位置在瑞芯微烧录工具下的LOG文件夹里,我通过对比刚才烧录的错误日志和以前正常烧录的时候的日志,发现刚才读到的FLASHID和以前的不一样了,按理说他们应该是一样的才对,因为是同一个型号同一个厂商的EMMC。打开瑞芯微烧录工具,连接开发板,进入到Maskrom模式,点下面这两个。

2025-03-14 17:58:29 322

原创 在rk3588上部署并使用NPU/CPU方式运行Deepseek-R1-1.5b/7b模型(全流程实操)

克隆的仓库里的rknn-llm-release-v1.1.4/rkllm-toolkit/examples目录下只有一个test.py文件,我们需要在这里新建data_quant.json和export_deepseek_7b_rkllm.py这两个文件,//验证一下刚生成的这个库文件是不是和rknn-llm-main/rkllm-runtime/Linux/librkllm_api/aarch64/librkllmrt.so的一样,要保证它们是1.1.4版本的才能满足这个模型的运行要求。

2025-03-04 11:38:12 1657

原创 orangepi5pro更新Linux内核版本

时,当其发现本地没有这些东西,会自动去相应的地方下载的,下载完之后,你会发现orangepi-build目录下多了。然后进入到开发板的ubuntu系统中,先找到当前系统里的deb格式的内核镜像,将其卸载并清除。这是我orangepi5pro开发板目前的信息,可以看出我当前的内核版本为6.1.43,现在已经编译完了内核,并且验证过版本为我们想要升级的版本,那么接下来需要将。内核需要用到交叉编译工具链,这是正常的,因为这些东西都存放在其它单独的。包含编译镜像需要用的配置文件、特定的脚本以及部分程序的源。

2025-02-26 12:00:19 982

原创 ssh,samba,tftp,nfs服务安装和配置

经上面设置后,/tftpboot为服务器地址,客户端get的文件都会从这个目录下寻找,请保证客户端想要get的内容在tftpboot目录下是存在的,并保证文件权限。echo "PasswordAuthentication yes" >> /etc/ssh/ssh_config //配置ssh客户端。将服务器的/目录挂载到客户端的/mnt目录下,当客户端成功后,客户端进入到/mnt目录就相当于进入到服务器的/目录。把下面这些内容复制并添加到/etc/samba/smb.conf文件里。在客户端执行以下操作。

2025-01-15 11:16:20 579

原创 当linux开发板启动后,在开发板系统中如何查看当前设备树配置

中,比如我想查看设备书中关于rtc硬件的信息,可以直接查看与 RTC 相关的节点配置find /proc/device-tree/ -name "*rtc*"找到 RTC 节点后,可以通过以下方式查看某个设备节点的详细信息:例如cat /proc/device-tree/path/to/rtc_node。通过这两种方式,我们可以直接在目标机上验证设备树当前的配置情况。就不用在开发机上来查看设备树的配置。3,打开设备树文件:cat extracted_device_tree.dts。

2024-11-18 22:54:37 811

原创 ubuntu18.4主机下,交叉编译过程中在ar汇编阶段找不到某个库的解决

我们知道,在编译的时候他会从系统默认的库路径去寻找,比如/usr/lib,/usr/local/lib/这些,我的交叉编译器是外部安装的,不属于ubuntu系统里自带的,所以需要手动去指定交叉编译器的库路径,设置库路径的系统变量名为LD_LIBRARY_PATH,你需要找到报错缺失的那个库在哪个目录下,然后在~/.bashrc或/etc/bash.bashrc或/etc/profile里指定库路径,如下图。然后对这个库的属性信息检查,可以确定该库格式正常,权限正常,说明库本身没有问题。

2024-10-23 16:05:26 423

原创 随笔—git操作

所以,如果你有一个文件不需要提交,但是不小心执行了 git add 将其暂存了,那么可以使用 git reset HEAD 命令来取消暂存。当我们新建分支并做完工作之后,想要把分支提交至master,只需要切换到master仓库,并执行git merge 分支名就可以了。如我们在分支中新建了一个f.c和test.c的文件,然后在使用git checkout master切换到master,在使用git merge dev将其合并。当你想把本地的分之推送到远端仓库main仓库的时候,如果。

2024-10-22 17:58:22 1223

原创 ubutnu18.4下切换GCC版本

运行上面这条命令时,系统会显示已安装的 GCC 版本列表,并让你选择想要的版本。根据提示输入相应的编号来选择 GCC 4.8 版本。由于较低版本的 GCC 不在 Ubuntu 18.04 的默认包管理器中,需要添加旧的存储库来安装。这样就可以切换并使用指定的 GCC 4.x 版本,可用gcc -v检查版本。如果需要切换回其他版本,重新运行。# 安装 GCC 4.x(例如 4.8 版本)并选择指定gcc版本对应的编号即可。# 配置默认 gcc 版本。# 添加旧版本的存储库。# 配置 gcc 选项。

2024-09-29 10:40:37 385

原创 QCA9531开机过程中受到串口RX数据的影响导致启动过程死机【已解决】

前面我在内核代码里调用serial8250_stop_rx那个函数,是直接改的8250串口控制器的驱动,但是我现在要在应用层发指令给驱动层来控制8250驱动,这中间还要经过一个tty抽象层,因为在用户空间打开/dev/ttyS*的时候其实是在和tty层交互,而不是直接和8250串口驱动交互,所以要想控制串口驱动,就要用到tty层提供的系统调用接口,也就是需要调用tty_operations uart_ops这个操作合集里的ioctrl,才能最终控制到串口驱动。

2024-09-13 14:25:02 902

原创 为PC和ubuntu增加不同的网段的IP支持

但是我现在开发的wifi项目,wifi板设置成的是1网段,当我开发板用nfs启动的时候去挂载虚拟机,由于不在同一网段所以挂载不上,如果改开发板的ip的话,板子上的APP也要跟着改,要改很多东西,太麻烦。由于公司的路由器分配的是192.168.5.xxx网段,所以分配给我们电脑的默认都是5网段的ip。

2024-08-09 17:31:31 354

原创 基于QCA9531+AP143参考设计,开发板上电后wifi概率性启动失败问题排查

箭头指的地方的数据,是我不想要的数据,注意看箭头数据所处的时间,是在刚上电的几秒钟,这个时候刚好我wifi板的uboot还在启动,还没启动完成,可能刚好停留在bootdelay的那两三秒的时候,这个时候他的TX数据刚好发过来,我的rx收到之后,uboot以为是用户在键盘上按下了任意字符,导致进入了uboot命令行,导致启动中断。在经过多次对比观察后,我发现,uboot卡死的时候,是出现在bootdelay的那几秒的过程中,串口的电平突然被拉低,这个时候是RX接收到了数据导致的。

2024-08-06 17:43:59 955

原创 基于QCA9531+AP143参考设计的spiflash升级扩容,w25q64升级为w25q128

在内核启动的时候,他会去解析uboot传过来的bootargs设置,由于在内核配置中选中了mtd相关功能并编译进内核,所以内核在启动时,内核的mtd子系统会根据分区规则,对flash自动去划分分区,我们将这些地址范围转化成便于理解的kb单位,发现和我之前规划的分区一致,直到内核启动完成,未发现kernel panic死机情况,可以正常进入到文件系统,这就意味着即将大功告成。在应用层的开发中,最重要的就是文件系统的大小,系统里存放了所有的用户数据升级flash的主要目的就是为了扩容系统大小。

2024-07-17 11:17:00 886

原创 ubuntu18.4安装vscode3种方法,以及常用插件下载,懒人福音

插件安装完成后,重启vscode即可全部生效,如果中文显示未生效。>>在上方出现的搜索框中输入configure language。推荐方法1:用snap包管理器安装,无需担心依赖项冲突,省事。方法2:手动下载最新的.deb安装包,并使用dpkg安装。图标插件,主要是资源管理器下各个文件夹的图标。VSCode,下载一些常用的插件(可省略),比较插件,可以用于比较两个文件的差异。自动补全插件,强烈推荐,谁用谁知道!,彩虹花括号,有助于阅读代码。,这个肯定是必须的。,即自动头文件包含。>>打开vscode。

2024-07-09 15:31:54 892

原创 makemenuconfig的时候提示/usr/bin/ld: i386 architecture of input file `mconf.o‘ is incompatible with i386:

所以在执行make menuconfig在后台链接的过程中会提示文件类型与当前主机架构不符,解决方法就是把这个.o文件删除,然后偶重新执行make menuconfig,他就会重新生成适合我们当前主机架构的.o文件,这样才会正常链接,并且加载出menuconfig图形化配置界面。思路步骤:因为这些.o文件是在以前的老的ubuntu12的i386架构上编译得到的,所以file命令查看该.o文件类型为32-bit,i386类型。

2024-07-02 23:10:57 354

原创 jffs2_scan_eraseblock():magic bitmask xxx not found at xxx

如下图示例,我下载的实际uboot文件大小为168K,我给uboot设置的分区大小为256K,按照一个扇区64k字节大小,如果擦除整个分区的话,应该要擦除4个sector,下面图中应该显示为First 0x0 last 0x3才对,但是他的结果为First 0x0 last 0x2,这就是因为我当时把擦除面积设置为了实际文件大小,我的文件大小为168K,3*64=192 > 168,所以系统默认只擦除3个sector给我存放uboot.bin)重新用这条命令下载,擦除和写入,就可以解决上面图中的问题了。

2024-05-24 15:10:56 774 1

原创 uboot启动完成后在加载内核时提示Bad Magic Number

QCA+9531开发板,由于升级了flash从8M到16M,所以需要对flash重新进行分区,在开发板上电后,uboot启动,在bootdelay倒计时结束前按下空格,进入uboot命令行,在里面中修改了bootargs参数,以适应新的flash大小,然后重新下载固件到对应的分区,在下载完之后重新上电开发板,启动过程中遇到Bad Magic Number,然后仔细检查了一下分区信息,确认无误,发现是因为bootcmd参数设置错误导致的,在bootm后面应该跟的是内核在flash中的起始地址,如下图:

2024-05-24 14:11:10 397 1

原创 虚拟机里的Ubuntu18.4启动时进入到grub rescue救援模式(无法正常进入到系统),ls查看后只有一个硬盘和分区,且无法找到/boot/grub文件【已解决】

然后但我重新启动ubuntu的时候就发现进入到了grub rescue救援模式,无法进入到系统,网上百度了一大堆,都是说在救援模式下ls查看每个分区,直到找出哪个分区下面有/boot/grub,然后再用命令把启动引导分区设置成这个,千篇一律的答案,他们那些适用于启动分区设置错误,但是/boot/grub和vmlinuz等文件本身存在的情况。第一步:你要知道你的ubuntu是哪个版本的,像我的是18.04,那么就需要准备ubuntu18.04的原生iso镜像,如果没有可以到网上自行下载。

2024-04-30 16:39:42 3299 4

原创 您也许需要运行“apt --fix-broken install”来修正上面的错误。下列软件包有未满足的依赖关系: apt-utils : 依赖: apt (= 1.6.17) 但是 1.6.1...

替换完之后,这下可以保证apt库是没有问题了,这个时候apt-get update执行是正常的;apt --fix-broken install,但是执行完之后发现apt-get直接不能用了,无论我使用apt-get 后面跟什么都会提示。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。总结最终解决方案:apt-get auto-remove apt-utils ubuntu-minimal。解决过程:按照报错信息提示,我尝试执行了。

2024-04-15 18:56:34 1664 1

原创 W: 无法下载 https://www.scootersoftware.com/dists/bcompare4/Release.gpg 由于没有公钥,无法验证下列签名: NO_PUBKEY EC34

W: 无法下载 https://www.scootersoftware.com/dists/bcompare4/Release.gpg 由于没有公钥,无法验证下列签名: NO_PUBKEY EC34ED227AFAE3F2。命中:2 https://mirrors.ustc.edu.cn/ubuntu bionic-updates InRelease。命中:4 https://mirrors.ustc.edu.cn/ubuntu bionic-security InRelease。

2024-04-15 18:17:19 1511 1

原创 apt-get: relocation error: /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0: symbol _ZTI17pkgAcquireS

这个软件包是 APT 包管理器本身,包含了与包管理器操作相关的程序和库文件,安装这个软件包会更新系统中的 APT 包管理器,确保包管理器的版本和相关库文件与之前手动安装的。第二步:安装libapt-pkg5.0_1.6.12ubuntu0.2_amd64.deb软件包。这里面包含了 APT 系统中与包管理相关的共享库文件,安装后会更新系统中的 APT 相关的共享库。这个软件包包含了 Ubuntu 云服务的密钥信息,用于验证软件包的签名。版本匹配,从而解决重定位错误问题。

2024-04-12 16:03:54 802 1

原创 ERROR - No build directory is set yet. Run the ‘setup-environment‘ script before running this script

在开发或者运行程序时,可能会使用到各种不同的依赖库和工具。如果在同一个shell环境中同时使用多个项目,不同项目所需的依赖可能会发生冲突,导致程序无法正常运行。使用干净的shell环境可以避免这种冲突,确保每个项目都能够独立地运行。错误:检测到 OE SDK/ADT 已存在于此 shell 环境中。在获取此环境脚本时,请使用干净的 shell。错误 - 尚未设置构建目录。在运行此脚本之前,请运行“setup-environment”脚本以创建 .打开一个新的终端并重新执行这条即可正常执行。

2024-03-19 10:05:32 269

原创 bash: ./xxx: 无法执行二进制文件: 可执行文件格式错误或者-bash: ./gcc1c: cannot execute binary file: Exec format error

因为pc上的ubuntu是x86_64架构的,所以使用它默认的gcc编译器编译后得到的可执行文件也只适用于在x86_64架构上运行,如果把这个可执行文件放到arm架构或者mips等其他架构机器上运行,则会报错说无法执行二进制文件,可执行文件格式错误。同理,使用arm64版本的gcc(我的是aarch64-linux-gnu-gcc)编译出来的文件也只能在arm64平台上运行,如果把把这个文件放到pc上的ubuntu上运行,也会报错格式不正确。写了个1.c测试程序,输出hello world。

2024-02-05 08:58:24 6483 1

原创 安装nfs服务时候报错mount.nfs: requested NFS version or transport protocol is not supported

然后卸载nfs服务,重新安装nfs-kernel-server,就没有了这个问题,接下来验证一下nfs服务是否可用,把开发板上的ubuntu系统上的/目录当做共享目录,挂载到pc端ubuntu上的/mnt目录下(图5),挂载成功!

2024-02-04 18:09:44 961 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除