- 博客(67)
- 资源 (4)
- 收藏
- 关注
原创 linux内核驱动崩溃oops调试方法
计算崩溃地址 0x3b0+0x18=0x3c8,获取实际崩溃位置(addr2line 0x3c8后面的选项可以自行调整)根据 PC is at icm20608_reginit+0x18/0x1d0 [icm20608]找到icm20608_reginit位置。没有打印信息修改makefile。找到0x18偏移处0x3c8。查看文件是否添加了-g选项。提取问题代码附近位置。
2025-12-12 16:57:26
123
原创 ubuntu安装实时内核(PREEMPT-RT)(编译法)
下载补丁并解压 patch-5.15.195-rt90.patch.gz。下载内核并解压 linux-5.15.195.tar.gz。(选择patch版本为单个补丁,patchs为多个补丁)一、下载内核(如果不需要更换内核版本则跳到二)拷贝到linux目录下,应用补丁。修改menuconfig。二、下载实时内核补丁。
2025-11-14 16:55:46
283
原创 IMX6ULL无法通过Ubuntu22.04 NFS uboot挂载rootfs根目录解决
查看ubuntu支持的NFS版本,如果没有+2则不支持nfs2,uboot默认使用nfs2连接如果有+3,则可以尝试使用方法一。将vers2=n改为vers2=y,并把前面的#去掉,重启服务后查看nfs版本是否+2。解决办法,在bootargs添加nfsvers=3。
2025-11-03 14:34:05
278
原创 ukuu内核管理器
安装ukuu,查看git地址https://github.com/teejee2008/ukuu。选择想要使用的内核(推荐选择 recovery mode 进行故障排除)开机时看到制造商Logo后立即按住 Shift 键(传统BIOS)方法一:通过GRUB引导菜单临时切换 操作步骤: 重启计算机。或快速连续按 Esc 键(UEFI系统)如果出现依赖问题可以尝试修复。列出所有已安装的内核版本。安装完成后获取可用内核。通过grub切换内核。ukuu设置默认内核。
2025-10-23 08:20:36
208
原创 FFMPEG3.0 增加RTSP拉取PCM音频流功能
无法拉取的是因为没有RTP关于PCM的解包器,新建一个自定义解包器即可。PCM为裸数据,在RTP封装中无需额外处理,只需要在数据处理接口中做好大小端转换即可。新建一个自定义解封装代码ffmpeg-3.0/libavformat/rtpdec_pcm.c。修改makefile。
2025-02-11 09:49:09
532
原创 RK系列调试串口(uart0)修改为普通串口
重新调价bootargs参数,修改串口4的地址ff0e0000。kerne defconfig中禁用fiq_console。修改bootargs参数,删除调试串口相关,删除以下内容。dts中将fiq串口ID修改为-1。启动普通串口uart0。
2024-12-11 16:21:05
671
原创 RK3308 I2S-TDM MCLK没有输出时钟给声卡解决办法
控制MCLK实际输出的配置为codec中第2~5行的配置,需要根据所选的I2S通道的时钟。I2S通道的DTS无需特别配置。
2024-08-29 20:14:49
968
1
原创 RK系列UST-OTG切换为HOST模式或DEVICE模式的两种方法(DTS修改和软件命令修改)
找到USB设备,修改otg_mode即可。2、用户空间软件控制。
2024-07-11 14:03:18
2064
原创 C++中链接静态库报错未定义的引用问题分析
makefile 已经指定了静态的位置,并且Makefile能找到静态库,但是仍然报错函数未定义。可能原因是静态库使用了C语言编写,源码中没有使用extern "C"编译。
2024-02-29 10:50:13
1180
原创 linux设置WIFI-AP为40MHZ带宽150Mbps速率hostapd.confi文件
【代码】linux设置WIFI-AP为40MHZ带宽150Mbps速率hostapd.confi文件。
2023-03-14 17:28:56
1230
原创 嵌入式如何使用vscode/gdb/gdbserver调试程序或coredump(内存不足以运行gdb的情况下)
选择最后的(gdb) xxx ,该模式为仅调试不编译,其他模式会创建task.json,根据该配置文件编译工程后再调试。④、 miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb 路径。运行如下命令,其中arm-gdb 是你的交叉编译工具链目录下的一个gdb工具,下载任意版本gdb,交叉编译后,将gdbserver拷贝到嵌入式目标板。下载任意版本gdb,交叉编译后,拷贝到嵌入式目标板直接运行gdb。下载任意版本gdb,交叉编译后,拷贝到嵌入式目标板直接运行。
2022-08-18 17:45:32
2408
转载 gitLab数据备份和迁移
转载:备份防删https://blog.youkuaiyun.com/popo1097/article/details/122991268自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下备份前gitlab的项目如图所示1.1 修改仓库存储位置gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。例如我这
2022-07-13 09:57:00
2999
原创 git submodule update 游离分支 临时分支问题记录 解决办法
git submodule update --init git pull origin master --recuresive-submodule拉取子模块代码,子模块显示在临时分支上$ git branch* (HEAD detached at da3251f) branch01 master可以理解为submodule update拉取代码使用了checkout命令,而不关注具体是什么分支git checkout xxx因此在拉取子模块代码后,如果要进行开发,记得执行$
2022-05-24 16:59:35
1610
转载 在Ubuntu\Centos上搭建、备份、汉化自己的GITLAB
1.安装包下载Ubuntu16.04下载地址:http://releases.ubuntu.com/16.04/ubuntu-16.04.7-desktop-amd64.isoVMwarePro15.5下载地址:http://www.downza.cn/iopdfbhjl/277470?module=soft&id=277470&token=5e7842a8a1b932c651284bb66a1e686c&isxzq=0注意:在用其他的安装包的时候有可能会出现各种问题,为了保险
2022-05-08 13:52:06
998
原创 git报错unsafe repository xxx is owned by someone else
git报错git.exe pull --progress -v --no-rebase "origin" masterfatal: unsafe repository ('//xxx/home/workstation/work/git/testGithub' is owned by someone else)To add an exception for this directory, call:git config --global --add safe.directory '%(prefix)
2022-05-06 16:47:47
4419
原创 在线词典网站
牛津词典https://www.oxfordlearnersdictionaries.com/ :牛津学习者词典适合初级和中级学习者,用最简单的英文来解释英文单词剑桥词典https://dictionary.cambridge.org/us/:英英和中文解释都具备韦氏词典http://www.merriam-webster.com/:比较适合专注美式英语的同学,例句丰富柯林斯https://www.collinsdictionary.com/麦克米伦https://www.macmillandict
2022-04-21 11:36:00
4598
原创 ESP32在ubuntu linux环境上开发环境搭建(IDF/ADF)
官方教程一、软件包sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0二、检查python版本,若python版本低于3.6按如下方式安装配置https://blog.youkuaiyun.com/weixin_30613433/article/detail
2022-04-07 18:52:15
2118
原创 使用pyenv管理python版本
下载pyenv git clone https://github.com/pyenv/pyenv.git ~/.pyenv运行命令,如果出错可以忽略 cd ~/.pyenv && src/configure && make -C src在 ~/.profile 内添加如下内容# the sed invocation inserts the lines at the start of the file# after any initial comment lin
2022-04-07 17:33:22
3156
原创 使用signal()截取信号后无法产生coredump解决办法
如下所示代码,当截取信号时(已设定ulimit -c unlimited), 在signalProcess()中有三种处理办法,导致三种结果1:进程不会结束,会不停地调用 crashHandler,因为信号没有被处理2:进程结束,但是不会产生coredump3: 处理信号后,将信号恢复为内核默认处理,会产生coredump文件,并结束进程void signalProcess(int signalval){ LOG_WARNING("signal:%d\n", signalval
2022-04-07 11:59:43
2881
原创 关于curl通过http上传文件踩坑记录
当< HTTP/1.1 404curlRet 不会返回错误码,而是OK,curlRet = curl_easy_perform(pCurl); 所以需要单独判断一下 //http返回404时 curlRet 不会返回错误。需要单独判断 curl_easy_getinfo(pCurl, CURLINFO_RESPONSE_CODE, &resCode); if (resCode != 200) { log_print(LOG_LEVEL_ERRO
2022-03-21 10:56:06
703
转载 有符号类型强制转换为无符号类型导致的错误、强制类型转换不安全、隐式类型转换注意事项
项目中的错误案例代码中使用int32 类型 将值十进制值2147483648(0x8000 0000)赋值给uint64类型,在int32类型的二进制中,最高位为1,表示为补码。由Int32赋值给uint64类型的过程中,有两个过程:①将int32升级为int64,此时多出来的最高位全部补1,此时变成了0xffffffff80000000;②,将int64转化为uint64,此时十进制值为18446744071562067968。因此该值远大于2147483648(以下转载自liuchengxu_
2022-03-01 16:27:47
1911
原创 linux共享内存内加锁导致死锁
背景:使用共享内存共享一段结构体数据,结构体中包含锁变量,对内部数据操作时,需要加锁。通常 操作中没有问题,但在共享内存数据进行高频率加锁时出现死锁。使用共享内存共享如下结构体数据typedef struct{ OSMutex muOnProcess;}MEM_MANAGER_MEM_CTRL;在对数据进行操作时,对共享数据进行锁操作LockMutex(&pCtrl->muOnProcess);UnlockMutex(&pCtrl->muOnProces
2022-01-04 16:38:17
1516
2
原创 包含类和继承类的区别
继承类class CTestA{public:public: void testa(void); int a;};class CTestB : public CTestA{public: public: void testb(void); int b;};void CTestA::testa() { CTestB b; b.b = 3; printf("testa: a:%d b:%d\n", a, b.b);
2021-10-12 11:15:58
577
原创 ubuntu开发环境基础库快速安装
sudo apt-get updatesudo apt-get install git-core gnupg flex bison gperf build-essential zip curl \zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev \x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev \libxml2-utils xsl
2021-09-18 08:55:06
965
原创 linux检测进程物理内存变化脚本
原文出处,经过测试修改,修复BUG(若脚本PID比进程PID值小,会导致检测到的内存为脚本进程,脚本进程调用grep时,也会导致脚本检测到grep进程)https://quantum6.blog.youkuaiyun.com/article/details/85985274PROCESS_NAME=$1if [ "${PROCESS_NAME}" = "" ] ; then echo PROCESS_NUME err, usage ./xxxx.sh PROCESS_NAME exitfi#
2021-09-17 11:32:56
316
原创 GDB ARM Llinux移植、编译错误记录
1、编译配置./configure --host=aarch64-rockchip-linux-gnu --target=aarch64-rockchip-linux-gnu --enable-shared --prefix=${PWD}/gdbOutput --disable-gdbtk --disable-tui --disable-werror --without-included-regex --without-included-gettext2、出现bfd头文件定义错误--disable-
2021-06-23 09:29:26
1490
1
Source insight 4.0黑暗配色方案
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅