编程
RIGOU精电科技
毕业于中国家里蹲坑技大学,资深栈溢出工程师。
展开
-
记一次systick不中断故障排除
移植FreeRTOS,只运行一个任务,不能进行任务的调度和切换,倒也不fault,后来经过单步调试,发现xPortSysTickHandler函数断不下来,也就是说systick中断一直被屏蔽了,也就导致FreeRTOS不能进行任务切换,也不能抢占。继续寻找原因发现执行taskENTER_CRITICAL()之后,按理要执行taskEXIT_CRITICAL(),结果我没看仔细将宏搞错了,执行了taskENTER_CRITICAL_FROM_ISR(),然后就吡了,相当于程序一直在临界区,systick .原创 2020-07-03 11:21:11 · 932 阅读 · 0 评论 -
QT编译在注释中遇到意外的文件结束
QT版本:5.13取消函数外的/************************************/类型注释,就可以编译通过,原因未知,或者函数外的/************************************/类型注释用//替代。原创 2020-06-03 12:45:11 · 801 阅读 · 0 评论 -
多用户无法使用的问题
1.配置多用户,编辑s*s的脚本配置文件vi /etc/shadowsocks.json打开以后将原来的删掉,用一下内容替代,port_password根据用户数量添加,格式:"端口":"密码"{ "server":"0.0.0.0", "local_address": "127.0.0.1", "local_port":1080, "port_password": { "2333":"mima12345", "6666":"mima1234...原创 2020-05-09 14:02:18 · 329 阅读 · 0 评论 -
lwip select函数分析和优化
我的设备有两个网卡,我需要开两路socket,一路UDP,一路TCP,lwip的版本是1.4.1的,实际运行发现,UDP 运行一段时间以后挂了,通信挂了,线程继续运行,调试发现select 函数读取read_fds.fd_bits始终等于0,导致UDP发回来的数据不能被读取,UDP线程像死了一样。 FD_SET(sockfd,&read_fds); s...原创 2020-03-27 17:17:01 · 5403 阅读 · 2 评论 -
修复LWIP_ASSERT ("p->ref == 1",p->ref == 1)bug
问题出现在1.4.1版本的版本问题出在ip.c修复加入之后,问题成功解决。参考:https://lists.gnu.org/archive/html/lwip-devel/2012-10/msg00028.html原创 2020-02-25 19:48:49 · 1295 阅读 · 0 评论 -
TM4C Hibernate RTC实现
项目有个地方需要RTC,我研究了TM4C Hibernate RTC的Demo,发现了一些问题。TM4C Hibernate实现RTC有个主意的地方就是不能用官方给的demo,我的平台是TM4C1294KCPDT,用官方的demo,调试发现卡在HibernateEnableExpClk(SysCtlClockGet())里,不能用,研究库源码发现这个函数仅仅是置位HIBCTL寄存器的CLK32...原创 2020-02-20 17:38:16 · 723 阅读 · 0 评论 -
TM4C1294移植FreeRTOS注意事项
在Ti的TM4C1294平台上移植FreeRTOS和在STM32上基本移植,但有一点需要注意,就是中断的优先级设置,stm32优先级分组是4位,而TM4C是三位。具体参考TM4C的datasheet的APINT寄存器的说明。在裸机的状态下,中断可以设置抢占优先级和从优先级,在FreeRTOS里,中断只有抢占优先级,没有从优先级,所以优先级分组必须全部设置成抢占式,否则会有异常。所以在TM4...原创 2020-09-16 16:38:28 · 639 阅读 · 0 评论 -
LWIP+FreeRTOS双网卡调试笔记
软件版本:FreeRTOS10,lwip1.4.1平台:Ti TM4C1294开发环境:CCS 6问题:网卡1能够ping通,网卡2无法ping通解决办法:通过打开LWIP_DEBUG选项,然后打开IP_DEBUG选项跟踪调试,发现执行到如下代码内,导致ping不通也就是说netif =NULL,导致ping不通,我单步跟踪了消息队列内的网卡,发现不是NULL,那说明问题...原创 2020-09-16 16:38:54 · 1752 阅读 · 0 评论 -
LWIP+FreeRTOS调试笔记
问题:LwipAssert:memp_malloc: memp properly aligned和memp_free: mem properly aligned解决方法:FreeRTOS自身会设置Systick等中断的优先级,具体看port.c文件,如下图:而我在其他地方重新设置了Systick的中断优先级,打乱了FreeRTOS的设置,导致不能进行临界段保护,即进入了临界段,依然会发...原创 2020-09-16 16:40:13 · 540 阅读 · 0 评论 -
lwip1.4.1双网卡调试笔记
平台:Ti TM4C1294网卡1:TM4C1294内置网卡网卡2:亚信AX88796B,兼容NE2000标准网卡,接口类型ISA16bit,TM4C EPI驱动面临问题:在ARP协议调通的情况下(其他主机可以识别此网卡),TM4C内置网卡可以ping通,外置网卡ping不通。通过抓包发现是校验问题导致问题分析:由于内置网卡可以进行硬件校验,所以关闭了软件生成校验的宏定...原创 2020-09-16 16:37:35 · 1200 阅读 · 0 评论 -
C语言字浮点字符串转化为浮点数据
#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <stdlib.h>double str2double(char *str){ double Int=0.0, Dec=0.0,Result; int i,le...原创 2018-05-04 21:18:45 · 1959 阅读 · 0 评论