- 博客(20)
- 收藏
- 关注
原创 移植pjsip到mini2440遇到问题
把编译器换成合适的arm-linux-gcc版本, 然后把pjsip替换成几年前的版本,因为最新的pjsip版本arm-linux-gcc编译不过,我用的是2021年的版本,所以编译通过了。我把编译器版本替换了解决了。
2025-10-25 21:55:15
167
原创 TFTP error: trying to overwrite reserved memory...
uboot 会自动适配安排一个内存地址值,大部分uboot会有这个功能吧。0x800000000这个参数给大了,内存没这么大地址值,于是就报错了。或者去掉这个参数,也可以。不断地缩小,直到可以。
2025-07-23 18:14:14
228
原创 minicom.c:34:19: fatal error: iconv.h: 没有那个文件或目录(软件版本为:minicom-2.7.1)
直接注释那行,就编译头通过了。
2025-06-10 18:08:51
148
原创 用C语言检验字符串是否符合ip:端口模式(ai写的)
今天用ai实现了一个功能,c语言检验字符串是否符合ip:端口模式,如果让我自己来写的话,估计得三四个小时,这个几秒钟的功夫,太省心了,水篇文章做个纪念吧。所以当今的程序员比过去的要更幸运吧。
2025-03-19 17:58:17
303
原创 路径作为字符串后面不能有空格,不然会找不到该文件或文件夹
今天用"/customer/app/ringback_tone.wav"传入某个函数作为参数的时候ringback_tone.wav后面有个空格导致后面程序利用这个参数的时候找不到该文件。所以该参数的正确格式是"/customer/app/ringback_tone.wav",注意ringback_tone.wav后面没有空格。
2025-01-17 17:59:42
127
原创 16进制字符数组转换成10进制数字
将str_dec[10] = {11,22,33,44,55}转换成最终数字1122334455。对应的dec 值也是73,588,229,205,证明我的算法是对的。相当于将0x1122334455 装换成10进制数字的效果。用电脑计算器在hex上输入1122334455。将str_hex[10] 转换成10进制数字。dec_value 是10进制算法参考值。
2024-09-11 12:08:46
415
原创 当char[]中的字符串中间有0x00时,strlen 不能统计16进制的数字的字符串char[]的字符实际个数
最近在处理接收开发板串口传过来的字符时候,都是些0x11.0x22.0x233.0x33.0x44.0x55.之类的字符,比如下图代码。可是在虚拟机上打印16进制char 数组的strlen时,却是正常的。n = 5 是正常的字符个数。这是为什么呢,做个记录吧。
2024-09-01 20:08:12
310
原创 select函数延时机制的一些探索
如图中代码所示usleep 10000 us 延时使得select函数有时间更新readfds集合中套接字状态值,原先使用的是MUL_PRINTF打印函数,歪打正着产生延时效果,后干脆使用usleep延时函数果然可以,也就是说selcect监听套接字集合,并不是同时产生检测到它们的状态变化,A套接字有消息,还要过一段时间才能检测到B套接字是否有消息,延时一会,才能用FD_ISSET(g_Multicast_test.broadcast_fd[i], &readfds)准确判断该套接字的状态。
2024-04-22 17:18:06
337
1
原创 UBI 文件appfs文件系统升级的实现过程
所以我加了sleep 10 等待10s再执行,但是只能减少挂载失败的概率。睡眠时间越长挂载失败的概率越低。但是还是不能杜绝这种现象发生。最近在将appfs的ubi文件系统更新挂载在nandflash的mtd4分区,琢磨的出来的指令如下。要想完全杜绝这种现象需要重启,重启之后没有该设备的挂载的信息,这样就可以避免卸载失败的现象。但是上面那部分指令有个问题,在嵌入式软件上执行的时候卸载指令的时候会出现下面这种情况。上面的指令只能作为参考,读者在应用启动脚本的烧写指令时候需要某些逻辑调整。
2023-11-13 19:05:56
578
原创 UBI mount:mounting /dev/ubi0_1 on /mnt/apps on /mnt/apps failed: No such file or directory 这种问题解决办法
对ubi0_0挂载的ubi0:rootfs 文件内容进行一些读写操作后,比如cp /mnt/apps/config到/etc/当中,再进行软件升级操作,再按照步骤1进行操作,再启动时没有发现出现这个现象。前一段时间我做了ubi 文件系统,可是升级软件文件后,也就是将/mnt/apps里面的文件全部用cp指令拷贝新的同名文件覆盖旧的同名文件、便出现上图这种情况。1、2步骤操作20多次后,系统挂载文件系统的时候并没有出现上图的状况了。2、后来没有出现这种情况了 ,升级了五六次又重新出现上图这种事情了。
2023-10-24 14:28:39
587
原创 chipselect 0 already in use 这种问题的解决思路
刚开始以为是linux 内核代码出了问题,里面有bug,后来换了一个版本的内核源码,发现没有这个问题,确定硬件没有问题,并且给旧的源码更换了正常运行的内核的sun8i-v3s-licheepi-zero.dts,结果还是出现设备树文件 chipselect 0 already in use这个错误,于是钻研了很久,以为chipselect 0 该设备已经被占用,肯定是设备树出了问题,内核在启用驱动设备的过程中已经占用了chipselect 0。打印没有加成功,加上有别的事情这个问题就先挂着了。
2023-08-07 16:03:23
1100
2
原创 jffs2_scan_eraseblock(): Magic bitmask 0x1985 的解决办法
于是尝试将menuconfig 中的 Device Drivers > Memory Technology Device (MTD) support > SPI-NOR device support->Use small 4096 B erase sectors 选项取消选中,将[*]改为[ ],如下图。在网上找了很多网页资料,这是由于flash 不支持4k块擦除导致的,需要在spi-nor.c中将。最近在给V3S的flash烧录jffs文件系统镜像结果出现了如下图所示这种打印。
2023-07-06 18:55:22
2276
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅